แชร์ผ่าน


ความสัมพันธ์ของแบบจําลองใน Power BI Desktop

บทความนี้มุ่งเป้าหมายไปยังผู้สร้างแบบจําลองข้อมูลนําเข้าที่ทํางานกับ Power BI Desktop เป็นหัวข้อการออกแบบแบบจําลองที่สําคัญซึ่งจําเป็นสําหรับการนําเสนอแบบจําลองที่ใช้งานง่าย แม่นยํา และเหมาะสมที่สุด

สําหรับการสนทนาอย่างลึกซือเกี่ยวกับการออกแบบแบบจําลองที่เหมาะสมที่สุด รวมถึงบทบาทและความสัมพันธ์ของตาราง โปรดดู ทําความเข้าใจ Schema รูปดาวและความสําคัญสําหรับ Power BI

วัตถุประสงค์ของความสัมพันธ์

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

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

สิ่งสำคัญ

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

นี่คือวิธีที่ความสัมพันธ์เผยแพร่ตัวกรองด้วยตัวอย่างภาพเคลื่อนไหว

ไดอะแกรมแบบเคลื่อนไหวของการเผยแพร่ตัวกรองความสัมพันธ์

ในตัวอย่างนี้ แบบจําลองประกอบด้วยสี่ตาราง: Category, Product, Year, และ Sales ตาราง Category เชื่อมโยงกับตาราง Product และตาราง Product เชื่อมโยงกับตาราง Sales ตาราง Year ยังเกี่ยวข้องกับตาราง Sales ด้วย ความสัมพันธ์ทั้งหมดเป็นแบบหนึ่งต่อกลุ่ม (รายละเอียดจะอธิบายไว้ในส่วนหลังของบทความนี้)

คิวรีอาจสร้างโดยวิชวลการ์ด Power BI ร้องขอปริมาณยอดขายรวมสําหรับใบสั่งขายที่สร้างขึ้นสําหรับหมวดหมู่เดียว Cat-Aและสําหรับปีเดียว CY2018 นี่คือเหตุผลที่คุณสามารถเห็นตัวกรองที่ใช้กับตาราง ประเภท และตาราง ปี ตัวกรองบนตาราง Category เผยแพร่ไปยังตาราง Product เพื่อแยกผลิตภัณฑ์สองรายการที่กําหนดให้กับหมวดหมู่ Cat-A จากนั้น ตัวกรองตาราง Product เผยแพร่ไปยังตาราง Sales เพื่อแยกแถวยอดขายเพียงสองแถวสําหรับผลิตภัณฑ์เหล่านี้ แถวยอดขายทั้งสองนี้แสดงยอดขายของผลิตภัณฑ์ที่กําหนดให้กับหมวดหมู่ Cat-A ปริมาณรวมทั้งหมดคือ 14 หน่วย ในเวลาเดียวกัน ตัวกรองตาราง Year จะเผยแพร่เพื่อกรองตาราง Sales เพิ่มเติม ส่งผลให้มีเพียงแถวการขายแถวเดียวสําหรับผลิตภัณฑ์ที่กําหนดให้กับหมวดหมู่ cat-A และมีการสั่งซื้อในปี CY2018 ค่าปริมาณที่ส่งกลับโดยคิวรีคือ 11 หน่วย โปรดทราบว่าเมื่อตัวกรองหลายตัวถูกนําไปใช้กับตาราง (เช่นตาราง Sales ในตัวอย่างนี้) จะเป็นการดําเนินการ AND เสมอ โดยกําหนดให้เงื่อนไขทั้งหมดต้องเป็นจริง

ใช้หลักการออกแบบแบบจําลองมิติที่ดาว

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

รูปภาพต่อไปนี้เป็นไดอะแกรมแบบจําลองของแบบจําลองข้อมูลการวิเคราะห์การขายงานผจญภัย ซึ่งแสดงการออกแบบ Schema รูปดาวที่ประกอบด้วยตารางข้อเท็จจริงเดียวที่ชื่อ การขาย อีกสี่ตารางคือตารางมิติที่สนับสนุนการวิเคราะห์หน่วยวัดยอดขายตามวันที่ รัฐ ภูมิภาค และผลิตภัณฑ์ โปรดสังเกตความสัมพันธ์ของแบบจําลองที่เชื่อมต่อตารางทั้งหมด ความสัมพันธ์เหล่านี้เผยแพร่ตัวกรอง (โดยตรงหรือโดยอ้อม) ไปยังตาราง Sales

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

