สร้างและจัดการความสัมพันธ์ใน Power BI Desktop

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

ตรวจหาอัตโนมัติระหว่างการโหลด

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

สร้างความสัมพันธ์ที่มีการตรวจหาอัตโนมัติ

บนแท็บ การวางรูปแบบ ให้เลือก จัดการความสัมพันธ์>ตรวจหาอัตโนมัติ

Animation showing how to create a relationship with autodetect.

สร้างความสัมพันธ์ด้วยตนเอง

  1. บนแท็บ การวางรูปแบบ ให้เลือก จัดการความสัมพันธ์ ใหม่>

  2. ในกล่องโต้ตอบ สร้างความสัมพันธ์ ในรายการดรอปดาวน์ของตารางแรก ให้เลือกตาราง เลือกคอลัมน์ที่คุณต้องการใช้ในความสัมพันธ์

  3. ในรายการดรอปดาวน์ของตารางที่สอง เลือกตารางอื่นที่คุณต้องการในความสัมพันธ์ เลือกคอลัมน์อื่นที่คุณต้องการใช้ จากนั้นเลือก ตกลง

    Animation showing how to create a manual relationship.

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

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

ถ้าคุณพบข้อผิดพลาดนั้น มีสองสามวิธีในการแก้ไขปัญหา:

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

สำหรับข้อมูลเพิ่มเติม ดูที่ บล็อกโพสต์

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

แก้ไขความสัมพันธ์

มีสองวิธีในการแก้ไขความสัมพันธ์ใน Power BI

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

Screenshot of adjusting relationships in the properties pane.

คุณยังสามารถดูการ สาธิต วิดีโอของการแก้ไขความสัมพันธ์ในบานหน้าต่าง คุณสมบัติ ได้

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

จาก มุมมอง รายงาน ทําสิ่งใดสิ่งหนึ่งต่อไปนี้:

  • เลือกริบบอน >การสร้างแบบจําลอง จัดการความสัมพันธ์ จากนั้นเลือกความสัมพันธ์ และเลือก แก้ไข
  • เลือกตารางในรายการเขตข้อมูล จากนั้นเลือกริบบอน> เครื่องมือตาราง จัดการความสัมพันธ์ จากนั้นเลือกความสัมพันธ์ จากนั้นเลือก แก้ไข

จากมุมมองข้อมูล เลือกริบบอน >เครื่องมือตาราง จัดการความสัมพันธ์ จากนั้นเลือกความสัมพันธ์ จากนั้นเลือก แก้ไข

จาก มุมมองแบบจําลอง ทําอย่างใดอย่างหนึ่งต่อไปนี้:

  • เลือกริบบอน> หน้าแรก จัดการความสัมพันธ์ จากนั้นเลือกความสัมพันธ์ จากนั้นเลือก แก้ไข
  • ดับเบิลคลิกที่เส้นใดก็ตามระหว่างสองตาราง
  • คลิกขวาที่เส้นใด ๆ ระหว่างสองตาราง แล้วเลือก คุณสมบัติ
  • เลือกเส้นใด ๆ ระหว่างสองตาราง จากนั้นเลือก เปิดตัวแก้ไขความสัมพันธ์ ในบานหน้าต่าง คุณสมบัติ

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

รูปภาพต่อไปนี้แสดงสกรีนช็อตของหน้าต่าง แก้ไขความสัมพันธ์

Screenshot of the edit relationship window.

การแก้ไขความสัมพันธ์โดยใช้วิธีการที่แตกต่างกัน

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

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

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

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

สำคัญ

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

กำหนดค่าตัวเลือกเพิ่มเติม

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

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

ตัวเลือก คาร์ดินาลลิตี้ สามารถมีการตั้งค่าอย่างใดอย่างหนึ่งต่อไปนี้:

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

หนึ่งต่อหนึ่ง (1:1): ในความสัมพันธ์แบบหนึ่งต่อหนึ่ง คอลัมน์ในตารางหนึ่งมีเพียงหนึ่งค่าตัวอย่างของค่าใดค่าหนึ่ง และตารางอื่นที่เกี่ยวข้องมีเพียงหนึ่งค่าตัวอย่างของค่าใดค่าหนึ่ง

หนึ่งต่อกลุ่ม (1:*): ในความสัมพันธ์แบบหนึ่งต่อกลุ่ม คอลัมน์ในตารางหนึ่งมีเพียงหนึ่งค่าตัวอย่างของค่าใดค่าหนึ่ง และตารางอื่นที่เกี่ยวข้องสามารถมีอินสแตนซ์ของค่าได้มากกว่าหนึ่ง

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

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

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

