ใช้ DirectQuery ใน Power BI Desktop

เมื่อคุณเชื่อมต่อกับแหล่งข้อมูลใด ๆ ด้วย Power BI Desktop คุณสามารถนําเข้าสําเนาของข้อมูลได้ สําหรับบางแหล่งข้อมูล คุณยังสามารถเชื่อมต่อโดยตรงไปยังแหล่งข้อมูลโดยไม่ต้องนําเข้าข้อมูลโดยใช้ DirectQuery

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

ต่อไปนี้คือความแตกต่างระหว่างการใช้โหมดนําเข้าและโหมดการเชื่อมต่อ DirectQuery:

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

  • DirectQuery: ไม่มีการนําเข้าข้อมูลไปยัง Power BI Desktop สําหรับแหล่งข้อมูลเชิงสัมพันธ์ คุณสามารถเลือกตารางและคอลัมน์ที่จะปรากฏในรายการเขตข้อมูล Power BI Desktop ได้ สําหรับแหล่งข้อมูลหลายมิติ เช่น SAP Business Warehouse (SAP BW) ขนาดและหน่วยวัดของคิวบ์ที่เลือกจะปรากฏในรายการเขตข้อมูล เมื่อคุณสร้างหรือโต้ตอบกับการจัดรูปแบบการแสดงข้อมูล Power BI Desktop จะคิวรีแหล่งข้อมูลพื้นฐาน ดังนั้นคุณกําลังดูข้อมูลที่เป็นปัจจุบันอยู่เสมอ

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

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

ประโยชน์ของ DirectQuery

ประโยชน์บางประการของการใช้ DirectQuery ประกอบด้วย:

  • DirectQuery ช่วยให้คุณสามารถสร้างการแสดงภาพผ่านแบบจําลองความหมายที่มีขนาดใหญ่มาก ซึ่งการนําเข้าข้อมูลทั้งหมดที่มีการรวมข้อมูลไว้ล่วงหน้าอาจทําได้ยาก

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

  • ข้อจํากัดของแบบจําลองความหมาย 1 GB ไม่ได้ใช้กับ DirectQuery

เชื่อมต่อโดยใช้ DirectQuery

วิธีการเชื่อมต่อกับแหล่งข้อมูลด้วย DirectQuery:

  1. ในกลุ่ม หน้าแรก ของริบบอน Power BI Desktop ให้เลือก รับข้อมูล จากนั้นเลือกแหล่งข้อมูลที่ DirectQuery สนับสนุน เช่น SQL Server

  2. ในกล่องโต้ตอบสําหรับการเชื่อมต่อภายใต้โหมดการเชื่อมต่อข้อมูล ให้เลือก DirectQuery

ตัวเลือกนําเข้าและ DirectQuery, กล่องโต้ตอบ SQL Server Database, Power BI Desktop

เผยแพร่ไปยังบริการของ Power BI

คุณสามารถเผยแพร่รายงาน DirectQuery ไปยังบริการของ Power BI ได้ แต่คุณจําเป็นต้องดําเนินการขั้นตอนเพิ่มเติมสําหรับบริการของ Power BI เพื่อเปิดรายงาน

  • หากต้องการเชื่อมต่อบริการของ Power BI กับแหล่งข้อมูล DirectQuery นอกเหนือจากฐานข้อมูล Azure SQL, Azure Synapse Analytics (ชื่อเดิมคือ SQL Data Warehouse), Amazon Redshift และ Snowflake Data Warehouse ติดตั้งเกตเวย์ข้อมูลภายในองค์กรและลงทะเบียนแหล่งข้อมูล

  • ถ้าคุณใช้ DirectQuery กับแหล่งข้อมูลบนระบบคลาวด์ เช่น Azure SQL Database, Azure Synapse, Amazon Redshift หรือ Snowflake Data Warehouse คุณไม่จําเป็นต้องมีเกตเวย์ข้อมูลภายในองค์กร คุณยังต้องระบุข้อมูลประจําตัวสําหรับบริการของ Power BI เพื่อเปิดรายงานที่เผยแพร่ หากไม่มีข้อมูลประจําตัว ข้อผิดพลาดจะเกิดขึ้นเมื่อคุณพยายามเปิดรายงานที่เผยแพร่หรือสํารวจแบบจําลองความหมายที่สร้างขึ้นด้วยการเชื่อมต่อ DirectQuery

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

  1. ในบริการของ Power BI ให้เลือกไอคอนรูปเฟืองที่มุมขวาบน แล้วเลือกการตั้งค่า

    สกรีนช็อตของเมนูดรอปดาวน์ของบริการของ Power BI การตั้งค่า

  2. บนหน้าการตั้งค่า ให้เลือกแท็บ แบบจําลองความหมาย และเลือกแบบจําลองความหมายที่ใช้ DirectQuery

  3. ภายใต้ การเชื่อมต่อแหล่งข้อมูล ใส่ข้อมูลประจําตัวเพื่อเชื่อมต่อกับแหล่งข้อมูล