ตารางแบบไม่เชื่อมต่อ

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

พารามิเตอร์ what-if ของ Power BI Desktop เป็นคุณลักษณะที่สร้างตารางแบบไม่เชื่อมต่อ สําหรับข้อมูลเพิ่มเติม โปรดดู สร้างและใช้พารามิเตอร์ What if (เกิดอะไรขึ้นถ้า) เพื่อแสดงภาพตัวแปรใน Power BI Desktop

คุณสมบัติความสัมพันธ์

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

หมายเหตุ

ซึ่งเป็นไปไม่ได้ที่จะเชื่อมโยงคอลัมน์หนึ่งกับ คอลัมน์อื่นในตารางเดียวกัน แนวคิดนี้บางครั้งสับสนกับความสามารถในการกําหนดข้อจํากัดของคีย์นอก (foreign key) ในฐานข้อมูลเชิงสัมพันธ์ที่มีการอ้างอิงตัวเองของตาราง คุณสามารถใช้แนวคิดฐานข้อมูลเชิงสัมพันธ์นี้เพื่อจัดเก็บความสัมพันธ์แบบพ่อ-รอง (ตัวอย่างเช่น แต่ละเรกคอร์ดพนักงานเกี่ยวข้องกับพนักงาน "รายงานถึง") อย่างไรก็ตาม คุณไม่สามารถใช้ความสัมพันธ์ของแบบจําลองเพื่อสร้างลําดับชั้นของแบบจําลองตามความสัมพันธ์ชนิดนี้ได้ หากต้องการสร้างลําดับชั้นหลัก-รอง โปรดดู ฟังก์ชันหลักและรอง

ชนิดข้อมูลของคอลัมน์

ชนิดข้อมูลสําหรับทั้งคอลัมน์ "from" และ "to' ของความสัมพันธ์ควรเหมือนกัน การทํางานกับความสัมพันธ์ที่กําหนดไว้ในคอลัมน์ DateTime อาจไม่ทํางานตามที่คาดไว้ กลไกที่จัดเก็บข้อมูล Power BI จะใช้ชนิดข้อมูล DateTime เท่านั้น วันที่เวลา และ ชนิดข้อมูล วันที่/เวลา/โซนเวลา เป็นโครงสร้างการจัดรูปแบบของ Power BI ที่นําไปใช้ด้านบน วัตถุที่ขึ้นอยู่กับแบบจําลองใด ๆ จะยังคงปรากฏเป็น DateTime ในกลไกจัดการ (เช่น ความสัมพันธ์ กลุ่ม และอื่น ๆ) ด้วยเหตุนี้ ถ้าผู้ใช้เลือก วันที่ จากแท็บ แบบจําลอง สําหรับคอลัมน์ดังกล่าว พวกเขายังคงไม่ลงทะเบียนเป็นวันที่เดียวกัน เนื่องจากส่วนเวลาของข้อมูลยังคงถูกพิจารณาโดยกลไกจัดการ อ่านเพิ่มเติมเกี่ยวกับวิธีการจัดการชนิดวันที่/เวลา หากต้องการแก้ไขลักษณะการทํางาน ชนิดข้อมูลของคอลัมน์ควรได้รับการอัปเดตใน ตัวแก้ไข Power Query เพื่อลบส่วน เวลา ออกจากข้อมูลที่นําเข้า ดังนั้นเมื่อกลไกจัดการข้อมูล ค่าจะปรากฏเหมือนกัน

คาร์ดินาลลิตี้

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

หมายเหตุ

ถ้าการดําเนินการรีเฟรชข้อมูลพยายามโหลดค่าที่ซ้ํากันลงในคอลัมน์ด้าน "หนึ่ง" การรีเฟรชข้อมูลทั้งหมดจะล้มเหลว

ตัวเลือกทั้งสี่พร้อมกับเครื่องหมายแบบย่อจะอธิบายไว้ในรายการหัวข้อย่อยต่อไปนี้:

  • หนึ่งต่อกลุ่ม (1:*)
  • แบบกลุ่มต่อหนึ่ง (*:1)
  • หนึ่งต่อหนึ่ง (1:1)
  • กลุ่มต่อกลุ่ม (*:*)

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

คาร์ดินาลลิตี้หนึ่งต่อกลุ่ม (และแบบกลุ่มต่อหนึ่ง)