ตัวเลือก ทิศทางตัวกรองข้าม สามารถมีการตั้งค่าหนึ่งรายการต่อไปนี้:

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

เดียว: ทิศทางเริ่มต้นที่พบบ่อยที่สุด ซึ่งหมายถึงตัวเลือกในการกรองในตารางการที่เชื่อมต่อทํางานบนตารางที่จะมีการรวมค่า ถ้าคุณนําเข้า Power Pivot ใน Excel 2013 หรือแบบจําลองข้อมูลก่อนหน้า ความสัมพันธ์ทั้งหมดจะมีทิศทางเดียว

สําหรับข้อมูลเพิ่มเติมเกี่ยวกับเวลาที่จะเปลี่ยนทิศทางตัวกรองข้าม โปรดดู ทําความเข้าใจตัวเลือกเพิ่มเติม

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

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

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

การทําความเข้าใจความสัมพันธ์

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

เรามาดูบทช่วยสอนฉบับย่อเพื่อแสดงให้คุณเห็นว่าความสัมพันธ์ทํางานอย่างไรใน Power BI Desktop

เคล็ดลับ

คุณสามารถเรียนรู้บทเรียนนี้ให้เสร็จสมบูรณ์ได้ด้วยตัวเอง:

  1. คัดลอกตาราง ProjectHours ต่อไปนี้ลงในแผ่นงาน Excel (ไม่รวมชื่อคอลัมน์) เลือกเซลล์ทั้งหมด แล้วเลือก แทรก>ตาราง
  2. ในกล่องโต้ตอบ สร้างตาราง เลือก ตกลง
  3. เลือกเซลล์ของตารางใดก็ตาม เลือก ออกแบบ>ตาราง ชื่อตาราง และจากนั้นป้อน ProjectHours
  4. ทําแบบเดียวกันสําหรับตาราง CompanyProject
  5. นําเข้าข้อมูลโดยใช้ รับข้อมูล ใน Power BI Desktop เลือกสองตารางเป็นแหล่งข้อมูล จากนั้นเลือก โหลด

ตาราง แรก ProjectHours เป็นบันทึกของตั๋วงานที่บันทึกจํานวนชั่วโมงที่บุคคลหนึ่งทํางานในโครงการใดโครงการหนึ่ง

ProjectHours

ตั๋ว SubmittedBy ชั่วโมง โครงการ DateSubmit
1001 Brewer, Alan 22 น้ำเงิน 1/1/2013
1002 Brewer, Alan 26 สีแดง 2/1/2013
1003 Ito, Shu 34 สีเหลือง 12/4/2012
1004 Brewer, Alan 13 สีส้ม 1/2/2012
1005 Bowen, Eli 29 สีม่วง 10/1/2013
1006 Bento, Nuno 35 สีเขียว 2/1/2013
1007 Hamilton, David 10 สีเหลือง 10/1/2013
1008 Han, Mu 28 สีส้ม 1/2/2012
1009 Ito, Shu 22 สีม่วง 2/1/2013
1010 Bowen, Eli 28 สีเขียว 10/1/2013
1011 Bowen, Eli 9 น้ำเงิน 10/15/2013

ตาราง ที่สองนี้คือ CompanyProject เป็นรายการของโครงการที่มีการกําหนดลําดับความสําคัญเป็น: A, B หรือ C

CompanyProject

ProjName ลำดับความสำคัญ
น้ำเงิน
สีแดง B
สีเขียว C
สีเหลือง C
สีม่วง B
สีส้ม C

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

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

Screenshot of the Priority and Hours fields selected from the Fields pane.

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

ดังนั้น เรามาสร้างความสัมพันธ์ระหว่างสองตารางเหล่านี้กันเถอะ

คุณจําคอลัมน์ที่เราเห็นในทั้งสองตารางที่มีชื่อโครงการได้ แต่มีค่าที่มีลักษณะเหมือนกันหรือไม่? เราจะใช้สองคอลัมน์เหล่านี้เพื่อสร้างความสัมพันธ์ระหว่างตารางของเรา