หมายเหตุ

ถ้าคุณใช้ DirectQuery กับฐานข้อมูล Azure SQL ที่มีที่อยู่ IP ส่วนตัว คุณจําเป็นต้องใช้เกตเวย์ภายในองค์กร

ข้อควรพิจารณาและข้อจำกัด

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

ข้อควรพิจารณาด้านประสิทธิภาพและโหลด

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

การโหลดบนฐานข้อมูลต้นทางยังขึ้นอยู่กับจํานวนผู้ใช้ Power BI ที่ใช้รายงานที่เผยแพร่ โดยเฉพาะอย่างยิ่งถ้ารายงานใช้การรักษาความปลอดภัยระดับแถว (RLS) การรีเฟรชไทล์แดชบอร์ดที่ไม่ใช่ RLS ที่ใช้ร่วมกันโดยผู้ใช้หลายคนส่งคิวรีเดียวไปยังฐานข้อมูล แต่การรีเฟรชไทล์แดชบอร์ดที่ใช้ RLS จําเป็นต้องมีหนึ่งคิวรีต่อผู้ใช้ คิวรีที่เพิ่มขึ้นอย่างมากช่วยเพิ่มการโหลดและอาจส่งผลต่อประสิทธิภาพการทํางาน

ขีดจํากัดแถวหนึ่งล้านแถว

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

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

ข้อจํากัดของแถวจะไม่นําไปใช้กับการรวมหรือการคํานวณที่ใช้ในการเลือก DirectQuery ของแบบจําลองความหมายที่ส่งกลับเฉพาะกับแถวที่ส่งกลับเท่านั้น ตัวอย่างเช่น คิวรีที่ทํางานบนแหล่งข้อมูลสามารถรวมแถวได้ 10,000,000 แถว ตราบใดที่ข้อมูลที่ส่งกลับไปยัง Power BI น้อยกว่า 1,000,000 แถว คิวรีจะสามารถส่งกลับผลลัพธ์ได้อย่างแม่นยํา ถ้าข้อมูลมีแถวมากกว่า 1,000,000 แถว Power BI แสดงข้อผิดพลาด ยกเว้นในความจุ Premium ที่มีขีดจํากัดการตั้งค่าผู้ดูแลระบบที่แตกต่างกัน สถานะข้อผิดพลาด: ชุดผลลัพธ์ของคิวรีต่อแหล่งข้อมูลภายนอกเกินขนาดสูงสุดที่ได้รับอนุญาตของแถว '10000000' แถว

ข้อควรพิจารณาด้านความปลอดภัย

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

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

ข้อจํากัด DirectQuery อื่น ๆ

ข้อจํากัดอื่น ๆ ของการใช้ DirectQuery ประกอบด้วย:

  • ถ้าคิวรีตัวแก้ไข Power Query ซับซ้อนเกินไป จะเกิดข้อผิดพลาด เมื่อต้องการแก้ไขข้อผิดพลาด คุณต้องลบขั้นตอนที่มีปัญหาในตัวแก้ไข Power Query หรือสลับไปยังโหมดการนําเข้า แหล่งข้อมูลหลายมิติ เช่น SAP BW ไม่สามารถใช้ตัวแก้ไข Power Query ได้

  • ลําดับชั้นของวันที่/เวลาอัตโนมัติไม่พร้อมใช้งานใน DirectQuery โหมด DirectQuery ไม่รองรับการดูรายละเอียดแนวลึกของคอลัมน์วันที่ตามปี ไตรมาส เดือน หรือวัน

  • สําหรับการแสดงภาพข้อมูลของตารางหรือเมทริกซ์ มีขีดจํากัด 125 คอลัมน์สําหรับผลลัพธ์ที่ส่งกลับมากกว่า 500 แถวจากแหล่งที่มา DirectQuery ผลลัพธ์เหล่านี้แสดงแถบเลื่อนในตารางหรือเมทริกซ์ที่ช่วยให้คุณดึงข้อมูลเพิ่มเติมได้ ในสถานการณ์นั้น จํานวนคอลัมน์สูงสุดในตารางหรือเมทริกซ์คือ 125 ถ้าคุณต้องรวมคอลัมน์มากกว่า 125 คอลัมน์ในตารางหรือเมทริกซ์เดียว ให้พิจารณาการสร้างหน่วยวัดที่ใช้ MIN, MAX, FIRSTหรือ LASTเนื่องจากไม่ได้นับรวมกับค่าสูงสุดนี้

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

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