หนึ่งต่อกลุ่ม และ ตัวเลือกคาร์ดินาลลิตี้แบบกลุ่มต่อหนึ่ง หลัก ๆ แล้วเหมือนกัน และยังเป็นประเภทของคาร์ดินาลลิตี้ที่พบบ่อยที่สุดด้วย

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

คาร์ดินาลลิตี้แบบหนึ่งต่อหนึ่ง

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

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

คาร์ดินาลลิตี้แบบกลุ่มต่อกลุ่ม

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

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

หมายเหตุ

ประเภทของคาร์ดินาลลิตี้แบบกลุ่มต่อกลุ่มได้รับการสนับสนุนสําหรับแบบจําลองที่พัฒนาขึ้นสําหรับเซิร์ฟเวอร์รายงาน Power BI มกราคม 2024 และใหม่กว่า

เคล็ดลับ

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

สกรีนช็อตของสองตารางในไดอะแกรมแบบจําลองที่มีตัวบ่งชี้คาร์ดินาลลิตี้ที่เน้น

ทิศทางตัวกรองแบบข้าม

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

ประเภทของคาร์ดินาลลิตี้ ตัวเลือกตัวกรองข้าม
หนึ่งต่อกลุ่ม (หรือ กลุ่มต่อหนึ่ง) เดียว
ทั้งสอง
แบบหนึ่งต่อหนึ่ง ทั้งสอง
กลุ่มต่อกลุ่ม เดียว (Table1 ไปยัง Table2)
เดียว (Table2 ไปยัง Table1)
ทั้งสอง

ทิศทางตัวกรองข้าม เดียว หมายถึง "ทิศทางเดียว" และ ทั้งสอง หมายถึง "ทั้งสองทิศทาง" ความสัมพันธ์ที่กรองทั้งสองทิศทางโดยทั่วไปจะอธิบายว่า แบบสองทิศทาง

สําหรับความสัมพันธ์แบบหนึ่งต่อกลุ่ม ทิศทางตัวกรองข้ามจะมาจากด้าน "หนึ่ง" เสมอ และอาจเลือกมาจากด้าน "กลุ่ม" (แบบสองทิศทาง) สําหรับความสัมพันธ์แบบหนึ่งต่อหนึ่ง ทิศทางตัวกรองข้ามจะมาจากทั้งสองตารางเสมอ สุดท้าย สําหรับความสัมพันธ์แบบกลุ่มต่อกลุ่ม ทิศทางตัวกรองข้ามสามารถมาจากหนึ่งในตารางหรือจากทั้งสองตาราง โปรดสังเกตว่าเมื่อประเภทของคาร์ดินาลลิตี้มีด้าน "หนึ่ง" ตัวกรองนั้นจะเผยแพร่จากด้านนั้นเสมอ

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

คุณสามารถปรับเปลี่ยนทิศทางตัวกรองข้ามของความสัมพันธ์ รวมถึงการปิดใช้งานการเผยแพร่ตัวกรองโดยใช้การคํานวณแบบจําลอง ซึ่งทําได้โดยใช้ฟังก์ชัน CROSSFILTER DAX

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

เราขอแนะนําให้ใช้การกรองแบบสองทิศทางตามความจําเป็นเท่านั้น สําหรับข้อมูลเพิ่มเติม โปรดดู คําแนะนําความสัมพันธ์แบบสองทิศทาง

เคล็ดลับ

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

สกรีนช็อตของสองตารางในไดอะแกรมแบบจําลองที่มีหัวลูกศรตัวกรองข้ามที่เน้น

ทำให้ความสัมพันธ์นี้ทำงาน

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

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

ในบางสถานการณ์ อย่างไรก็ตาม คุณสามารถกําหนดความสัมพันธ์ที่ไม่ได้ใช้งานอย่างน้อยหนึ่งรายการสําหรับตารางมิติการเล่นบทบาทได้ คุณสามารถพิจารณาการออกแบบนี้ได้เมื่อ:

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

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

เคล็ดลับ

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

สกรีนช็อตของสองตารางในไดอะแกรมแบบจําลองและความสัมพันธ์สองความสัมพันธ์ เส้นทึบหนึ่งเส้นสําหรับใช้งานและเส้นประหนึ่งเส้นสําหรับ ที่ไม่ได้ใช้งาน

ตั้งสมมุติฐานว่ามี Referential Integrity

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

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

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

สิ่งสำคัญ