ทําไมต้องเป็นคอลัมน์เหล่านี้? ถ้าเราดูที่ คอลัมน์โครงการ ในตาราง ProjectHours เราจะเห็นค่าเช่น สีฟ้า สีแดง สีเหลือง สีส้ม และอื่น ๆ อันที่จริงแล้ว เราเห็นหลายแถวที่มีค่าเดียวกัน ผลคือ เรามีค่าสีมากมายสําหรับ Project

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

เพื่อสร้างความสัมพันธ์ใหม่

  1. เลือก จัดการความสัมพันธ์ จากแท็บ การวาง รูปแบบ

  2. ใน การจัดการความสัมพันธ์ เลือก ใหม่ เพื่อเปิด กล่องโต้ตอบสร้างความสัมพันธ์ ที่เราสามารถเลือกตาราง คอลัมน์ และการตั้งค่าอื่น ๆ ที่เราต้องการสําหรับความสัมพันธ์ของเราได้

  3. ในรายการดรอปดาวน์แรก ให้เลือก ProjectHours เป็นตารางแรก จากนั้นเลือกคอลัมน์ โครงการ ด้านนี้เป็นด้านกลุ่มของความสัมพันธ์ของเรา

  4. ในรายการ ดรอปดาวน์ที่สอง CompanyProject จะถูกเลือกไว้ล่วงหน้าเป็นตารางที่สอง เลือกคอลัมน์ ProjName ด้าน นี้เป็นด้านหนึ่ง ของความสัมพันธ์ของเรา

  5. ยอมรับค่าเริ่มต้นสําหรับตัวเลือกความสัมพันธ์ จากนั้นเลือก ตกลง

    Screenshot of the Create relationship dialog box.

  6. ในกล่องโต้ตอบ จัดการความสัมพันธ์ เลือก ปิด

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

ในตอนนี้ เรามาดูที่ตารางในพื้นที่รายงานของเราอีกครั้ง

Screenshot of the Priority and Hours fields selected from the Fields pane with new relationship.

มันดูดีขึ้นเยอะเลย ใช่ไหม?

เมื่อเราหาผลรวมของค่าชั่วโมงตาม ลําดับความสําคัญ Power BI Desktop ค้นหาทุก ๆ ค่า สีตัวอย่างที่ไม่ซ้ํากันในตารางการค้นหา CompanyProject จากนั้นจะมองหาสําหรับทุก ๆ ตัวอย่างที่มีอยู่สําหรับแต่ละค่าในตาราง ProjectHours และคํานวณผลรวมทั้งหมดสําหรับแต่ละค่าที่ไม่ซ้ํากัน

ด้วยตรวจหาอัตโนมัติ คุณอาจไม่ต้องทําอะไรมากขนาดนั้น

การทําความเข้าใจตัวเลือกเพิ่มเติม

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

Screenshot of the lower portion of the Create relationship dialog box showing Cardinality and Cross filter direction options.

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

อัปเดตความสัมพันธ์อัตโนมัติ

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

Screenshot of the Options box showing the Relationships settings in the Data Load tab.

มีสามตัวเลือกที่สามารถเลือกและเปิดใช้งานได้:

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

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

    คำเตือน

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

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

การอัปเดตในอนาคตไปยังข้อมูลที่ต้องการคาร์ดินาลลิตี้ที่แตกต่างกัน

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

ตาราง CompanyProjectPriority คือ รายการและลําดับความสําคัญของโครงการทั้งหมดของบริษัท ตาราง ProjectBudget คือ ชุดของโครงการที่ได้รับอนุมัติงบประมาณ

CompanyProjectPriority

ProjName ลำดับความสำคัญ
น้ำเงิน
สีแดง B
สีเขียว C
สีเหลือง C
สีม่วง B
สีส้ม C

ProjectBudget

โครงการที่อนุมัติ BudgetAllocation วันที่ปันส่วน
น้ำเงิน 40,000 12/1/2012
สีแดง 100,000 12/1/2012
สีเขียว 50,000 12/1/2012

ถ้าเราสร้างความสัมพันธ์ระหว่างคอลัมน์ โครงการที่อนุมัติ ในตาราง ProjectBudget และคอลัมน์ ProjectName ในตาราง CompanyProjectPriority Power BI จะตั้งค่า คาร์ดินาลลิตี้ ไปเป็น หนึ่งถึงหนึ่ง (1:1) และ ทิศทางตัวกรองข้าม เป็น ทั้งคู่ โดยอัตโนมัติ

Screenshot of the Create relationship dialog box with Cardinality to One to one (1:1) and Cross filter direction to Both.

