ใช้ประมาณการตั้งค่า Referential Integrity ใน Power BI Desktop
เมื่อเชื่อมต่อกับแหล่งข้อมูลโดยใช้ DirectQuery คุณสามารถใช้ การเลือก ประมาณ referential integrity เพื่อเปิดใช้งานการเรียกใช้คิวรีที่มีประสิทธิภาพมากขึ้นกับแหล่งข้อมูลของคุณได้ คุณลักษณะนี้มีข้อกําหนดบางอย่างของข้อมูลต้นแบบ และจะพร้อมใช้งานเมื่อใช้ DirectQuery เท่านั้น
การตั้งค่า ประมาณ referential integrity จะเปิดใช้งานคิวรีบนแหล่งข้อมูลเพื่อใช้ คําสั่ง INNER JOIN แทน OUTER JOIN ซึ่งช่วยปรับปรุงประสิทธิภาพคิวรี
ข้อกําหนดสําหรับการใช้ประมาณ referential integrity
การตั้งค่านี้เป็นการตั้งค่าขั้นสูง และจะเปิดใช้งานเมื่อเชื่อมต่อกับข้อมูลโดยใช้ DirectQuery เท่านั้น ข้อกําหนดต่อไปนี้เป็นสิ่งจําเป็นสําหรับ ประมาณ referential integrity เพื่อให้ทํางานอย่างถูกต้อง:
- ข้อมูลใน คอลัมน์ From ในความสัมพันธ์ไม่ เป็น Null หรือ ว่างเปล่า
- สําหรับแต่ละค่าในคอลัมน์ From ไม่มีค่าที่สอดคล้องกันในคอลัมน์ To
ในบริบทนี้ คอลัมน์ From คือ กลุ่มในความสัมพันธ์แบบหนึ่งต่อกลุ่ม หรือเป็นคอลัมน์ในตารางแรกในความสัมพันธ์แบบหนึ่งต่อหนึ่ง
ตัวอย่างของการใช้ประมาณ Referential Integrity
ตัวอย่างต่อไปนี้สาธิตลักษณะการทํางาน ประมาณ referential integrity เมื่อใช้ในการเชื่อมต่อข้อมูล ตัวอย่างจะเชื่อมต่อกับแหล่งข้อมูลที่มีตาราง Orders ตาราง Products และตาราง Depots
ในรูปต่อไปนี้ที่แสดงตาราง Orders และตาราง Products Referential Integrity จะมีอยู่ระหว่าง Orders[ProductID] กับ Products[ProductID] คอลัมน์ [ProductID] ในตาราง Orders จะไม่ เป็น Null และทุกค่ายังปรากฏใน ตาราง Products ด้วย ดังนั้น ประมาณ referential integrity จึงควรถูกตั้งค่าเพื่อรับคิวรีที่มีประสิทธิภาพมากขึ้น การใช้การตั้งค่านี้จะไม่เปลี่ยนแปลงค่าที่แสดงในวิชวล
ในภาพถัดไป โปรดสังเกตว่าไม่มี referential integrity เกิดขึ้นระหว่าง Orders[DepotID] กับ Depots[DepotID] เนื่องจาก DepotID เป็น Null สําหรับบาง Orders ดังนั้น ประมาณ referential integrity จึง ไม่ควร ถูกตั้งค่า
สุดท้าย ไม่มี referential integrity เกิดขึ้นระหว่าง Orders[CustomerID] กับ Customers[CustID] ในตารางต่อไปนี้ CustomerID ประกอบด้วยค่า CustX ซึ่งไม่มีอยู่ในตาราง Customers ดังนั้น ประมาณ referential integrity จึง ไม่ควร ถูกตั้งค่า
การตั้งค่าการประมาณ referential integrity
เพื่อเปิดใช้งานคุณลักษณะนี้ เลือก ประมาณ referential integrity ดังที่แสดงในรูปต่อไปนี้
เมื่อเลือกแล้ว การตั้งค่าจะถูกตรวจสอบกับข้อมูลเพื่อให้แน่ใจว่าไม่มี Null หรือแถวที่ไม่ตรงกัน อย่างไรก็ตาม สําหรับกรณีที่มีจํานวนค่ามาก การตรวจสอบจะไม่สามารถรับประกันได้ว่าไม่มีปัญหาใด ๆ เกี่ยวกับ referential integrity
นอกจากนี้ การตรวจสอบจะเกิดขึ้นในเวลาที่มีการแก้ไขความสัมพันธ์ และจะไม่แสดงการเปลี่ยนแปลงใด ๆ กับข้อมูลในภายหลัง
เกิดอะไรขึ้นถ้าคุณตั้งค่าประมาณ referential integrity อย่างไม่ถูกต้อง
ถ้าคุณตั้งค่า ประมาณ referential integrity เมื่อไม่มีปัญหา referential integrity ในข้อมูล การตั้งค่านั้นจะไม่ส่งผลให้เกิดข้อผิดพลาด อย่างไรก็ตาม จะส่งผลให้เกิดความไม่สอดคล้องกันของข้อมูล ตัวอย่างเช่น สําหรับความสัมพันธ์กับตาราง Depots ที่อธิบายไว้ที่นี่ จะส่งผลดังต่อไปนี้:
- วิชวลที่แสดง Order Qty รวมจะแสดงค่า 40
- วิชวลที่แสดง Order Qty by Depot City รวมจะแสดงค่าผลรวมเพียง 30 เนื่องจากจะไม่รวม Order ID 1 ซึ่ง DepotID เป็น Null
เนื้อหาที่เกี่ยวข้อง
- เรียนรู้เพิ่มเติมเกี่ยวกับ DirectQuery
- รับข้อมูลเพิ่มเติมเกี่ยวกับ ความสัมพันธ์ใน Power BI
- เรียนรู้เพิ่มเติมเกี่ยวกับมุมมองแบบจําลองใน Power BI Desktop