ข้ามไปยังเนื้อหาหลัก เบราว์เซอร์นี้ไม่ได้รับการสนับสนุนอีกต่อไป Show
อัปเกรดเป็น Microsoft Edge เพื่อใช้ประโยชน์จากคุณลักษณะล่าสุด เช่น การอัปเดตความปลอดภัยและการสนับสนุนด้านเทคนิค สร้างและจัดการความสัมพันธ์ใน Power BI Desktop
ในบทความนี้เมื่อคุณนำเข้าหลายตาราง มีโอกาสที่คุณจะต้องทำการวิเคราะห์โดยใช้ข้อมูลจากตารางเหล่านั้นทั้งหมด ความสัมพันธ์ระหว่างตารางเหล่านั้นเป็นสิ่งจำเป็นสำหรับการคำนวณผลลัพธ์อย่างถูกต้อง และแสดงข้อมูลในรายงานของคุณอย่างถูกต้อง Power BI Desktop ทำให้สร้างความสัมพันธ์ดังกล่าวได้ง่ายขึ้น ในความเป็นจริง ในกรณีส่วนใหญ่คุณไม่จำเป็นต้องทำอะไร คุณลักษณะการตรวจหาอัตโนมัติทำได้สำหรับคุณ อย่างไรก็ตาม ในบางกรณีคุณอาจต้องสร้างความสัมพันธ์ด้วยตนเอง หรือคุจำเป็นต้องทำการเปลี่ยนแปลงบางอย่างสำหรับความสัมพันธ์นั้น ไม่ว่าด้วยใช้วิธีใด จำเป็นต้องทำความเข้าใจความสัมพันธ์ใน Power BI Desktop วิธีการสร้างและวิธีการแก้ไขใจความสัมพันธ์เหล่านี้ ตรวจหาอัตโนมัติระหว่างการโหลดถ้าคุณสร้างแบบสอบถามสองตารางหรือมากกว่าในเวลาเดียวกัน เมื่อข้อมูลถูกโหลด Power BI Desktop พยายามทำการค้นหาและสร้างความสัมพันธ์สำหรับคุณ ตัวเลือกความสัมพันธ์ คาร์ดินาลลิตี้ทิศทางตัวกรองข้าม และ ทำให้ความสัมพันธ์นี้ใช้งานได้ มีการตั้งค่าโดยอัตโนมัติ ลักษณะของ Power BI Desktop ที่ชื่อคอลัมน์ในตารางที่คุณกำลังสอบถามเพื่อดูว่ามีความสัมพันธ์ใดที่อาจเกิดขึ้นได้บ้าง ถ้าไม่มี ความสัมพันธ์ดังกล่าวจะถูกสร้างขึ้นโดยอัตโนมัติ ถ้า Power BI Desktop ไม่สามารถกำหนดได้ด้วยความน่าเชื่อมั่นในระดับสูงว่ามีค่าที่ตรงกัน Power BI Desktop ไม่สร้างความสัมพันธ์ขึ้น อย่างไรก็ตาม คุณยังคงสามารถใช้กล่องโต้ตอบการจัดการความสัมพันธ์เพื่อสร้างหรือแก้ไขความสัมพันธ์ได้ด้วยตนเอง สร้างความสัมพันธ์ที่มีการตรวจหาอัตโนมัติบนแท็บ การวางรูปแบบ ให้เลือก จัดการความสัมพันธ์>ตรวจหาอัตโนมัติ สร้างความสัมพันธ์ด้วยตนเอง
โดยค่าเริ่มต้น Power BI Desktop จะกำหนดค่าตัวเลือก คาร์ดินาลลิตี้ (ทิศทาง) ทิศทางการกรองข้าม และ ทำให้ความสัมพันธ์นี้ใช้งานได้ สำหรับความสัมพันธ์ใหม่ของคุณ อย่างไรก็ตาม คุณสามารถเปลี่ยนการตั้งค่าเหล่านี้ได้ถ้าจำเป็น สำหรับข้อมูลเพิ่มเติม โปรดดู ทำความเข้าใจตัวเลือกเพิ่มเติม หากไม่มีตารางใดที่เลือกไว้สำหรับความสัมพันธ์มีค่าที่ไม่ซ้ำกัน คุณจะเห็นข้อผิดพลาดต่อไปนี้: หนึ่งในคอลัมน์ต้องมีค่าที่ไม่ซ้ำกัน อย่างน้อยหนึ่งตารางในความสัมพันธ์ต้องมีรายการที่แตกต่างและไม่ซ้ำกันของค่าคีย์ ซึ่งเป็นข้อกำหนดทั่วไปสำหรับเทคโนโลยีฐานข้อมูลเชิงสัมพันธ์ทั้งหมด ถ้าคุณพบข้อผิดพลาดนั้น มีสองสามวิธีในการแก้ไขปัญหา:
สำหรับข้อมูลเพิ่มเติม โปรดดูที่บล็อกโพสต์ แก้ไขความสัมพันธ์
ตัวเลือกเพิ่มเติมสำหรับการกำหนดค่าเมื่อคุณสร้างหรือแก้ไขความสัมพันธ์ คุณสามารถกำหนดค่าตัวเลือกเพิ่มเติมได้ ตามค่าเริ่มต้น Power BI Desktop กำหนดค่าตัวเลือกเพิ่มเติมโดยอัตโนมัติตามการคาดเดาที่ดีที่สุดซึ่งอาจแตกต่างกันสำหรับแต่ละความสัมพันธ์ที่ยึดตามข้อมูลในคอลัมน์ คาร์ดินาลลิตี้ตัวเลือก คาร์ดินาลลิตี้ สามารถมีการตั้งค่าหนึ่งรายการต่อไปนี้: กลุ่มต่อหนึ่ง (*:1): ความสัมพันธ์แบบกลุ่มต่อหนึ่งคือความสัมพันธ์ที่พบบ่อยและเป็นค่าเริ่มต้น ซึ่งหมายความว่าคอลัมน์ในตารางที่กำหนดสามารถมีมากกว่าหนึ่งค่าตัวอย่าง และตารางอื่นที่เกี่ยวข้องที่รู้จักกันว่าเป็นตารางการค้นหา มักจะมีเพียงหนึ่งค่าตัวอย่าง หนึ่งต่อหนึ่ง (1: 1) : ในความสัมพันธ์แบบหนึ่งต่อหนึ่ง คอลัมน์ในตารางหนึ่งมีเพียงหนึ่งค่าตัวอย่างของค่าใดค่าหนึ่ง และตารางอื่นที่เกี่ยวข้องมีเพียงหนึ่งค่าตัวอย่างของค่าใดค่าหนึ่ง หนึ่งต่อกลุ่ม (1:*) : ในความสัมพันธ์แบบหนึ่งต่อกลุ่ม คอลัมน์ในตารางหนึ่งมีเพียงหนึ่งค่าตัวอย่างของค่าใดค่าหนึ่ง และตารางอื่นที่เกี่ยวข้องสามารถมีอินสแตนซ์ของค่าได้มากกว่าหนึ่ง กลุ่มต่อกลุ่ม (*:*): ด้วยโมเดลแบบรวม คุณสามารถสร้างความสัมพันธ์แบบกลุ่มต่อกลุ่มระหว่างตารางซึ่งจะลบข้อกําหนดสําหรับค่าที่ไม่ซ้ํากันในตารางได้ นอกจากนี้ยังลบการแก้ปัญหาชั่วคราวก่อนหน้า เช่น การเริ่มตารางใหม่เพื่อสร้างความสัมพันธ์เท่านั้น สำหรับข้อมูลเพิ่มเติม โปรดดูความสัมพันธแบบที่มีคาร์ดินาลลิตี้แบบกลุ่มกลุ่ม สำหรับข้อมูลเพิ่มเติมเกี่ยวกับเวลาที่จะเปลี่ยนแปลงคาร์ดินาลลิตี้ โปรดดู ทำความเข้าใจตัวเลือกเพิ่มเติม ทิศทางตัวกรองข้ามตัวเลือก ทิศทางตัวกรองข้าม สามารถมีการตั้งค่าหนึ่งรายการต่อไปนี้: ทั้งสอง: สำหรับวัตถุประสงค์ในการกรอง จะมีการใช้งานทั้งสองตารางเหมือนกับว่าเป็นตารางเดียว การตั้งค่า ทั้งสอง ใช้งานได้ดีกับตารางเดียวที่มีตารางการค้นหาจํานวนมากที่ล้อมรอบอยู่ ตัวอย่างคือตารางขายจริงที่มีตารางการค้นหาสำหรับแผนก การกำหนดค่านี้จะเรียกว่าการกำหนดค่าโครงสร้างแบบดาว (จากตารางศูนย์กลางที่มีตารางการค้นหาหลายครั้ง) อย่างไรก็ตาม ถ้าคุณมีอย่างน้อยสองตารางที่มีตารางการค้นหาด้วย (มีบางตารางที่เหมือนกัน) คุณไม่ต้องใช้การตั้งค่าแบบ ทั้งสอง เมื่อต้องการใช้ตัวอย่างก่อนหน้าต่อไป ในกรณีนี้ คุณจะมีตารางงบประมาณการขายที่จะบันทึกงบประมาณเป้าหมายสำหรับแต่ละแผนกด้วย และตารางแผนกจะเชื่อมต่อกับทั้งตารางการขายและตารางงบประมาณ หลีกเลี่ยงการตั้งค่า ทั้งสอง สำหรับการกำหนดค่าชนิดนี้ เดียว: ทิศทางเริ่มต้นที่พบบ่อยที่สุด ซึ่งหมายถึงตัวเลือกในการกรองในตารางการที่เชื่อมต่อทำงานบนตารางที่จะมีการรวมค่า ถ้าคุณนำเข้า Power Pivot ใน Excel 2013 หรือแบบจำลองข้อมูลก่อนหน้า ความสัมพันธ์ทั้งหมดจะมีทิศทางเดียว สำหรับข้อมูลเพิ่มเติมเกี่ยวกับเวลาที่จะเปลี่ยนแปลงทิศทางตัวกรองข้าม โปรดดู ทำความเข้าใจตัวเลือกเพิ่มเติม เปิดใช้งานความสัมพันธ์นี้เมื่อเลือกส่วนนี้ ความสัมพันธ์ทำหน้าที่เป็นการเปิดใช้งาน เป็นความสัมพันธ์เริ่มต้น ในกรณีไม่มีมากกว่าหนึ่งความสัมพันธ์ระหว่างตารางสองตาราง ความสัมพันธ์ที่ใช้งานอยู่มีวิธีสำหรับ Power BI Desktop เพื่อสร้างการแสดงภาพที่มีทั้งสองตารางโดยอัตโนมัติ สำหรับข้อมูลเพิ่มเติมเกี่ยวกับเวลาเมื่อต้องเปิดใช้งานความสัมพันธ์ใดความสัมพันธ์หนึ่ง โปรดดู ทำความเข้าใจตัวเลือกเพิ่มเติม ทำความเข้าใจความสัมพันธ์เมื่อคุณเชื่อมต่อสองตารางเข้ากับความสัมพันธ์ หนึ่ง คุณสามารถทำงานกับข้อมูลในทั้งสองตารางได้ในตารางเดียว ทำให้คุณไม่ต้องกังวลเกี่ยวกับรายละเอียดความสัมพันธ์หรือบีบตารางเหล่านั้นลงในตารางเดียวก่อนที่นำเข้า ในหลากหลายสถานการณ์ Power BI Desktop สามารถสร้างความสัมพันธ์สำหรับคุณได้โดยอัตโนมัติ อย่างไรก็ตาม ถ้า Power BI Desktop ไม่สามารถกำหนดได้ด้วยความแน่นอนระดับสูงว่าความสัมพันธ์ระหว่างตารางสองตารางนนั้นควรมีอยู่ Power BI Desktop ไม่สร้างความสัมพันธ์โดยอัตโนมัติ ในกรณีนี้ คุณต้องทำเช่นนั้น เรามาเรียนรู้ในบทช่วยสอนฉบับย่อเพื่อแสดงให้คุณเห็นว่าความสัมพันธ์ทำงานอย่างไรใน Power BI Desktop เคล็ดลับ คุณสามารถเรียนรู้บทเรียนนี้ให้เสร็จสมบูรณ์ได้ด้วยตัวเอง
ตารางแรกนี้ คือ ProjectHours เป็นบันทึกของตั๋วงานที่บันทึกจำนวนชั่วโมงที่บุคคลหนึ่งทำงานในโครงการใดโครงการหนึ่ง ProjectHours
ตารางที่สองนี้ คือ CompanyProject เป็นรายการของโครงการที่มีการกำหนดลำดับความสำคัญเป็น: A, B หรือ C CompanyProject
โปรดสังเกตว่าแต่ละตารางมีหนึ่งคอลัมน์โครงการ แต่ละรายการจะมีชื่อต่างกันเล็กน้อย แต่ดูเหมือนว่ามีค่าเดียวกัน ซึ่งนั่นเป็นสิ่งสำคัญ แล้วเราจะกลับมาดูอีกครั้งในอีกสักครู่ หลังจากที่เรามีสองตารางที่นำเข้ามาในหนึ่งแบบจำลอง เราลองสร้างรายงานกัน สิ่งแรกที่เราต้องการสร้างคือ จำนวนชั่วโมงที่ยื่นตามลำดับความสำคัญโครงการ ดังนั้นเราเลือกลำดับความสำคัญและชั่วโมงจากบานหน้าต่าง เขตข้อมูล ถ้าเราดูที่ตารางของเราในพื้นที่รายงาน คุณจะเห็นจำนวนชั่วโมงเป็น 256 สำหรับแต่ละโครงการ ซึ่งเป็นผลรวมด้วย เห็นได้ชัดเจนว่าตัวเลขไม่ถูกต้อง ทำไม? เนื่องจากเราไม่สามารถคำนวณผลรวมของค่าจากหนึ่งตารางได้ (Hours ในตาราง Project) แบ่งส่วนโดยค่าในตารางอื่น (ลำดับความสำคัญ ในตาราง CompanyProject) โดยไม่มีความสัมพันธ์ระหว่างตารางสองตาราง ดังนั้น เรามาลองสร้างความสัมพันธ์ระหว่างสองตารางเหล่านี้ คุณจำคอลัมน์ที่เราเห็นในทั้งสองตารางที่มีหนึ่งชื่อโครงการแต่มีค่าที่มีลักษณะเหมือนกันได้หรือไม่? เราจะใช้สองคอลัมน์เหล่านี้ในการสร้างความสัมพันธ์ระหว่างตารางของเรา ทำไมใช้คอลัมน์เหล่านี้? ถ้าเราดูที่คอลัมน์ Project ในตาราง ProjectHours เราจะเห็นค่า เช่น สีฟ้า สีแดง สีเหลือง สีส้ม และอื่น ๆ ที่จริงแล้วเราเห็นแถวหลายแถวที่มีค่าเดียวกัน ผลคือ เรามีค่าสีมากมายสำหรับ Project ถ้าเราดูที่คอลัมน์ProjName ในตาราง CompanyProject เราจะเห็นว่ามีเพียงหนึ่งค่าสีสำหรับแต่ละค่าสำหรับชื่อโครงการ แต่ละค่าสีในตารางนี้เป็นค่าเฉพาะและมีความสำคัญ เนื่องจากเราสามารถสร้างความสัมพันธ์ระหว่างตารางสองตารางนี้ได้ ในกรณีนี้เป็นความสัมพันธ์แบบกลุ่มต่อหนึ่ง ในความสัมพันธ์แบบกลุ่มต่อกลุ่ม-ต่อ-หนึ่ง อย่างน้อยหนึ่งคอลัมน์ในหนึ่งตารางต้องประกอบด้วยค่าที่ไม่ซ้ำ มีตัวเลือกเพิ่มเติมเล็กน้อยสำหรับความสัมพันธ์บางอย่างซึ่งเราจะดูในภายหลัง ในตอนนี้เรามาสร้างความสัมพันธ์ระหว่างคอลัมน์ project ในสองตารางของเรากันเถอะ การสร้างความสัมพันธ์ใหม่
เพื่อให้สามารถเปิดเผยได้เต็มรูปแบบ คุณต้องสร้างความสัมพันธ์นี้ด้วยวิธีที่ยาก คุณสามารถเลือกได้เพียง ตรวจหาอัตโนมัติ ในกล่องโต้ตอบ จัดการความสัมพันธ์ อันที่จริง การตรวจจับอัตโนมัติจะสร้างความสัมพันธ์สำหรับคุณโดยอัตโนมัติเมื่อคุณโหลดข้อมูลหากทั้งสองคอลัมน์ที่มีชื่อเดียวกัน แต่ความท้าทายในที่ีนี้คืออะไร? ตอนนี้ เรามาดูที่ตารางในพื้นที่รายงานของเราอีกครั้ง มันดูดีขึ้นเยอะเลย ใช่ไหม? เมื่อเราหาผลรวมของค่าชั่วโมงตามลำดับความสำคัญ Power BI Desktop ค้นหาทุก ๆ ค่าสีตัวอย่างที่ไม่ซ้ำกันในตารางการค้นหา CompanyProject จากนั้นจะมองหาสำหรับทุก ๆ ตัวอย่างที่มีอยู่สำหรับแต่ละค่าในตาราง ProjectHours และคำนวณผลรวมทั้งหมดสำหรับแต่ละค่าที่ไม่ซ้ำกัน นั่นเป็นเรื่องง่าย อันที่จริงแล้วด้วยการตรวจจับอัตโนมัติ คุณอาจไม่ต้องทำอะไรมากเลย การทำความเข้าใจตัวเลือกเพิ่มเติมเมื่อมีการสร้างความสัมพันธ์ไม่ว่าด้วยตรวจหาอัตโนมัติหรือ่คุณสร้างขึ้นด้วยตนเอง Power BI Desktop กำหนดค่าตัวเลือกเพิ่มเติมที่ยึดตามข้อมูลในตารางของคุณโดยอัตโนมัติ ตัวเลือกความสัมพันธ์เพิ่มเติมเหล่านี้จะอยู่ในส่วนล่างของกล่องโต้ตอบ สร้างความสัมพันธ์ และ แก้ไขความสัมพันธ์ โดยทั่วไป Power BI จะตั้งค่าตัวเลือกเหล่านี้โดยอัตโนมัติและคุณไม่จำเป็นต้องปรับค่าเหล่านี้ อย่างไรก็ตาม มีหลายสถานการณ์ที่คุณอาจต้องการกำหนดค่าตัวเลือกเหล่านี้ด้วยตัวคุณเอง อัปเดตความสัมพันธ์อัตโนมัติคุณสามารถจัดการวิธีที่ทำให้ Power BI ดำเนินการ และปรับความสัมพันธ์ในรายงานและแบบจำลองของคุณโดยอัตโนมัติ หากต้องการระบุวิธีที่ Power BI จัดการความสัมพันธ์ ให้เลือก ไฟล์>ตัวเลือกและการตั้งค่า>ตัวเลือกจาก Power BI Desktop จากนั้นเลือก การโหลดข้อมูล ในบานหน้าต่างด้านซ้าย ตัวเลือกสำหรับ ความสัมพันธ์ ปรากฏขึ้น มีสามตัวเลือกที่สามารถเลือกและเปิดใช้งานได้:
การอัปเดตในอนาคตไปยังข้อมูลที่จำเป็นสำหรับจำนวนสมาชิกในเซ็ตต่าง ๆโดยปกติแล่ว Power BI Desktop สามารถกำหนดจำนวนสมาชิกในเซ็ตที่ดีที่สุดสำหรับความสัมพันธ์ได้โดยอัตโนมัติ ถ้าคุณต้องการแทนที่การตั้งค่าโดยอัตโนมัติเนื่องจากคุณทราบว่าข้อมูลจะเปลี่ยนแปลงในอนาคต คุณสามารถเปลี่ยนได้ด้วยการควบคุม คาร์ดินาลลิตี้ มาดูตัวอย่างที่เราจำเป็นต้องเลือกจำนวนสมาชิกในเซ็ตที่แตกต่างกัน ตารางCompanyProjectPriority คือ รายการและลำดับความสำคัญของโครงการทั้งหมดของบริษัท ตาราง ProjectBudget คือ ชุดของโครงการที่ได้รับอนุมัติงบประมาณ CompanyProjectPriority
ProjectBudget
ถ้าเราสร้างความสัมพันธ์ระหว่างคอลัมน์ โครงการที่อนุมัติ ในตาราง ProjectBudget และคอลัมน์ ProjectName ในตาราง CompanyProjectPriority Power BI จะตั้งค่า คาร์ดินาลลิตี้ ไปเป็น หนึ่งถึงหนึ่ง (1: 1) และ ทิศทางการกรองข้าม ไปเป็น ทั้งสอง โดยอัตโนมัติ เหตุผลที่ Power BI ต้องมีการตั้งค่าแบบนี้เป็นเพราะสำหรับ Power BI Desktop การผสมผสานที่ดีที่สุดของทั้งสองตารางมีดังนี้:
มีความสัมพันธ์แบบหนึ่งต่อหนึ่งระหว่างสองตารางของเราเนื่องจากไม่มีค่าที่ไม่ซ้ำกันในคอลัมน์ ProjName ของตารางรวม คอลัมน์ ProjName จะไม่ซ้ำกันเนื่องจากแต่ละค่าเกิดขึ้นเพียงครั้งเดียว ดังนั้นเราสามารถรวมแถวต่าง ๆ จากสองตารางโดยตรงโดยไม่ต้องทำซ้ำได้ แต่สมมติว่าคุณทราบว่าข้อมูลจะเปลี่ยนในครั้งถัดไปที่คุณทำการรีเฟรช ในขณะนี้ ตาราง ProjectBudget เวอร์ชันรีเฟรชมีแถวเพิ่มเติมสำหรับโครงการสีฟ้าและสีแดง: ProjectBudget
แถวเพิ่มเติมเหล่านี้ การรวมกันที่ดีที่สุดของทั้งสองตารางในขณะนี้มีลักษณะดังนี้:
ในตารางรวมใหม่นี้ คอลัมน์ ProjName จะมีค่าที่ซ้ำกัน ทั้งสองตารางต้นฉบับจะไม่มีความสัมพันธ์แบบหนึ่งต่อหนึ่งเมื่อมีการรีเฟรชตาราง ในกรณีนี้ เนื่องจากเราทราบว่าการอัปเดตในอนาคตเหล่านั้นจะทําให้คอลัมน์ ProjName ซ้ํากัน เราต้องการตั้งค่า คาร์ดินาลลิตี้ เป็น กลุ่มต่อหนึ่ง (*:1) โดยมีด้าน กลุ่ม เป็น ProjectBudget และด้าน หนึ่ง เป็น CompanyProjectPriority ปรับทิศทางตัวกรองข้ามสำหรับชุดที่ซับซ้อนของตารางและความสัมพันธ์ต่าง ๆสำหรับความสัมพันธ์ส่วนใหญ่ ทิศทางตัวกรองข้ามถูกตั้งค่าเป็น ทั้งสอง อย่างไรก็ตาม มีบางสถานการณ์ที่คุณอาจจำเป็นต้องตั้งค่าตัวเลือกนี้แตกต่างจากค่าเริ่มต้น เช่น ถ้าคุณกำลังนำเข้าแบบจำลองจาก Power Pivot จากเวอร์ชั่นที่เก่ากว่า โดยที่ทุกความสัมพันธ์ถูกตั้งค่าเป็นทิศทางเดียว ในการตั้งค่าแบบ ทั้งสอง จะเปิดใช้งาน Power BI Desktop เพื่อจัดการกับข้อมูลทั้งหมดของตารางที่เชื่อมต่อกันในแบบเป็นตารางเดียว อย่างไรก็ตาม มีบางสถานการณ์ที่ Power BI Desktop ไม่สามารถตั้งค่าทิศทางตัวกรองข้ามของความสัมพันธ์เป็น ทั้งสอง ได้ และยังทำให้ชุดของค่าเริ่มต้นที่ชัดเจนพร้อมใช้งานสำหรับการรายงาน ถ้าทิศทางตัวกรองข้ามของความสัมพันธ์ไม่ได้ตั้งค่าเป็นแบบ ทั้งสอง โดยปกติแล้วจะเป็นเพราะระบบสร้างค่าที่ไม่ชัดเจน ถ้าการตั้งค่าตัวกรองข้ามที่เป็นค่าเริ่มต้นใช้ไม่ได้สำหรับคุณ ลองตั้งค่าไปเป็นตารางเฉพาะหรือเป็น ทั้งสอง การกรองไขว้ทิศทางเดียวใช้งานได้สำหรับหลายสถานการณ์ อันที่จริงแล้ว ถ้าคุณได้นำเข้าแบบจำลองจาก Power Pivot ใน Excel 2013 หรือเวอร์ชันก่อนหน้า ความสัมพันธ์ทั้งหมดจะถูกตั้งค่าเป็นทิศทางเดียว ทิศทางเดียวหมายความว่า ตัวเลือกการกรองข้อมูลที่เชื่อมต่อตารางทำงานบนตารางที่เกิดการรวมกันขึ้น บางครั้ง การทำความเข้าใจเกี่ยวกับการกรองไขว้อาจเป็นเรื่องยากเล็กน้อย ดังนั้นให้ลองดูที่ตัวอย่าง ด้วยการกรองข้ามทิศทางเดียว หากคุณสร้างรายงานที่สรุปจำนวนชั่วโมงของโครงการ คุณจะสามารถเลือกที่จะสรุป (หรือตัวกรอง) ตามตาราง CompanyProject และคอลัมน์ Priority ของตารางข้างต้น หรือตาราง CompanyEmployee และคอลัมน์ City ของตารางข้างต้น ถ้าอย่างไรก็ตาม คุณต้องการนับจำนวนพนักงานต่อโครงการ (คำถามที่พบน้อย) จะไม่สามารถทำได้ คุณจะได้รับเป็นคอลัมน์ที่มีค่าที่เหมือนกันทั้งหมด ในตัวอย่างต่อไปนี้ ความสัมพันธ์ทั้งสองของทิศทางการกรองข้ามถูกตั้งค่าเป็นทิศทางเดียวไปทางตาราง ProjectHours ใน Values เขตข้อมูล Project ถูกตั้งค่าเป็น Count: ข้อกำหนดตัวกรองจะจัดเรียงต่อเนื่องจาก CompanyProject ไปยัง ProjectHours (ตามที่แสดงในรูปด้านล่าง) แต่ข้อกำหนดตัวกรองดังกล่าวจะไม่จัดเรียงไปถึง CompanyEmployee อย่างไรก็ตาม ถ้าคุณตั้งค่าทิศทางการกรองข้ามเป็น ทั้งสอง คุณจะสามารถใช้งานได้ การตั้งค่า ทั้งสอง อนุญาตให้ตัวกรองข้อมูลจำเพาะไหลไปยัง CompanyEmployee ด้วยทิศทางตัวกรองข้ามที่ตั้งค่าเป็นแบบ ทั้งสอง ตอนนี้รายงานของเราจะปรากฏขึ้นอย่างถูกต้อง: ทิศทางการกรองไขว้แบบ ทั้งสอง ใช้ได้ดีีกับรูปแบบของความสัมพันธ์ของตาราง ตัวอย่างเช่น รูปแบบด้านบน โครงสร้างสคีมาแบบนี้มักเรียกว่า โครงสร้างแบบดาว เช่นนี้: ทิศทางการกรองไขว้ไม่ทำงานได้ดีกับรูปแบบที่พบเห็นได้ทั่วไปมากกว่า ซึ่งมักจะพบในฐานข้อมูลเช่นในไดอะแกรมนี้: ถ้าคุณมีรูปแบบตารางดังนี้ นั่นคือเป็นการวนรอบ การกรองไขว้จะอาจสร้างชุดที่ไม่ชัดเจนของความสัมพันธ์ได้ เช่น ถ้าคุณหาผลรวมของค่าช่องข้อมูลจาก ตาราง X จากนั้นเลือกการกรองตามช่องข้อมูลบน ตาราง Y ดังนั้นจะไม่ชัดเจนว่าตัวกรองควรเดินทาง ผ่านตารางด้านบนหรือด้านล่างตาราง ตัวอย่างทั่วไปของรูปแบบชนิดนี้จะมีตาราง X เป็นตารางยอดขายที่มีข้อมูลจริง และตาราง Y เป็นข้อมูลงบประมาณ ดังนั้น ตารางตรงกลางเป็นตารางการค้นหาที่ทั้งสองตารางใช้ เช่น แผนกหรือภูมิภาค เช่นเดียวกับความสัมพันธ์ที่ใช้งานอยู่/ไม่ได้ใช้งาน Power BI Desktop จะไม่อนุญาตให้ความสัมพันธ์กับการตั้งค่าเป็นแบบ ทั้งสอง หากมีการสร้างความไม่ชัดเจนในรายงาน มีหลายวิธีที่คุณสามารถจัดการกับสถานการณ์นี้ได้ ต่อไปนี้คือสองสถานการณ์ที่พบบ่อยที่สุด:
ความสัมพันธ์ที่ใช้งานอยู่ไม่ถูกต้องเมื่อ Power BI Desktop สร้างความสัมพันธ์โดยอัตโนมัติ ในบางครั้งจะพบมากกว่าหนึ่งความสัมพันธ์ระหว่างตารางสองตาราง เมื่อเกิดสถานการณ์นี้ขึ้น มีเพียงหนึ่งความสัมพันธ์เท่านั้นที่จะมีการตั้งค่าเป็น ใช้งานอยู่ ความสัมพันธ์ที่ใช้งานอยู่ทำหน้าที่เป็นความสัมพันธ์เริ่มต้นเพื่อให้เมื่อคุณเลือกช่องข้อมูลจากสองตารางที่แตกต่างกันได้ Power BI Desktop สามารถสร้างภาพโดยอัตโนมัติสำหรับคุณได้ อย่างไรก็ตาม ในบางกรณี ความสัมพันธ์ที่เลือกโดยอัตโนมัติอาจไม่ถูกต้อง ใช้กล่องโต้ตอบ การจัดการความสัมพันธ์ เพื่อตั้งค่าความสัมพันธ์เป็นใช้งานอยู่ หรือไม่ได้ใช้งาน หรือตั้งค่าความสัมพันธ์ที่ใช้งานอยู่ในกล่องโต้ตอบ การแก้ไขความสัมพันธ์ เพื่อให้แน่ใจว่ามีความสัมพันธ์ที่เป็นค่าเริ่มต้น Power BI Desktop อนุญาตเฉพาะความสัมพันธ์ที่ใช้งานอยู่ความสัมพันธ์เดียวระหว่างสองตารางในเวลาที่กำหนด ดังนั้น คุณต้องตั้งค่าความสัมพันธ์ปัจจุบันเป็น ไม่ได้ใช้งาน ก่อน และจากนั้น ตั้งค่าความสัมพันธ์ที่คุณต้องการให้เป็น ทำงานอยู่ มาลองดูตัวอย่างกัน ตารางแรกนี้เป็น ProjectTickets และตารางที่สองเป็น EmployeeRole ProjectTickets
EmployeeRole
จริง ๆ แล้วมีความสัมพันธ์อยู่สองความสัมพันธ์ในนี้:
ถ้าเราเพิ่มความสัมพันธ์ทั้งสองไปยังรูปแบบ (โดยเพิ่ม OpenedBy ก่อน) จากนั้นกล่องโต้ตอบ จัดการความสัมพันธ์ จะแสดงว่า OpenedBy กำลังใช้งานอยู่: ตอนนี้ ถ้าเราสร้างรายงานที่ใช้เขตข้อมูล บทบาท และ พนักงาน จาก EmployeeRole และเขตข้อมูล ชั่วโมง จาก ProjectTickets ในการแสดงภาพของตารางในพื้นที่รายงาน เราจะเห็นเฉพาะผู้สนับสนุนโครงการเท่านั้น เนื่องจากมีเพียงพวกเขาเท่านั้นที่เปิดตั๋วโครงการ เราสามารถเปลี่ยนความสัมพันธ์ที่กำลังใช้งาน และได้รับ SubmittedBy แทนที่จะเป็น OpenedBy ใน จัดการความสัมพันธ์ เรายกเลิกการทำเครื่องหมายที่ความสัมพันธ์ ProjectTickets(OpenedBy) ไปยัง EmployeeRole(Employee) และจากนั้นตรวจสอบความสัมพันธ์ EmployeeRole(Employee) ไปยัง Project Tickets(SubmittedBy) ดูความสัมพันธ์ทั้งหมดของคุณในมุมมองความสัมพันธ์บางครั้ง รูปแบบของคุณมีหลายตารางและมีความสัมพันธ์ระหว่างกันที่ซับซ้อน มุมมองความสัมพันธ์ใน Power BI Desktop แสดงความสัมพันธ์ทั้งหมดในรูปแบบของคุณ ทิศทางของความสัมพันธ์นั้น และจำนวนนับ ในไดอะแกรมที่ง่ายต่อความเข้าใจและสามารถกำหนดเองได้ เมื่อต้องการเรียนรู้เพิ่มเติม โปรดดู ทำงานกับมุมมองความสัมพันธ์ใน Power BI Desktop การแก้ไขปัญหาส่วนนี้จะให้คําแนะนําและการแก้ไขปัญหาข้อมูลเมื่อทํางานกับความสัมพันธ์ใน Power BI ไม่สามารถกําหนดความสัมพันธ์ระหว่างเขตข้อมูลได้Power BI พยายามแสดงข้อมูลที่เกี่ยวข้องในภาพโดยอนุมานความสัมพันธ์จากแบบจําลองที่ใช้ ในบางครั้ง การอนุมานดังกล่าวยังไม่ชัดเจน และคุณอาจประหลาดใจที่เห็นข้อผิดพลาดในวิชวลของคุณ แสดงว่าไม่มีความสัมพันธ์ระหว่างบางคอลัมน์ เพื่ออธิบายว่า Power BI กําหนดว่าเขตข้อมูลเกี่ยวข้องกันหรือไม่ ลองใช้แบบจําลองตัวอย่างเพื่อแสดงสถานการณ์บางอย่างในส่วนต่อไปนี้ รูปภาพต่อไปนี้แสดงแบบจําลองตัวอย่าง ที่เราจะใช้ในสถานการณ์ตัวอย่าง สถานการณ์ที่ 1: แบบจําลองแบบจําลองแบบดาวแบบดั้งเดิมและไม่มีข้อจํากัดของหน่วยวัดที่ระบุ การอ้างอิงถึงแบบจําลองตัวอย่างในรูปภาพก่อนหน้านี้ มาดูก่อนในครึ่งขวาของรูปภาพกับผู้จําหน่าย - การซื้อ - ตารางผลิตภัณฑ์ นี่คือ Schema รูปดาวแบบดั้งเดิมที่มีตารางข้อเท็จจริง (การซื้อ) และตารางมิติสองตาราง (ผลิตภัณฑ์ และ ผู้จําหน่าย) ความสัมพันธ์ระหว่างตารางมิติและตารางข้อเท็จจริงคือ 1 กับ กลุ่ม (ผลิตภัณฑ์หนึ่งสอดคล้องกับการซื้อจํานวนมาก ผู้ขายหนึ่งรายสอดคล้องกับการซื้อจํานวนมาก) ในสคีมาชนิดนี้ เราสามารถตอบคําถามเช่น เรามียอดขายอะไรบ้างสําหรับผลิตภัณฑ์ X และเรามียอดขายใดสําหรับผู้จัดจําหน่าย Y และผลิตภัณฑ์ใดที่ผู้จําหน่าย Y ขายได้ ถ้าเราต้องความสัมพันธ์กับ ผลิตภัณฑ์ และ ผู้จําหน่าย เราสามารถทําเช่นนั้นได้โดยดูที่ตาราง การซื้อ เพื่อดูว่ามีรายการที่มีผลิตภัณฑ์และผู้ขายรายเดียวกันหรือไม่ คิวรีตัวอย่างอาจมีลักษณะดังต่อไปนี้:
สถานการณ์ที่ 2: Schema รูปดาวแบบดั้งเดิมและข้อจํากัดหน่วยวัดที่ระบุ ในตัวอย่างก่อนหน้าในสถานการณ์ที่ 1 ถ้าผู้ใช้มีข้อจํากัดในรูปแบบของคอลัมน์สรุป (เช่น ผลรวม/ค่าเฉลี่ย/จํานวนการซื้อ) หรือหน่วยวัดแบบจําลอง (จํานวนที่แตกต่างกันของ VendID) Power BI สามารถสร้างคิวรีในรูปแบบของต่อไปนี้:
ในกรณีดังกล่าว Power BI พยายามส่งกลับการรวมค่าที่มีความหมายสําหรับข้อจํากัดที่กําหนดโดยผู้ใช้ (ไม่ใช่ค่าว่าง) Power BI ไม่จําเป็นต้องเพิ่มข้อจํากัดโดยนัยของตนเองของ CountRows(Purchases)>0 เช่นสิ่งที่ได้ทําในสถานการณ์ 1 ก่อนหน้านี้ เนื่องจากข้อจํากัดที่จัดหาโดยผู้ใช้นั้นเพียงพอ สถานการณ์ที่ 3: เค้าร่างที่ไม่ใช่ดาวและไม่มีข้อจํากัดหน่วยวัดที่ระบุ ในสถานการณ์นี้ เราจะมุ่งเน้นความสนใจของเราไปที่ศูนย์กลางของแบบจําลอง ซึ่งเรามีตาราง ยอดขาย - ผลิตภัณฑ์ - การซื้อ ที่เรามีตารางมิติหนึ่งตาราง (ผลิตภัณฑ์) และตารางข้อเท็จจริงสองตาราง (ยอดขายการซื้อ) เนื่องจากนี่ไม่ใช่เค้าร่างดาว เราจึงไม่สามารถตอบคําถามประเภทเดียวกับที่เรามีในสถานการณ์ที่ 1 ได้ สมมติว่าเราพยายามสร้างความสัมพันธ์ระหว่างการซื้อและการขาย เนื่องจากการซื้อมีความสัมพันธ์แบบ กลุ่มต่อ 1 กับ ผลิตภัณฑ์ และผลิตภัณฑ์มีความสัมพันธ์แบบ 1 ต่อกลุ่มกับ ยอดขายและการซื้อทางอ้อมแบบ กลุ่มต่อกลุ่ม เราสามารถเชื่อมโยง ผลิตภัณฑ์ หนึ่งกับ การซื้อ จํานวนมากและ หนึ่งผลิตภัณฑ์ กับการขายจํานวนมาก แต่เราไม่สามารถเชื่อมโยง การขาย หนึ่งกับ การซื้อ จํานวนมากหรือในทางกลับกันได้ เราสามารถเชื่อมโยง การซื้อหลายรายการ กับ ยอดขายจํานวนมากได้เท่านั้น ในสถานการณ์นี้ ถ้าเราพยายามรวม ซื้อ [VenID] และ Sales[CustID] ในวิชวล Power BI ไม่มีข้อจํากัดที่เป็นรูปธรรมที่สามารถนําไปใช้ได้ เนื่องจากความสัมพันธ์ แบบ กลุ่มต่อกลุ่ม ระหว่างตารางเหล่านั้น แม้ว่าจะมีข้อจํากัดแบบกําหนดเอง (ไม่จําเป็นต้องมาจากความสัมพันธ์ที่สร้างขึ้นในแบบจําลอง) ที่สามารถนําไปใช้กับสถานการณ์ต่าง ๆ ได้ แต่ Power BI ไม่สามารถอนุมานข้อจํากัดเริ่มต้นตามความสัมพันธ์เท่านั้น หาก Power BI พยายามส่งคืนชุดรวมทั้งหมดของสองตาราง ก็จะสร้างการรวมข้ามขนาดใหญ่และส่งกลับข้อมูลที่ไม่เกี่ยวข้อง แทนที่จะเป็นเช่นนี้ Power BI จะทําให้เกิดข้อผิดพลาดในวิชวลเช่นต่อไปนี้ สถานการณ์ที่ 4: เค้าร่างที่ไม่ใช่ดาวและข้อจํากัดหน่วยวัดที่ระบุ ถ้าเราใช้ตัวอย่างจากสถานการณ์ที่ 3 และเพิ่มข้อจํากัดที่ผู้ใช้ระบุในรูปแบบของคอลัมน์สรุป (ตัวอย่างเช่น จํานวนของผลิตภัณฑ์ [ProdID] หรือหน่วยวัดแบบจําลอง (Sales[Total Qty]) Power BI สามารถสร้างคิวรีในรูปแบบของ การซื้อแบบสหสัมพันธ์[VenID] และ Sales[CustID] ซึ่ง MeasureConstraint ไม่ว่างเปล่า ในกรณีนี้ Power BI คํานึงถึงข้อจํากัดของผู้ใช้เนื่องจากเป็นข้อจํากัดเพียงอย่างเดียวของ Power BI ที่ต้องนํามาใช้ และส่งกลับชุดข้อมูลที่สร้างค่าที่ไม่ใช่ค่าว่างให้ ผู้ใช้ได้แนะนํา Power BI ไปยังสถานการณ์ที่ต้องการ และ Power BI นําคําแนะนําไปใช้ สถานการณ์ที่ 5: เมื่อมีการระบุข้อจํากัดหน่วยวัด แต่เกี่ยวข้องกับคอลัมน์บางส่วน มีบางกรณีที่ข้อจํากัดหน่วยวัดที่กําหนดโดยผู้ใช้ไม่เกี่ยวข้องกับคอลัมน์ทั้งหมดในวิชวล หน่วยวัดแบบจําลองเกี่ยวข้องกับทุกอย่างเสมอ Power BI จะถือว่าสิ่งนี้เป็นกล่องดําเมื่อพยายามค้นหาความสัมพันธ์ระหว่างคอลัมน์ในวิชวล และสมมติว่าผู้ใช้ทราบว่าพวกเขากําลังทําอะไรอยู่โดยใช้มัน อย่างไรก็ตาม คอลัมน์สรุปในรูปแบบของ Sum, Average และสรุปที่คล้ายกันที่เลือกจากส่วนติดต่อผู้ใช้อาจเกี่ยวข้องกับเฉพาะชุดย่อยของคอลัมน์/ตารางที่ใช้ในวิชวลโดยยึดตามความสัมพันธ์ของตารางที่คอลัมน์นั้นเป็นของคอลัมน์นั้น ดังนั้น ข้อจํากัดนําไปใช้กับการจับคู่คอลัมน์บางตัว แต่ไม่ใช่ทั้งหมด ในกรณีนี้ Power BI จึงพยายามค้นหาข้อจํากัดเริ่มต้น ที่จะนําไปใช้กับคอลัมน์ที่ไม่เกี่ยวข้องกันตามข้อจํากัดที่ผู้ใช้กําหนด (เช่น ในสถานการณ์ที่ 1) ถ้า Power BI ไม่พบข้อผิดพลาดใด ๆ ข้อผิดพลาดต่อไปนี้จะถูกส่งกลับ การแก้ไขข้อผิดพลาดของความสัมพันธ์เมื่อคุณเห็น ไม่สามารถกําหนดความสัมพันธ์ระหว่างข้อผิดพลาดของเขตข้อมูล คุณสามารถทําตามขั้นตอนต่อไปนี้เพื่อพยายามแก้ไขข้อผิดพลาด:
ขั้นตอนถัดไปสําหรับข้อมูลเพิ่มเติมเกี่ยวกับแบบจําลองและความสัมพันธ์ โปรดดูบทความต่อไปนี้:
|