เหตุผลที่ Power BI ทําการตั้งค่าเหล่านี้เป็นเพราะสําหรับ Power BI Desktop การผสมผสานที่ดีที่สุดของทั้งสองตารางมีดังนี้:

ProjName ลำดับความสำคัญ BudgetAllocation วันที่ปันส่วน
น้ำเงิน 40,000 12/1/2012
สีแดง B 100,000 12/1/2012
สีเขียว C 50,000 12/1/2012
สีเหลือง C

สีม่วง B

สีส้ม C

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

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

ProjectBudget

โครงการที่อนุมัติ BudgetAllocation วันที่ปันส่วน
น้ำเงิน 40,000 12/1/2012
สีแดง 100,000 12/1/2012
สีเขียว 50,000 12/1/2012
น้ำเงิน 80,000 6/1/2013
สีแดง 90,000 6/1/2013

แถวเพิ่มเติมเหล่านี้หมายถึงการรวมกันที่ดีที่สุดของทั้งสองตารางในขณะนี้มีลักษณะดังนี้:

ProjName ลำดับความสำคัญ BudgetAllocation วันที่ปันส่วน
น้ำเงิน 40,000 12/1/2012
สีแดง B 100,000 12/1/2012
สีเขียว C 50,000 12/1/2012
สีเหลือง C

สีม่วง B

สีส้ม C

น้ำเงิน 80000 6/1/2013
สีแดง B 90000 6/1/2013

ในตาราง รวมใหม่นี้ คอลัมน์ ProjName จะมีค่าที่ซ้ํากัน ทั้งสองตารางต้นฉบับจะไม่มีความสัมพันธ์แบบหนึ่งต่อหนึ่งเมื่อมีการรีเฟรชตาราง ในกรณีนี้ เนื่องจากเราทราบว่าการอัปเดตในอนาคตเหล่านั้นจะทําให้คอลัมน์ ProjName ซ้ํากัน เราต้องการตั้งค่า คาร์ดินาลลิตี้ เป็น กลุ่มต่อหนึ่ง (*:1) โดยมีด้าน กลุ่ม เป็น ProjectBudget และด้าน หนึ่ง เป็น CompanyProjectPriority

ปรับทิศทางตัวกรองข้ามสําหรับชุดที่ซับซ้อนของตารางและความสัมพันธ์ต่าง ๆ

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

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

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

ด้วยการกรองไขว้ทิศทางเดียว หากคุณสร้างรายงานที่สรุปจํานวนชั่วโมงของโครงการ คุณจะสามารถเลือกที่จะสรุป (หรือตัวกรอง) ตามตาราง CompanyProject และคอลัมน์ Priority ของตาราง CompanyEmployee และคอลัมน์ City ของตาราง CompanyEmployee ได้ อย่างไรก็ตาม ถ้าคุณต้องการนับจํานวนพนักงานต่อโครงการ (คําถามที่พบน้อย) จะไม่ทํางาน คุณจะได้รับคอลัมน์ของค่าที่เหมือนกันทั้งหมด ในตัวอย่างต่อไปนี้ ความสัมพันธ์ทั้งสองของทิศทางการกรองข้ามถูกตั้งค่าเป็นทิศทางเดียวไปทางตาราง ProjectHours ใน Values เขตข้อมูล Project ถูกตั้งค่าเป็น Count:

Screenshot of the visualization tab used with the Employee and Project fields.

ข้อกําหนดตัวกรองจะจัดเรียงต่อเนื่องจาก CompanyProject ไปยัง ProjectHours (ดังที่แสดงในรูปต่อไปนี้) แต่ข้อกําหนดตัวกรองดังกล่าวจะไม่จัดเรียงไปถึง CompanyEmployee

Diagram of a cross filtering example with flow from CompanyProject to ProjectHours.

อย่างไรก็ตาม ถ้าคุณตั้งค่าทิศทางการกรองไขว้เป็น ทั้งสอง คุณจะสามารถใช้งานได้ การตั้งค่าแบบ ทั้งสอง อนุญาตให้ข้อกําหนดตัวกรองจัดเรียงไปยัง CompanyEmployee

Diagram of a cross filtering example with flow both ways

ด้วยทิศทางการกรองไขว้ที่ตั้งค่าเป็นแบบ ทั้งสอง ตอนนี้รายงานของเราปรากฏอย่างถูกต้อง:

Screenshot of cross filtering direction set to Both.

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

