กําหนดเวลาในการพัฒนาแบบจําลอง DirectQuery

เสร็จสมบูรณ์เมื่อ

แบบจําลอง DirectQuery ประกอบด้วยตารางที่มีคุณสมบัติโหมดที่เก็บข้อมูลตั้งค่าเป็น DirectQuery และอยู่ในกลุ่มแหล่งข้อมูลเดียวกัน

กลุ่มแหล่งข้อมูลคือชุดของตารางแบบจําลองที่เกี่ยวข้องกับแหล่งข้อมูล มีสองชนิด:

  • นําเข้า – แสดงตารางโหมดที่เก็บข้อมูลการนําเข้าทั้งหมด รวมถึงตารางที่มีการคํานวณ สามารถมีกลุ่มแหล่งข้อมูลการนําเข้าได้เพียงกลุ่มเดียวในแบบจําลอง
  • DirectQuery – แสดงตารางโหมดที่เก็บข้อมูล DirectQuery ทั้งหมดที่เกี่ยวข้องกับแหล่งข้อมูลที่ระบุ

หมายเหตุ

แบบจําลองการนําเข้าและแบบจําลอง DirectQuery ประกอบด้วยกลุ่มแหล่งข้อมูลเดียวเท่านั้น เมื่อมีกลุ่มแหล่งข้อมูลมากกว่าหนึ่งกลุ่ม เฟรมเวิร์กแบบจําลองจะถูกเรียกว่าโมเดลแบบรวม โมเดลแบบรวมมีการอธิบายไว้ในหน่วยที่ 5

ประโยชน์ของแบบจําลอง DirectQuery

มีประโยชน์มากมายในการพัฒนาแบบจําลอง DirectQuery

สร้างแบบจําลองแหล่งข้อมูลขนาดใหญ่หรือเปลี่ยนแปลงอย่างรวดเร็ว

แบบจําลอง DirectQuery เป็นตัวเลือกเฟรมเวิร์กที่ยอดเยี่ยมเมื่อข้อมูลต้นทางของคุณแสดงปริมาณและ/หรือลักษณะความเร็ว เนื่องจากตาราง DirectQuery ไม่จําเป็นต้องรีเฟรช จึงเหมาะสมกับที่เก็บข้อมูลขนาดใหญ่ เช่น คลังข้อมูล การนําเข้าคลังข้อมูลทั้งหมดลงในแบบจําลองจะเป็นไปโดยไม่ได้ผลและไม่มีประสิทธิภาพ เมื่อข้อมูลต้นฉบับเปลี่ยนแปลงอย่างรวดเร็วและผู้ใช้จําเป็นต้องดูข้อมูลปัจจุบัน แบบจําลอง DirectQuery สามารถให้ผลลัพธ์ใกล้เคียงกับคิวรีแบบเรียลไทม์

เมื่อรายงานคิวรีแบบจําลอง DirectQuery แล้ว Power BI จะส่งผ่านคิวรีเหล่านั้นไปยังแหล่งข้อมูลพื้นฐาน

แผนภาพแสดงแบบจําลอง DirectQuery แบบดาว เมื่อรายงาน Power B I คิวรีแบบจําลอง Power BI จะส่งผ่านคิวรีเหล่านั้นไปยังแหล่งข้อมูลพื้นฐาน ในกรณีนี้คือฐานข้อมูล Azure S Q L

บังคับใช้ RLS ต้นทาง

DirectQuery ยังมีประโยชน์เมื่อฐานข้อมูลต้นทางบังคับใช้การรักษาความปลอดภัยระดับแถว (RLS) แทนที่จะทําซ้ํากฎ RLS ในแบบจําลอง Power BI ของคุณ ฐานข้อมูลต้นฉบับสามารถบังคับใช้กฎได้ วิธีการนี้ใช้ได้เฉพาะสําหรับฐานข้อมูลเชิงสัมพันธ์บางฐานข้อมูลเท่านั้น และเกี่ยวข้องกับการตั้งค่าการลงชื่อเข้าระบบครั้งเดียวสําหรับแหล่งข้อมูลชุดข้อมูล สําหรับข้อมูลเพิ่มเติม ดูฐานข้อมูล Azure SQL ที่มี DirectQuery

ข้อจํากัดด้านอํานาจข้อมูล

หากองค์กรของคุณมีนโยบายด้านความปลอดภัยที่จํากัดข้อมูลที่ออกจากองค์กรของพวกเขา จะไม่สามารถนําเข้าข้อมูลได้ แบบจําลอง DirectQuery ที่เชื่อมต่อกับแหล่งข้อมูลภายในองค์กรอาจเหมาะสม (คุณยังสามารถพิจารณาติดตั้ง เซิร์ฟเวอร์รายงาน Power BI สําหรับการรายงานภายในองค์กร)

สร้างชุดข้อมูลเฉพาะ

โดยทั่วไปโหมด DirectQuery จะสนับสนุนแหล่งฐานข้อมูลเชิงสัมพันธ์ เนื่องจาก Power BI ต้องแปลคิวรีการวิเคราะห์เป็นคิวรีในระบบที่เข้าใจได้โดยแหล่งข้อมูล

อย่างไรก็ตาม มีข้อยกเว้นหนึ่งข้อที่มีประสิทธิภาพ คุณสามารถเชื่อมต่อกับชุดข้อมูล Power BI (หรือแบบจําลอง Azure Analysis Services) และแปลงเป็นแบบจําลองภายในเครื่อง DirectQuery ได้ แบบจําลองภายในเครื่องเป็นคําสัมพัทธ์ที่อธิบายความสัมพันธ์ของแบบจําลองกับแบบจําลองอื่น ในกรณีนี้ ชุดข้อมูลต้นฉบับเป็นแบบจําลองระยะไกล และชุดข้อมูลใหม่เป็นแบบจําลองภายในเครื่อง แบบจําลองเหล่านี้เป็นแบบเกี่ยวโยง ซึ่งเป็นคําที่ใช้เพื่ออธิบายแบบจําลองที่เกี่ยวข้อง คุณสามารถเกี่ยวโยงแบบจําลองได้ถึงสามแบบด้วยวิธีนี้