ถ้าความสมบูรณ์ของข้อมูลถูกทําลาย inner join จะกําจัดแถวที่ไม่ตรงกันระหว่างตาราง ตัวอย่างเช่น พิจารณาแบบจําลอง ตาราง Sales ที่มีค่าคอลัมน์ ProductID ที่ไม่มีอยู่ในตาราง Product ที่เกี่ยวข้อง การเผยแพร่ตัวกรองจากตาราง Product ไปยังตาราง Sales จะกําจัดแถวยอดขายสําหรับผลิตภัณฑ์ที่ไม่รู้จัก ซึ่งจะส่งผลให้คํากล่าวไม่เกี่ยวกับผลลัพธ์การขาย

สําหรับข้อมูลเพิ่มเติม ให้ดู สมมติว่ามีการตั้งค่า Referential Integrity ใน Power BI Desktop

ฟังก์ชัน DAX ที่เกี่ยวข้อง

มีฟังก์ชัน DAX มากมายที่เกี่ยวข้องกับความสัมพันธ์ของแบบจําลอง มีการอธิบายแต่ละฟังก์ชันโดยย่อในรายการหัวข้อย่อยต่อไปนี้:

  • RELATED: เรียกใช้ค่าจากด้าน "หนึ่ง" ของความสัมพันธ์ ซึ่งจะมีประโยชน์เมื่อเกี่ยวข้องกับการคํานวณจากตารางที่แตกต่างกันที่ประเมินในบริบทแถว
  • RELATEDTABLE: เรียกใช้ตารางของแถวจากด้าน "กลุ่ม" ของความสัมพันธ์
  • USERELATIONSHIP: อนุญาตให้การคํานวณใช้ความสัมพันธ์ที่ไม่ได้ใช้งาน (ในทางเทคนิค ฟังก์ชันนี้จะปรับเปลี่ยนน้ําหนักของความสัมพันธ์ของแบบจําลองที่ไม่ได้ใช้งานแบบเฉพาะที่ช่วยในการมีอิทธิพลต่อการใช้งาน) ซึ่งจะมีประโยชน์เมื่อแบบจําลองของคุณมีตารางมิติการเล่นบทบาท และคุณเลือกที่จะสร้างความสัมพันธ์ที่ไม่ได้ใช้งานจากตารางนี้ คุณยังสามารถใช้ฟังก์ชันนี้เพื่อ แก้ไขความคลุมเครือในเส้นทางตัวกรอง
  • CROSSFILTER: ปรับเปลี่ยนทิศทางตัวกรองข้ามของความสัมพันธ์ (เป็นหนึ่งหรือทั้งสอง) หรือปิดใช้งานการเผยแพร่ตัวกรอง (ไม่มี) ซึ่งจะมีประโยชน์เมื่อคุณต้องการเปลี่ยนแปลงหรือละเว้นความสัมพันธ์ของแบบจําลองในระหว่างการประเมินการคํานวณที่เฉพาะเจาะจง
  • COMBINEVALUES: รวมสตริงข้อความสองรายการขึ้นไปเป็นสตริงข้อความเดียว วัตถุประสงค์ของฟังก์ชันนี้คือการสนับสนุนความสัมพันธ์แบบหลายคอลัมน์ในแบบจําลอง DirectQuery เมื่อตารางอยู่ในกลุ่มแหล่งข้อมูลเดียวกัน
  • TREATAS: ใช้ผลลัพธ์ของนิพจน์ตารางเป็นตัวกรองไปยังคอลัมน์จากตารางที่ไม่เกี่ยวข้อง ซึ่งจะเป็นประโยชน์ในสถานการณ์ขั้นสูงเมื่อคุณต้องการสร้างความสัมพันธ์เสมือนในระหว่างการประเมินการคํานวณเฉพาะ
  • ฟังก์ชันหลักและรอง: ตระกูลของฟังก์ชันที่เกี่ยวข้องที่คุณสามารถใช้เพื่อสร้างคอลัมน์จากการคํานวณเพื่อทําให้ลําดับชั้นแบบพ่อ-ลูกเป็นธรรมชาติ จากนั้นคุณสามารถใช้คอลัมน์เหล่านี้เพื่อสร้างลําดับชั้นแบบคงที่ได้

การประเมินผลความสัมพันธ์

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

ก่อนอื่น คุณจําเป็นต้องมีทฤษฎีการสร้างแบบจําลองบางอย่างเพื่อทําความเข้าใจการประเมินผลความสัมพันธ์อย่างสมบูรณ์

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

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

นี่คือตัวอย่างของโมเดลแบบรวม