Diagram of cross filtering both directions in star schema.

ทิศทางการกรองไขว้ไม่ทํางานได้ดีกับรูปแบบที่พบได้ทั่วไปมากกว่า ซึ่งมักจะพบในฐานข้อมูล เช่นในไดอะแกรมนี้:

Diagram of cross filtering in both directions on a database pattern.

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

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

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

ความสัมพันธ์ที่ใช้งานอยู่ไม่ถูกต้อง

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

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

ลองดูตัวอย่าง ตารางแรกเป็น ProjectTickets และตารางที่สองเป็น EmployeeRole

ProjectTickets

ตั๋ว OpenedBy SubmittedBy ชั่วโมง โครงการ DateSubmit
1001 Perham, Tom Brewer, Alan 22 น้ำเงิน 1/1/2013
1002 Roman, Daniel Brewer, Alan 26 สีแดง 2/1/2013
1003 Roth, Daniel Ito, Shu 34 สีเหลือง 12/4/2012
1004 Perham, Tom Brewer, Alan 13 สีส้ม 1/2/2012
1005 Roman, Daniel Bowen, Eli 29 สีม่วง 10/1/2013
1006 Roth, Daniel Bento, Nuno 35 สีเขียว 2/1/2013
1007 Roth, Daniel Hamilton, David 10 สีเหลือง 10/1/2013
1008 Perham, Tom Han, Mu 28 สีส้ม 1/2/2012
1009 Roman, Daniel Ito, Shu 22 สีม่วง 2/1/2013
1010 Roth, Daniel Bowen, Eli 28 สีเขียว 10/1/2013
1011 Perham, Tom Bowen, Eli 9 น้ำเงิน 10/15/2013

EmployeeRole

พนักงาน บทบาท
Bento, Nuno ผู้จัดการโครงการ
Bowen, Eli ลูกค้าเป้าหมายของโครงการ
Brewer, Alan ผู้จัดการโครงการ
Hamilton, David ลูกค้าเป้าหมายของโครงการ
Han, Mu ลูกค้าเป้าหมายของโครงการ
Ito, Shu ลูกค้าเป้าหมายของโครงการ
Perham, Tom ผู้สนับสนุนโครงการ
Roman, Daniel ผู้สนับสนุนโครงการ
Roth, Daniel ผู้สนับสนุนโครงการ

จริง ๆ แล้วมีความสัมพันธ์อยู่สองความสัมพันธ์ในนี้:

  • ระหว่าง Employee ในตาราง EmployeeRole และ SubmittedBy ในตาราง ProjectTickets
  • ระหว่าง OpenedBy ในตาราง ProjectTickets และ Employee ในตาราง EmployeeRole

Screenshot of a two-relationship example.

ถ้าเราเพิ่มความสัมพันธ์ทั้งสองไปยังรูปแบบ (โดยเพิ่ม OpenedBy ก่อน) จากนั้น กล่องโต้ตอบ จัดการความสัมพันธ์ จะแสดงว่า OpenedBy กําลังใช้งานอยู่:

Screenshot of a OpenedBy active in the Manage relationships dialog box.

ตอนนี้ ถ้าเราสร้างรายงานที่ใช้ เขตข้อมูลบทบาท และ พนักงาน จาก EmployeeRole และ เขตข้อมูลชั่วโมง จาก ProjectTickets ในการแสดงภาพของตารางในพื้นที่รายงาน เราจะเห็นเฉพาะผู้สนับสนุนโครงการเท่านั้น เนื่องจากมีเพียงพวกเขาเท่านั้นที่เปิดตั๋วโครงการ

Screenshot shows the Employee, Role, and Hours fields selected.

เราสามารถเปลี่ยนความสัมพันธ์ที่ใช้งานอยู่และรับ SubmittedBy แทน OpenedBy ใน จัดการความสัมพันธ์ ยกเลิกการเลือกความสัมพันธ์ ProjectTickets(OpenedBy) ไปยัง EmployeeRole(Employee) และจากนั้นตรวจสอบความสัมพันธ์ EmployeeRole(Employee) ไปยัง Project Tickets(SubmittedBy)

Screenshot of changing the active relationship in the Manage relationship dialog box.

ดูความสัมพันธ์ทั้งหมดของคุณในมุมมองความสัมพันธ์

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

เมื่อต้องการเรียนรู้เพิ่มเติม ดูทํางานกับมุมมองความสัมพันธ์ใน Power BI Desktop