ความสามารถในการเกี่ยวโยงแบบจําลองนี้สนับสนุนศักยภาพในการปรับแต่งและ/หรือขยายแบบจําลองระยะไกล สิ่งที่ง่ายที่สุดที่คุณสามารถทําได้คือการเปลี่ยนชื่อออบเจ็กต์ เช่น ตารางหรือคอลัมน์ หรือเพิ่มหน่วยวัดไปยังแบบจําลองภายในเครื่อง คุณยังสามารถขยายแบบจําลองด้วยคอลัมน์จากการคํานวณหรือตารางที่มีการคํานวณ หรือเพิ่มการนําเข้าใหม่หรือตาราง DirectQuery ได้ อย่างไรก็ตาม ส่วนขยายเหล่านี้ทําให้เกิดการสร้างกลุ่มแหล่งข้อมูลใหม่ ซึ่งหมายความว่าแบบจําลองจะกลายเป็นโมเดลแบบรวม สถานการณ์ดังกล่าวได้อธิบายไว้ใน หน่วย 5

สําหรับข้อมูลเพิ่มเติม โปรดดูการใช้ DirectQuery สําหรับชุดข้อมูล Power BI และบริการวิเคราะห์ Azure

ข้อจํากัดของแบบจําลอง DirectQuery

มีข้อจํากัดมากมายที่เกี่ยวข้องกับแบบจําลอง DirectQuery ที่คุณต้องคํานึงถึง ข้อจํากัดหลักมีดังนี้:

  • ไม่ใช่แหล่งข้อมูลทั้งหมดที่ได้รับการสนับสนุน โดยทั่วไประบบฐานข้อมูลเชิงสัมพันธ์หลักเท่านั้นที่ได้รับการสนับสนุน ชุดข้อมูล Power BI และแบบจําลอง Azure Analysis Services ได้รับการสนับสนุนเช่นกัน

  • การแปลง Power Query (M) ทั้งหมดไม่สามารถทําได้ เนื่องจากคิวรีเหล่านี้ต้องแปลเป็นคิวรีในระบบที่เข้าใจได้โดยระบบต้นทาง ตัวอย่างเช่น ไม่สามารถใช้การแปลงแบบ pivot หรือ unpivot ได้

  • ประสิทธิภาพของคิวรีการวิเคราะห์อาจช้าโดยเฉพาะอย่างยิ่งถ้าระบบต้นทางไม่ได้รับการปรับให้เหมาะสม (ด้วยดัชนีหรือมุมมองที่เป็นรูปธรรม) หรือมีทรัพยากรไม่เพียงพอสําหรับปริมาณงานวิเคราะห์

  • คิวรีการวิเคราะห์อาจส่งผลกระทบต่อประสิทธิภาพของระบบต้นทาง ซึ่งอาจส่งผลให้ประสบการณ์การใช้งานช้าลงสําหรับปริมาณงานทั้งหมด รวมถึงการดําเนินการ OLTP

เพิ่มประสิทธิภาพของแบบจําลอง DirectQuery

เมื่อมีเหตุผลในการพัฒนาแบบจําลอง DirectQuery คุณสามารถลดข้อจํากัดบางอย่างได้ในสองวิธี

การปรับแหล่งข้อมูลให้เหมาะสม

คุณสามารถปรับฐานข้อมูลต้นทางให้เหมาะสมเพื่อให้แน่ใจว่าปริมาณงานคิวรีการวิเคราะห์ที่คาดไว้ดําเนินการได้ดี โดยเฉพาะ คุณสามารถสร้างดัชนีและมุมมองที่เป็นเนื้อหา และทําให้แน่ใจว่าฐานข้อมูลมีทรัพยากรเพียงพอสําหรับปริมาณงานทั้งหมด

เคล็ดลับ

เราขอแนะนําให้คุณทํางานร่วมกันกับเจ้าของฐานข้อมูลเสมอ สิ่งสําคัญคือพวกเขาเข้าใจปริมาณงานเพิ่มเติมที่แบบจําลอง DirectQuery สามารถวางบนฐานข้อมูลได้

ตารางการรวมที่ผู้ใช้กําหนดเองของ DirectQuery

คุณสามารถเพิ่มตารางการรวมที่ผู้ใช้กําหนดเองไปยังแบบจําลอง DirectQuery ได้ ตารางการรวมที่ผู้ใช้กําหนดเองเป็นตารางแบบจําลองพิเศษที่ซ่อน (จากผู้ใช้ การคํานวณ และ RLS) ซึ่งทํางานได้ดีที่สุดเมื่อเป็นไปตามคิวรีการวิเคราะห์ที่สูงกว่าเมื่อเทียบกับตารางข้อเท็จจริงขนาดใหญ่ เมื่อคุณตั้งค่าตารางการรวมเพื่อใช้โหมดที่เก็บข้อมูล DirectQuery จะสามารถคิวรีมุมมองที่สรุปได้ในแหล่งข้อมูล คุณยังสามารถตั้งค่าตารางการรวมเพื่อใช้โหมดพื้นที่เก็บข้อมูลนําเข้าหรือเปิดใช้งานการรวมอัตโนมัติและตัวเลือกเหล่านี้จะอธิบายไว้ในหน่วยที่ 4

สําหรับข้อมูลเพิ่มเติม โปรดดูคําแนะนําแบบจําลอง DirectQuery ใน Power BI Desktop