แผนภาพของโมเดลแบบรวมที่ประกอบด้วยกลุ่มแหล่งข้อมูลสองกลุ่ม

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

ความสัมพันธ์แบบธรรมดา

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

ในตัวอย่างต่อไปนี้ มีความสัมพันธ์แบบปกติสองความสัมพันธ์ ซึ่งทั้งสองมีเครื่องหมายเป็น Rความสัมพันธ์ดังกล่าวประกอบรวมด้วย ความสัมพันธ์แบบหนึ่งต่อกลุ่มที่อยู่ภายในกลุ่มแหล่งข้อมูล Vertipaq และความสัมพันธ์แบบหนึ่งต่อกลุ่มที่อยู่ภายในแหล่งข้อมูล DirectQuery

แผนภาพของโมเดลแบบรวมที่ประกอบด้วยกลุ่มแหล่งข้อมูลสองกลุ่มซึ่งมีเครื่องหมายความสัมพันธ์แบบธรรมดาที่ทําเครื่องหมาย

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

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

หมายเหตุ

ความสัมพันธ์ที่ไม่ได้ใช้งานจะขยายด้วย แม้ว่าการคํานวณจะไม่ใช้ความสัมพันธ์นี้ก็ตาม ความสัมพันธ์แบบสองทิศทางไม่มีผลกระทบต่อการขยายตาราง

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

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

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

นี่คือวิธีการทํางานของการขยายตารางด้วยตัวอย่างภาพเคลื่อนไหว

ไดอะแกรมแบบเคลื่อนไหวของการขยายตาราง

ในตัวอย่างนี้ แบบจําลองประกอบด้วยสามตาราง: Category, Product, และ Sales ตาราง Category เกี่ยวข้องกับตาราง Product ที่มีความสัมพันธ์แบบ หนึ่งต่อกลุ่ม และตาราง ผลิตภัณฑ์ เกี่ยวข้องกับตาราง Sales ด้วยความสัมพันธ์แบบหนึ่งต่อกลุ่ม ตาราง ประเภท มีสองแถว ตาราง Product มีสามแถว และตาราง Sales มีห้าแถว มีค่าที่ตรงกันทั้งสองด้านของความสัมพันธ์ทั้งหมดหมายความว่าไม่มีการละเมิดความสมบูรณ์ของการอ้างอิง ตารางที่ขยายในเวลาที่มีการคิวรีจะเปิดเผย ตารางประกอบด้วยคอลัมน์จากทั้งสามตาราง ซึ่งเป็นมุมมองดีนอร์มอลไลของข้อมูลที่มีอยู่ในสามตารางอย่างมีประสิทธิภาพ แถวใหม่จะถูกเพิ่มไปยังตาราง Sales และมีค่าตัวระบุการผลิต (9) ที่ไม่มีค่าที่ตรงกันในตาราง ผลิตภัณฑ์ ซึ่งเป็นการละเมิดความสมบูรณ์ของการอ้างอิง ในตารางที่ขยาย แถวใหม่จะมีค่า (ว่าง) สําหรับคอลัมน์ตาราง Category และ Product

ความสัมพันธ์แบบจํากัด

ความสัมพันธ์ของแบบจําลอง แบบจํากัดเมื่อไม่รับประกันว่ามีด้าน "หนึ่ง" ความสัมพันธ์แบบจํากัดสามารถเกิดขึ้นได้ด้วยเหตุผลสองประการ:

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

ในตัวอย่างต่อไปนี้ มีความสัมพันธ์แบบจํากัดสองความสัมพันธ์ ซึ่งทั้งสองมีเครื่องหมายเป็น Lความสัมพันธ์สองความสัมพันธ์ประกอบรวมด้วย ความสัมพันธ์แบบกลุ่มต่อกลุ่มที่อยู่ภายในกลุ่มแหล่งข้อมูล Vertipaq และความสัมพันธ์แบบข้ามกลุ่มแหล่งข้อมูลแบบหนึ่งต่อกลุ่ม

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

สําหรับแบบจําลองนําเข้า โครงสร้างข้อมูลจะไม่ถูกสร้างขึ้นสําหรับความสัมพันธ์แบบจํากัด ในกรณีดังกล่าว Power BI จะแก้ไขการรวมตารางในเวลาที่มีการคิวรี

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

มีข้อจํากัดอื่น ๆ ที่เกี่ยวข้องกับความสัมพันธ์แบบจํากัด:

  • ไม่สามารถใช้ฟังก์ชัน RELATED DAX เพื่อดึงค่าคอลัมน์ด้าน "หนึ่ง" ได้
  • การบังคับใช้ RLS มีข้อจํากัดของโทโพโลยี

