กําหนดเวลาในการพัฒนาแบบจําลอง DirectQuery
แบบจําลอง DirectQuery ประกอบด้วยตารางที่มีคุณสมบัติโหมดที่เก็บข้อมูลตั้งค่าเป็น DirectQuery และอยู่ในกลุ่มแหล่งข้อมูลเดียวกัน
กลุ่มแหล่งข้อมูลคือชุดของตารางแบบจําลองที่เกี่ยวข้องกับแหล่งข้อมูล มีสองชนิด:
- นําเข้า – แสดงตารางโหมดที่เก็บข้อมูลการนําเข้าทั้งหมด รวมถึงตารางที่มีการคํานวณ สามารถมีกลุ่มแหล่งข้อมูลการนําเข้าได้เพียงกลุ่มเดียวในแบบจําลอง
- DirectQuery – แสดงตารางโหมดที่เก็บข้อมูล DirectQuery ทั้งหมดที่เกี่ยวข้องกับแหล่งข้อมูลที่ระบุ
หมายเหตุ
แบบจําลองการนําเข้าและแบบจําลอง DirectQuery ประกอบด้วยกลุ่มแหล่งข้อมูลเดียวเท่านั้น เมื่อมีกลุ่มแหล่งข้อมูลมากกว่าหนึ่งกลุ่ม เฟรมเวิร์กแบบจําลองจะถูกเรียกว่าโมเดลแบบรวม โมเดลแบบรวมมีการอธิบายไว้ในหน่วยที่ 5
ประโยชน์ของแบบจําลอง DirectQuery
มีประโยชน์มากมายในการพัฒนาแบบจําลอง DirectQuery
สร้างแบบจําลองแหล่งข้อมูลขนาดใหญ่หรือเปลี่ยนแปลงอย่างรวดเร็ว
แบบจําลอง DirectQuery เป็นตัวเลือกเฟรมเวิร์กที่ยอดเยี่ยมเมื่อข้อมูลต้นทางของคุณแสดงปริมาณและ/หรือลักษณะความเร็ว เนื่องจากตาราง DirectQuery ไม่จําเป็นต้องรีเฟรช จึงเหมาะสมกับที่เก็บข้อมูลขนาดใหญ่ เช่น คลังข้อมูล การนําเข้าคลังข้อมูลทั้งหมดลงในแบบจําลองจะเป็นไปโดยไม่ได้ผลและไม่มีประสิทธิภาพ เมื่อข้อมูลต้นฉบับเปลี่ยนแปลงอย่างรวดเร็วและผู้ใช้จําเป็นต้องดูข้อมูลปัจจุบัน แบบจําลอง DirectQuery สามารถให้ผลลัพธ์ใกล้เคียงกับคิวรีแบบเรียลไทม์
เมื่อรายงานคิวรีแบบจําลอง DirectQuery แล้ว Power BI จะส่งผ่านคิวรีเหล่านั้นไปยังแหล่งข้อมูลพื้นฐาน
บังคับใช้ 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