กำลังแก้ไขปัญหา

ส่วนนี้จะให้คําแนะนําและข้อมูลการแก้ไขปัญหาเมื่อทํางานกับความสัมพันธ์ใน Power BI

ไม่สามารถกําหนดความสัมพันธ์ระหว่างเขตข้อมูลได้

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

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

Screenshot of a sample model used in troubleshooting scenarios.

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

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

Correlate Product[Color] with Vendor[Name] where CountRows(Purchases)>0

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

สถานการณ์ที่ 2: สคีมาแบบดาวดั้งเดิมและข้อจํากัดหน่วยวัดที่ระบุ ในตัวอย่างก่อนหน้านี้ในสถานการณ์ที่ 1 ถ้าผู้ใช้มีข้อจํากัดในรูปแบบของคอลัมน์สรุป (เช่น ผลรวม/เฉลี่ย/จํานวนปริมาณการซื้อ) หรือหน่วยวัดแบบจําลอง (จํานวนที่แตกต่างกันของ VendID) Power BI สามารถสร้างคิวรีในรูปแบบของตัวอย่างต่อไปนี้:

Correlate Product[Color] with Vendor[Name] where MeasureConstraint is not blank

ในกรณีดังกล่าว Power BI จะพยายามส่งกลับค่าผสมที่มีความหมายสําหรับข้อจํากัดที่กําหนดโดยผู้ใช้ (ไม่ใช่ค่าว่าง) Power BI ไม่จําเป็นต้องเพิ่มข้อจํากัดโดยนัยของตัวเองของ CountRows(Purchases)>0 เช่นสิ่งที่ได้ทําเหมือนกับในสถานการณ์ 1 ก่อนหน้านี้เนื่องจากข้อจํากัดที่ให้มาโดยผู้ใช้นั้นเพียงพอ

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

ในสถานการณ์นี้ ถ้าเราพยายามรวม Purchase[VenID] และ Sales[CustID] ในวิชวล Power BI ไม่มีข้อจํากัดที่เป็นรูปธรรมที่สามารถนําไปใช้ ได้เนื่องจากความสัมพันธ์แบบ กลุ่มต่อกลุ่ม ระหว่างตารางเหล่านั้น แม้ว่าอาจมีข้อจํากัดแบบกําหนดเอง (ไม่จําเป็นต้องเกิดจากความสัมพันธ์ที่สร้างขึ้นในแบบจําลอง) ที่สามารถนําไปใช้กับสถานการณ์ต่าง ๆ แต่ Power BI ไม่สามารถอนุมานข้อจํากัดเริ่มต้นได้ตามความสัมพันธ์เท่านั้น ถ้า Power BI พยายามส่งกลับชุดข้อมูลทั้งหมดของสองตาราง ตารางจะสร้างการรวมข้ามขนาดใหญ่ และส่งกลับข้อมูลที่ไม่เกี่ยวข้อง แทนที่จะเป็นเช่นนั้น Power BI จะทําให้เกิดข้อผิดพลาดในวิชวลเช่นต่อไปนี้

Screenshot of an error dialog when relationship can’t be inferred. Alternatively, Screenshot of an error dialog where relationship isn’t inferred.

สถานการณ์ที่ 4: เค้าร่างที่ไม่ใช่ดาวและข้อจํากัดหน่วยวัดที่ระบุ ถ้าเราใช้ตัวอย่างจากสถานการณ์ที่ 3 และเพิ่มข้อจํากัดที่ผู้ใช้ระบุในรูปแบบของคอลัมน์สรุป (ตัวอย่างเช่น Count of Product[ProdID] หรือหน่วยวัดแบบจําลอง (Sales[Total Qty]) Power BI สามารถสร้างคิวรีในรูปแบบของ Correlate Purchase[VenID] และ Sales[CustID] ซึ่ง MeasureConstraint ไม่ใช่ค่าว่าง

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

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

Screenshot of an error dialog when Power BI can’t find default constraints.

การแก้ไขข้อผิดพลาดของความสัมพันธ์

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

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

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

  2. เพิ่มข้อจํากัดให้กับวิชวลในรูปแบบของคอลัมน์สรุปหรือหน่วยวัดแบบจําลอง

  3. ถ้ามีการเพิ่มคอลัมน์สรุปแล้วและยังคงมีข้อผิดพลาด ให้พิจารณาการใช้หน่วยวัดแบบจําลอง

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