เคล็ดลับ

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

สกรีนช็อตของสองตารางในไดอะแกรมแบบจําลองที่มีความสัมพันธ์แบบจํากัดที่ถูกเน้น

แก้ไขความคลุมเครือของเส้นทางความสัมพันธ์

ความสัมพันธ์แบบสองทิศทางสามารถนําเส้นทางการเผยแพร่ตัวกรองระหว่างตารางแบบจําลองเข้ามาได้หลายเส้นทาง และดังนั้นจึงคลุมเครือ เมื่อประเมินความคลุมเครือ Power BI จะเลือกเส้นทางการเผยแพร่ตัวกรองตาม ลําดับความสําคัญ และ น้ําหนัก

ลำดับความสำคัญ

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

  1. เส้นทางที่ประกอบด้วยความสัมพันธ์แบบหนึ่งต่อกลุ่ม
  2. เส้นทางที่ประกอบด้วยความสัมพันธ์แบบหนึ่งต่อกลุ่มหรือกลุ่มต่อกลุ่ม
  3. เส้นทางที่ประกอบด้วยความสัมพันธ์แบบกลุ่มต่อหนึ่ง
  4. เส้นทางที่ประกอบด้วยความสัมพันธ์แบบหนึ่งต่อกลุ่มจากตารางต้นทางไปยังตารางระดับกลางตามด้วยความสัมพันธ์แบบกลุ่มต่อหนึ่งจากตารางระดับกลางไปยังตารางเป้าหมาย
  5. เส้นทางที่ประกอบด้วยความสัมพันธ์แบบหนึ่งต่อกลุ่มหรือกลุ่มต่อกลุ่มจากตารางต้นทางไปยังตารางระดับกลางตามด้วยความสัมพันธ์แบบกลุ่มต่อกลุ่มหรือกลุ่มต่อกลุ่มจากตารางขั้นกลางไปยังตารางเป้าหมาย
  6. เส้นทางอื่น

เมื่อมีการรวมความสัมพันธ์ไว้ในเส้นทางที่พร้อมใช้งานทั้งหมด จะถูกลบออกจากการพิจารณาจากเส้นทางทั้งหมด

ค่าถ่วงน้ำหนัก

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

คุณสามารถมีอิทธิพลต่อน้ําหนักของความสัมพันธ์โดยใช้ฟังก์ชัน USERELATIONSHIP น้ําหนักจะถูกกําหนดโดยระดับการซ้อนของการโทรไปยังฟังก์ชันนี้ซึ่งการโทรด้านในสุดจะได้รับน้ําหนักสูงสุด

พิจารณาตัวอย่างต่อไปนี้ หน่วยวัด ยอดขายผลิตภัณฑ์ กําหนดน้ําหนักที่สูงขึ้นให้กับความสัมพันธ์ระหว่าง Sales[ProductID] และ Product[ProductID] ตามด้วยความสัมพันธ์ระหว่าง Inventory[ProductID] และ Product[ProductID]

Product Sales = 
CALCULATE(
    CALCULATE(
        SUM(Sales[SalesAmount]), 
        USERELATIONSHIP(Sales[ProductID], Product[ProductID])
    ),
    USERELATIONSHIP(Inventory[ProductID], Product[ProductID])
)

หมายเหตุ

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

การกําหนดลักษณะประสิทธิภาพ

รายการต่อไปนี้เรียงลําดับประสิทธิภาพการเผยแพร่ตัวกรอง จากประสิทธิภาพเร็วที่สุดไปยังช้าที่สุด:

  1. ความสัมพันธ์แบบภายในกลุ่มแหล่งข้อมูลชนิดหนึ่งต่อกลุ่ม
  2. ความสัมพันธ์ของแบบจําลองแบบกลุ่มต่อกลุ่มทําได้ด้วยตารางตัวกลางและเกี่ยวข้องกับความสัมพันธ์แบบสองทิศทางอย่างน้อยหนึ่งความสัมพันธ์
  3. ความสัมพันธ์ของคาร์ดินาลลิตี้แบบกลุ่มต่อกลุ่ม
  4. ความสัมพันธ์แบบข้ามกลุ่มแหล่งข้อมูล

สําหรับข้อมูลเพิ่มเติมเกี่ยวกับบทความนี้ โปรดดูทรัพยากรต่อไปนี้: