กิจกรรม
เข้าร่วมกับเราที่ FabCon Vegas
31 มี.ค. 23 - 2 เม.ย. 23
เหตุการณ์ที่นําโดยชุมชนของ Microsoft Fabric, Power BI, SQL และ AI 31 มีนาคมถึงวันที่ 2 เมษายน 2025
ลงทะเบียนวันนี้เบราว์เซอร์นี้ไม่ได้รับการสนับสนุนอีกต่อไป
อัปเกรดเป็น Microsoft Edge เพื่อใช้ประโยชน์จากคุณลักษณะล่าสุด เช่น การอัปเดตความปลอดภัยและการสนับสนุนด้านเทคนิค
บทความนี้มีเป้าหมายให้ตัวสร้างแบบจําลองข้อมูล Power BI Desktop ซึ่งอธิบายการออกแบบแบบจําลองมิติที่มีลักษณะแบบดาวและความสัมพันธ์ของการออกแบบนั้นเพื่อพัฒนาแบบจําลองความหมายของ Power BI ที่ปรับให้เหมาะสมเพื่อประสิทธิภาพการทํางานและความสามารถในการใช้งาน
ข้อสำคัญ
แบบจําลองความหมายของ Power BI ขึ้นอยู่กับ Power Query เพื่อนําเข้าหรือเชื่อมต่อกับข้อมูล ซึ่งหมายความว่าคุณต้องใช้ Power Query เพื่อแปลงและเตรียมข้อมูลต้นฉบับ ซึ่งอาจเป็นเรื่องท้าทายเมื่อคุณมีปริมาณข้อมูลขนาดใหญ่ หรือคุณจําเป็นต้องใช้แนวคิดขั้นสูง เช่น การเปลี่ยนแปลงมิติอย่างช้า ๆ (อธิบายไว้ใน บทความนี้)
เมื่อคุณได้รับความท้าทายเหล่านี้ เราขอแนะนําให้คุณพัฒนาคลังข้อมูลและกระบวนการแยก แปลง และโหลด (ETL) เป็นระยะ ๆ เพื่อโหลดคลังข้อมูล จากนั้นแบบจําลองความหมายของคุณสามารถเชื่อมต่อกับคลังข้อมูลได้ สําหรับข้อมูลเพิ่มเติม ดูการสร้างแบบจําลองมิติใน Microsoft Fabric Warehouse
เคล็ดลับ
บทความนี้ไม่ได้เจตนาที่จะพูดคุยถึงการออกแบบแบบจําลองข้อมูลรูปดาวที่สมบูรณ์แต่อย่างใด สําหรับข้อมูลเพิ่มเติม ให้ดูที่เนื้อหาที่เผยแพร่ที่ปรับใช้อย่างกว้างขวางโดยตรง เช่น ชุดเครื่องมือคลังข้อมูล: คําแนะนําในการสร้างแบบจําลอง เชิงมิติฉบับสมบูรณ์ (รุ่นที่ 3, 2013) โดย Ralph Kimball และอื่น ๆ
แบบจําลองมิติ ที่มีลักษณะคล้ายดาวคือวิธีการสร้างแบบจําลองที่สมบูรณ์ซึ่งนํามาใช้โดยคลังข้อมูลเชิงสัมพันธ์อย่างกว้างขวาง ซึ่งกําหนดให้ตัวสร้างแบบจําลองจัดประเภทตารางแบบจําลองของตนเป็นมิติหรือข้อเท็จจริง
Date
คีย์มิติ และProductKey
เป็นเรื่องง่ายที่จะเข้าใจว่าตารางมีสองมิติ อย่างไรก็ตาม ไม่สามารถกําหนดส่วนประกอบได้โดยไม่ต้องพิจารณาค่าคีย์มิติ ในตัวอย่างนี้ พิจารณาว่าค่าที่จัดเก็บไว้ใน Date
คอลัมน์คือวันแรกของแต่ละเดือน ในกรณีนี้ กรานูลาริตี้อยู่ในระดับเดือน-ผลิตภัณฑ์โดยทั่วไปแล้ว ตารางสําหรับเก็บข้อมูลมิติจะประกอบด้วยจํานวนแถวที่ค่อนข้างน้อย ในทางกลับกันตารางข้อเท็จจริงสามารถประกอบด้วยแถวจํานวนมากและเพิ่มขึ้นอย่างต่อเนื่องเมื่อเวลาผ่านไป
เมื่อต้องการทําความเข้าใจแนวคิดของ Schema รูปดาวบางอย่างที่อธิบายไว้ในบทความนี้ สิ่งสําคัญคือต้องทราบสองคํา: การทําให้เป็นมาตรฐานและดีนอร์มอลไลเซต
การปรับมาตรฐาน เป็นคําที่ใช้ในการอธิบายข้อมูลที่จัดเก็บในลักษณะที่ลดข้อมูลซ้ํา ๆ พิจารณาตารางผลิตภัณฑ์ที่มีคอลัมน์ค่าคีย์ที่ไม่ซ้ํากัน เช่น คีย์ผลิตภัณฑ์ และคอลัมน์อื่น ๆ ที่อธิบายลักษณะของผลิตภัณฑ์ เช่น ชื่อผลิตภัณฑ์ หมวดหมู่ สี และขนาด ตารางยอดขายจะถือว่าเป็นมาตรฐานเมื่อจัดเก็บเฉพาะคีย์เท่านั้น เช่น คีย์ผลิตภัณฑ์ ในรูปต่อไปนี้ โปรดสังเกตว่าเฉพาะคอลัมน์เท่านั้นที่ ProductKey
บันทึกผลิตภัณฑ์
อย่างไรก็ตาม ถ้าตารางยอดขายจัดเก็บรายละเอียดผลิตภัณฑ์นอกเหนือจากคีย์ จะถือว่าไม่มีการนอร์มอลไลซ์ ในรูปต่อไปนี้ โปรดสังเกตว่า ProductKey
คอลัมน์ที่เกี่ยวข้องกับผลิตภัณฑ์และคอลัมน์อื่น ๆ บันทึกผลิตภัณฑ์
เมื่อคุณแหล่งข้อมูลจากไฟล์การส่งออกหรือการแยกข้อมูล อาจเป็นไปได้ว่าข้อมูลแสดงถึงชุดข้อมูลที่ไม่มีการนอร์มอลไลเซต ในกรณีนี้ ให้ใช้ Power Query เพื่อแปลงและจัดรูปร่างข้อมูลต้นฉบับเป็นตารางปกติหลายตาราง
ตามที่อธิบายไว้ในบทความนี้ คุณควรพยายามพัฒนาแบบจําลองความหมาย Power BI ที่ปรับให้เหมาะสมด้วยตารางที่แสดงข้อมูลข้อเท็จจริงและข้อมูลมิติที่ปกติ อย่างไรก็ตาม มีข้อยกเว้นหนึ่งข้อที่ อาจไม่มีการดีนอร์มอลไลซ์สําหรับมิติ ที่เพิ่มการทํานอร์มอลไลซ์กับข้อมูลเพื่อสร้างตารางแบบจําลองเดียว
การออกแบบแบบจําลองมิติที่ดาวและแนวคิดที่เกี่ยวข้องมากมายที่แนะนําในบทความนี้มีความเกี่ยวข้องอย่างมากในการพัฒนาแบบจําลอง Power BI ที่ได้รับการปรับให้เหมาะสมสําหรับประสิทธิภาพการทํางานและความสามารถในการใช้งาน
พิจารณาว่าวิชวลรายงาน Power BI แต่ละรายการจะสร้างคิวรีที่ส่งไปยังแบบจําลองความหมายของ Power BI โดยทั่วไป แล้ว จะกรองคิวรี จัดกลุ่ม และสรุปข้อมูลแบบจําลอง จากนั้น แบบจําลองที่ได้รับการออกแบบมาอย่างดีคือแบบจําลองที่มีตารางสําหรับการกรองและการจัดกลุ่ม และตารางสําหรับการสรุปข้อมูล การออกแบบนี้เหมาะสมกับหลักการ Schema ของดาว:
ไม่มีคุณสมบัติของตารางที่ผู้สร้างแบบจําลองตั้งค่าเพื่อตั้งค่าชนิดตารางเป็นมิติหรือข้อเท็จจริง ซึ่งเป็นข้อเท็จจริงที่กําหนดโดยความสัมพันธ์ของแบบจําลอง ความสัมพันธ์แบบจําลองสร้างเส้นทางการเผยแพร่ตัวกรองระหว่างสองตาราง และเป็นคุณสมบัติคาร์ดินาลลิตี้ของความสัมพันธ์ที่กําหนดชนิดตาราง คาร์ดินาลลิตี้ของความสัมพันธ์ทั่วไปคือหนึ่งต่อกลุ่มหรือในทางกลับกันเป็นแบบกลุ่มต่อหนึ่ง ด้าน "หนึ่ง" คือตารางมิติเสมอในขณะที่ด้าน "กลุ่ม" คือตารางข้อเท็จจริงเสมอ
การออกแบบแบบจําลองที่มีโครงสร้างเป็นอย่างดีรวมถึงตารางที่เป็นตารางมิติหรือตารางข้อเท็จจริง หลีกเลี่ยงการผสมตารางทั้งสองชนิดเข้าด้วยกันสําหรับตารางเดียว นอกจากนี้เราขอแนะนําให้คุณพยายามส่งจํานวนตารางที่ถูกต้องกับความสัมพันธ์ที่ถูกต้องในสถานที่ นอกจากนี้ยังเป็นสิ่งสําคัญที่ว่าตารางข้อเท็จจริงจะโหลดข้อมูลที่เกรนที่สอดคล้องกันเสมอ
สุดท้ายนี้ คุณจะต้องเข้าใจว่าการออกแบบแบบจําลองที่เหมาะสมนั้นถือเป็นวิทยาศาสตร์ส่วนหนึ่งและศิลปะส่วนหนึ่ง ในบางครั้งคุณสามารถแบ่งมันออกด้วยคําแนะนําที่ดีเมื่อดูแล้วสมเหตสที่ต้องดําเนินการดังกล่าว
มีแนวคิดมากมายที่เกี่ยวข้องกับการออกแบบ Schema รูปดาวที่สามารถนําไปใช้กับแบบจําลองความหมายของ Power BI ได้ แนวคิดเหล่านี้ประกอบด้วย:
ในการออกแบบ Schema รูป ดาว หน่วยวัด คือคอลัมน์ตารางสําหรับเก็บข้อมูลตัวชี้วัดที่จัดเก็บค่าที่จะสรุป ในแบบจําลองความหมาย Power BI หน่วยวัดมีความแตกต่างกัน—แต่นิยามนั้น—คล้ายกัน แบบจําลองสนับสนุนการวัดผลทั้งแบบชัดเจนและแบบโดยนัย
SUM
MIN
, , MAX
AVERAGE
, และอื่น ๆ เพื่อสร้างผลลัพธ์ค่าสเกลาในเวลาที่มีการคิวรี (ไม่มีการจัดเก็บค่าไว้ในแบบจําลอง) นิพจน์หน่วยวัดมีตั้งแต่การรวมคอลัมน์แบบง่ายไปจนถึงสูตรที่ซับซ้อนมากขึ้นซึ่งลบล้างบริบทตัวกรองและ/หรือการกระจายความสัมพันธ์ สําหรับข้อมูลเพิ่มเติม โปรดอ่านเกี่ยวกับ พื้นฐาน DAX ใน Power BI DesktopSales Amount
ของผู้ค้าปลีกของงานผจญภัยสามารถสรุปได้หลายวิธี (เช่น ผลรวม จํานวน นับ ค่าเฉลี่ย ค่ามัธยฐาน ค่าต่ําสุด ค่าสูงสุด และอื่น ๆ) โดยไม่จําเป็นต้องสร้างหน่วยวัดสําหรับแต่ละชนิดการรวมที่เป็นไปได้ในบานหน้าต่าง ข้อมูล การวัดผลแบบชัดเจนจะแสดงด้วยไอคอนเครื่องคิดเลข ในขณะที่การวัดผลแบบโดยนัยจะแสดงด้วยสัญลักษณ์ Sigma (∑)
อย่างไรก็ตาม มีสามสาเหตุที่น่าสนใจที่คุณอาจสร้างหน่วยวัด แม้แต่กับการให้ข้อสรุปในระดับคอลัมน์แบบง่าย:
เมื่อคุณทราบว่าผู้เขียนรายงานจะคิวรีแบบจําลองความหมายโดยใช้ นิพจน์หลายมิติ (MDX) แบบจําลองจะต้องรวมหน่วยวัดโดยตรง นั่นเป็นเพราะ MDX ไม่สามารถบรรลุการให้ข้อสรุปของค่าคอลัมน์ได้ โดยเฉพาะอย่างยิ่ง MDX จะใช้เมื่อทําการ วิเคราะห์ใน Excel เนื่องจากคิวรี MDX ของปัญหา PivotTable
เมื่อคุณทราบว่าผู้เขียนรายงานของคุณจะสร้างรายงานที่มีการแบ่งหน้าของ Power BI โดยใช้ตัวออกแบบคิวรี MDX แบบจําลองความหมายจะต้องรวมหน่วยวัดโดยตรง เฉพาะตัวออกแบบคิวรี MDX เท่านั้นที่ สนับสนุนการรวมเซิร์ฟเวอร์ ดังนั้น ถ้าผู้เขียนรายงานจําเป็นต้องมีหน่วยวัดที่ประเมินโดย Power BI (แทนที่จะเป็นโดยกลไกจัดการรายงานที่มีการแบ่งหน้า) พวกเขาต้องใช้ตัวออกแบบคิวรี MDX
เมื่อคุณต้องการควบคุมวิธีการที่ผู้เขียนรายงานของคุณสรุปคอลัมน์ในรูปแบบที่เฉพาะเจาะจง ตัวอย่างเช่น คอลัมน์ยอดขาย Unit Price
ของผู้ค้าปลีก (ซึ่งแสดงถึงอัตราต่อหน่วย) สามารถสรุปได้ แต่โดยใช้ฟังก์ชันการรวมเฉพาะเท่านั้น ซึ่งไม่ควรมีการรวมข้อมูลแต่มีความเหมาะสมในการสรุปโดยใช้ฟังก์ชันการรวมอื่น ๆ เช่น ต่ําสุด, สูงสุด หรือค่าเฉลี่ย ในอินสแตนซ์นี้ ตัวสร้างแบบจําลองสามารถซ่อน Unit Price
คอลัมน์และสร้างหน่วยวัดสําหรับฟังก์ชันการรวมที่เหมาะสมทั้งหมดได้
วิธีการออกแบบนี้ทํางานได้ดีสําหรับรายงานที่เขียนในบริการของ Power BI และ Q & A อย่างไรก็ตาม การเชื่อมต่อสดของ Power BI Desktop อนุญาตให้ผู้เขียนรายงานแสดงเขตข้อมูลที่ซ่อนอยู่ในบานหน้าต่างข้อมูล ซึ่งอาจส่งผลให้เกิดการหลีกเลี่ยงวิธีการออกแบบนี้
คีย์ตัวแทนเป็นตัวระบุที่ไม่ซ้ํากันที่คุณเพิ่มลงในตารางเพื่อสนับสนุนการสร้างแบบจําลองมิติที่มีลักษณะเหมือนดาว ตามข้อกําหนด จะไม่มีการกําหนดหรือจัดเก็บไว้ในข้อมูลต้นฉบับ โดยทั่วไปแล้ว จะมีการเพิ่มคีย์ตัวแทนไปยังตารางสําหรับจัดเก็บข้อมูลสําหรับแต่ละมิติทางธุรกิจคลังข้อมูลเชิงสัมพันธ์เพื่อมอบตัวระบุที่ไม่ซ้ํากันสําหรับแต่ละแถวตารางสําหรับจัดเก็บข้อมูลสําหรับแต่ละมิติทางธุรกิจ
ความสัมพันธ์ของแบบจําลองเชิงความหมายของ Power BI จะขึ้นอยู่กับคอลัมน์เดี่ยวที่ไม่ซ้ํากันในหนึ่งตาราง ซึ่งเผยแพร่ตัวกรองไปยังคอลัมน์เดียวในตารางอื่น เมื่อตารางมิติในแบบจําลองความหมายของคุณไม่มีคอลัมน์เดี่ยวที่ไม่ซ้ํากันคุณต้องเพิ่มตัวระบุที่ไม่ซ้ํากันเพื่อให้เป็นด้าน "หนึ่ง" ของความสัมพันธ์ ใน Power BI Desktop คุณสามารถดําเนินการตามข้อกําหนดนี้ได้โดยการเพิ่มคอลัมน์ดัชนี Power Query
คุณต้องผสานคิวรีนี้กับคิวรีด้าน "กลุ่ม" เพื่อให้คุณสามารถเพิ่มคอลัมน์ดัชนีไปยังคิวรีได้อีกด้วย เมื่อคุณโหลดคิวรีเหล่านี้ไปยังแบบจําลองเชิงความหมาย คุณสามารถสร้างความสัมพันธ์แบบหนึ่งต่อกลุ่มระหว่างตารางแบบจําลองได้
แบบจําลอง มิติ ที่เพิ่มการทํานอว์ไลซ์กับข้อมูลคือชุดของตารางที่ทําการนอพยพสําหรับเอนทิตี้ธุรกิจเดี่ยว ตัวอย่างเช่น งานผจญภัยจัดประเภทผลิตภัณฑ์ตามหมวดหมู่และหมวดหมู่ย่อย ผลิตภัณฑ์จะถูกกําหนดให้กับหมวดหมู่ย่อย และประเภทย่อยจะถูกกําหนดให้เป็นหมวดหมู่ ในคลังข้อมูลเชิงสัมพันธ์ของงานผจญภัย จะมีการนมาตรฐานมิติของผลิตภัณฑ์และจัดเก็บไว้ในตารางที่เกี่ยวข้องสามตาราง: DimProductCategory
และ DimProductSubcategory
DimProduct
หากคุณใช้จินตนาการของคุณ คุณสามารถนึกภาพตารางที่ทําการนอร์มัลไลซ์อยู่ภายนอกจากตารางสําหรับเก็บข้อมูลจริง ก่อขึ้นเป็นการออกแบบแบบจําลองมิติที่เพิ่มการทํานอร์มัลไลซ์กับข้อมูล
ใน Power BI Desktop คุณสามารถเลือกจําลองการออกแบบแบบจําลองมิติที่เพิ่มการทํานอร์มอลไลซ์กับข้อมูลได้ (อาจเนื่องมาจากข้อมูลต้นฉบับของคุณ) หรือรวมตารางแหล่งข้อมูลเข้าด้วยกันเป็นตารางแบบจําลองเดี่ยวที่ไม่มีการนอร์มอลไลซ์ โดยทั่วไปแล้ว ประโยชน์ของตารางแบบจําลองเดี่ยวมีค่าเกินกว่าประโยชน์ของตารางแบบจําลองหลายรายการ การตัดสินใจที่เหมาะสมที่สุดอาจขึ้นอยู่กับปริมาณของข้อมูลและข้อกําหนดความสามารถในการใช้งานสําหรับแบบจําลอง
เมื่อคุณเลือกจําลองการออกแบบแบบจําลองมิติที่เพิ่มการทํานึ่งหิมะ:
เมื่อคุณเลือกที่จะรวมลงในตารางแบบจําลองเดี่ยว คุณยังสามารถกําหนดลําดับชั้นที่ครอบคลุมถึงเกรนสูงสุดและต่ําสุดของมิติได้อีกด้วย มีเป็นไปได้ว่าการจัดเก็บข้อมูลที่ไม่มีการนอร์มอลไลซ์ที่ซ้ําซ้อนอาจส่งผลให้ขนาดพื้นที่จัดเก็บแบบจําลองเพิ่มขึ้นโดยเฉพาะอย่างยิ่งสําหรับตารางสําหรับจัดเก็บข้อมูลสําหรับแต่ละมิติข้อมูลขนาดใหญ่
มิติที่มีการเปลี่ยนแปลงอย่างช้า ๆ (หรือ SCD) คือ หนึ่งมิติจัดการการเปลี่ยนแปลงของสมาชิกมิติเมื่อเวลาผ่านไปได้อย่างเหมาะสม ซึ่งจะใช้เมื่อค่าเอนทิตีทางธุรกิจเปลี่ยนแปลง ช้า เมื่อเวลาผ่านไปในลักษณะที่ไม่ได้วางแผนไว้ ตัวอย่างที่ดีของ SCD คือมิติลูกค้า เนื่องจากคอลัมน์รายละเอียดผู้ติดต่อ เช่น ที่อยู่อีเมลและหมายเลขโทรศัพท์มีการเปลี่ยนแปลงไม่บ่อยนัก ในทางตรงกันข้าม บางมิติจะถือว่า มีการเปลี่ยนแปลงอย่างรวดเร็ว เมื่อมีการเปลี่ยนแปลงแอตทริบิวต์มิติบ่อยครั้ง เช่น ราคาตลาดของหุ้น วิธีการออกแบบทั่วไปในอินสแตนซ์เหล่านี้คือ เพื่อจัดเก็บค่าแอตทริบิวต์ที่เปลี่ยนแปลงอย่างรวดเร็วในหน่วยวัดของตารางสําหรับเก็บข้อมูลตัวชี้วัด
ทฤษฎีการออกแบบแบบจําลองมิติที่มีลักษณะคล้ายดาวดาวอ้างอิงถึง SCD สองชนิดที่พบบ่อย: ชนิดที่ 1 และชนิดที่ 2 ตารางสําหรับเก็บข้อมูลมิติอาจเป็นชนิดที่ 1 หรือชนิดที่ 2 หรือสนับสนุนทั้งสองชนิดในเวลาเดียวกันสําหรับคอลัมน์ที่แตกต่างกัน
SCD ชนิดที่ 1 แสดงค่าล่าสุดเสมอ และเมื่อตรวจพบการเปลี่ยนแปลงในข้อมูลต้นฉบับ ข้อมูลตารางสําหรับจัดเก็บข้อมูลหลายมิติจะถูกเขียนทับ วิธีการออกแบบนี้เป็นเรื่องปกติสําหรับคอลัมน์ที่จัดเก็บค่าเสริม เช่น ที่อยู่อีเมลหรือหมายเลขโทรศัพท์ของลูกค้า เมื่อที่อยู่อีเมลหรือหมายเลขโทรศัพท์ของลูกค้ามีการเปลี่ยนแปลง ตารางสําหรับเก็บข้อมูลมิติจะอัปเดตแถวลูกค้าด้วยค่าใหม่ ซึ่งเหมือนกับว่าลูกค้ามีข้อมูลการติดต่อนี้อยู่เสมอ
การรีเฟรชแบบเพิ่มหน่วยของตารางมิติแบบจําลอง Power BI ให้ผลลัพธ์ของ SCD ชนิดที่ 1 ซึ่งจะรีเฟรชข้อมูลตารางเพื่อให้แน่ใจว่ามีการโหลดค่าล่าสุด
SCD ชนิดที่ 2 สนับสนุนการกําหนดเวอร์ชันของสมาชิกมิติ ถ้าระบบต้นทางไม่ได้จัดเก็บเวอร์ชันไว้ โดยปกติแล้วจะเป็นกระบวนการโหลดของคลังข้อมูลที่ตรวจหาการเปลี่ยนแปลงและจัดการการเปลี่ยนแปลงในตารางสําหรับจัดเก็บข้อมูลสําหรับจัดเก็บข้อมูลอย่างเหมาะสม ในกรณีนี้ ตารางสําหรับเก็บข้อมูลมิติต้องใช้คีย์ตัวแทนเพื่อระบุการอ้างอิงที่ไม่ซ้ํากันกับ เวอร์ชัน ของสมาชิกมิติ นอกจากนี้ยังรวมถึงคอลัมน์ที่กําหนดความถูกต้องของช่วงวันที่ของเวอร์ชัน (ตัวอย่างเช่น StartDate
และ EndDate
) และอาจเป็นคอลัมน์ค่าสถานะ (ตัวอย่างเช่น IsCurrent
) เพื่อกรองตามสมาชิกมิติปัจจุบันได้อย่างง่ายดาย
ตัวอย่างเช่น งานผจญภัยจะกําหนดพนักงานขายทุกรายให้กับภูมิภาคการขาย เมื่อพนักงานขายย้ายภูมิภาค จะต้องมีการสร้างเวอร์ชันใหม่ของพนักงานขายเพื่อให้แน่ใจว่าค่าความจริงในอดีตยังคงเชื่อมโยงกับภูมิภาคก่อนหน้านี้ เมื่อต้องการสนับสนุนการวิเคราะห์ประวัติยอดขายที่ถูกต้องตามพนักงานขาย ตารางสําหรับจัดเก็บข้อมูลสําหรับมิติต้องจัดเก็บเวอร์ชันของพนักงานขายและภูมิภาคที่เกี่ยวข้องของพวกเขา นอกจากนี้ตารางควรรวมค่าวันที่เริ่มต้นและสิ้นสุดเพื่อกําหนดความมีผลบังคับใช้ของเวลา เวอร์ชันปัจจุบันอาจกําหนดวันที่สิ้นสุดว่าง (หรือ 12/31/9999) ซึ่งบ่งชี้ว่าแถวเป็นเวอร์ชันปัจจุบัน ตารางต้องมี คีย์ ตัวแทนด้วย เนื่องจากคีย์ธุรกิจ (ในอินสแตนซ์นี้ รหัสพนักงาน) จะไม่ซ้ํากัน
สิ่งสําคัญคือต้องเข้าใจว่าเมื่อข้อมูลต้นฉบับไม่ได้จัดเก็บเวอร์ชันไว้ คุณต้องใช้ระบบขั้นกลาง (เช่น คลังข้อมูล) เพื่อตรวจหาและจัดเก็บการเปลี่ยนแปลง กระบวนการโหลดตารางต้องรักษาข้อมูลที่มีอยู่และตรวจหาการเปลี่ยนแปลง เมื่อตรวจพบการเปลี่ยนแปลง กระบวนการโหลดตารางต้องทําให้เวอร์ชันปัจจุบันหมดอายุ ซึ่งจะบันทึกการเปลี่ยนแปลงเหล่านี้โดยการอัปเดตค่าEndDate
และการแทรกเวอร์ชันใหม่ด้วยค่าที่StartDate
เริ่มต้นจากค่าก่อนหน้าEndDate
นอกจากนี้ ข้อเท็จจริงที่เกี่ยวข้องต้องใช้การค้นหาตามเวลาเพื่อดึงข้อมูลค่าคีย์มิติที่เกี่ยวข้องกับวันที่ตามค่าความจริง แบบจําลองความหมายของ Power BI ใช้ Power Query และดังนั้นจึงไม่สามารถสร้างผลลัพธ์นี้ได้ อย่างไรก็ตามการดําเนินการนี้สามารถโหลดข้อมูลจากตารางมิติข้อมูล SCD ชนิดที่ 2 ที่โหลดไว้ล่วงหน้าได้
เคล็ดลับ
หากต้องการเรียนรู้วิธีการใช้ตารางมิติ SCD ชนิดที่ 2 ในคลังสินค้า Fabric ให้ดู จัดการการเปลี่ยนแปลงในอดีต
แบบจําลองความหมายของ Power BI ควรสนับสนุนการคิวรีข้อมูลประวัติสําหรับสมาชิก โดยไม่คํานึงถึงการเปลี่ยนแปลง และสําหรับเวอร์ชันของสมาชิกซึ่งแสดงสถานะเฉพาะของสมาชิกในเวลา ในบริบทของงานผจญภัย การออกแบบนี้จะช่วยให้คุณสามารถคิวรีพนักงานขายได้โดยไม่คํานึงถึงภูมิภาคการขายที่กําหนด หรือสําหรับเวอร์ชันเฉพาะของพนักงานขาย
เพื่อให้บรรลุข้อกําหนดนี้ ตารางมิติแบบจําลองความหมาย Power BI ต้องรวมคอลัมน์สําหรับการกรองพนักงานขาย และคอลัมน์ที่แตกต่างกันสําหรับการกรองเวอร์ชันเฉพาะของพนักงานขาย สิ่งสําคัญคือคอลัมน์เวอร์ชันจะมีคําอธิบายที่ไม่กํากวม เช่น David Campbell (12/15/2008-06/26/2019)
หรือDavid Campbell (06/27/2019-Current)
นอกจากนี้ยังเป็นสิ่งสําคัญที่จะให้ความรู้แก่ผู้เขียนรายงานและผู้บริโภคเกี่ยวกับพื้นฐานของ SCD ชนิดที่ 2 และวิธีการออกแบบรายงานที่เหมาะสมโดยใช้ตัวกรองที่ถูกต้อง
ซึ่งเป็นแนวทางปฏิบัติที่ดีในการออกแบบเพื่อรวมลําดับชั้นที่อนุญาตให้วิชวลเจาะลึกลงในระดับเวอร์ชัน
มิติการเล่นบทบาทคือ มิติที่สามารถกรองค่าความจริงที่เกี่ยวข้องแตกต่างกันได้ ตัวอย่างเช่น ที่งานผจญภัย ตารางมิติวันที่มีสามความสัมพันธ์กับค่าความจริงยอดขายของผู้ค้าปลีก ตารางมิติเดียวกันสามารถใช้เพื่อกรองค่าความจริงตามวันที่สั่งซื้อ, วันที่จัดส่ง หรือวันที่ส่งมอบ
ในคลังข้อมูล วิธีการออกแบบที่ยอมรับได้คือ เพื่อกําหนดตารางสําหรับจัดเก็บข้อมูลให้กับมิติข้อมูลวันที่เดียว ณ เวลาที่มีการคิวรี "บทบาท" ของมิติวันที่จะถูกสร้างขึ้นโดยคอลัมน์ค่าความจริงที่คุณใช้ในการรวมตาราง ตัวอย่างเช่น เมื่อคุณวิเคราะห์ยอดขายตามวันที่ในคําสั่งซื้อ การรวมตารางจะเกี่ยวข้องกับคอลัมน์วันที่ในใบสั่งขายของผู้ค้าปลีก
ในแบบจําลองความหมายของ Power BI การออกแบบนี้สามารถลอกเลียนแบบได้โดยการสร้างความสัมพันธ์หลายรายการระหว่างสองตาราง ในตัวอย่างงานผจญภัย ตารางวันที่และยอดขายของผู้ค้าปลีกจะมีสามความสัมพันธ์
ในขณะที่การออกแบบนี้เป็นไปได้ สามารถ มีความสัมพันธ์ที่ใช้งานอยู่ ระหว่างสองตารางแบบจําลองความหมายของ Power BI เท่านั้น ต้องตั้งค่าความสัมพันธ์ที่เหลือทั้งหมดเป็น ไม่ได้ใช้งาน การมีความสัมพันธ์ที่ใช้งานอยู่ความสัมพันธ์เดียวหมายความว่ามีการเผยแพร่ตัวกรองเริ่มต้นจากวันที่ไปยังยอดขายของผู้จําหน่าย ในอินสแตนซ์นี้ ความสัมพันธ์ที่ใช้งานอยู่ถูกตั้งค่าเป็นตัวกรองทั่วไปมากที่สุดที่ใช้โดยรายงาน ซึ่งที่งานผจญภัยคือความสัมพันธ์ของวันที่สั่งซื้อ
วิธีเดียวที่จะใช้ความสัมพันธ์ที่ไม่ได้ทํางานคือ เพื่อกําหนดนิพจน์ DAX ที่ใช้ฟังก์ชัน USERELATIONSHIP ในตัวอย่างของเรา นักพัฒนาแบบจําลองจะต้องสร้างหน่วยวัดเพื่อเปิดใช้งานการวิเคราะห์ยอดขายของผู้ค้าปลีกตามวันที่จัดส่งและวันที่ส่งมอบ การทํางานนี้อาจเป็นเรื่องน่าเบื่อ โดยเฉพาะอย่างยิ่งเมื่อตารางผู้ค้าปลีกกําหนดหน่วยวัดจํานวนมาก นอกจากนี้ยังสร้างบานหน้าต่างข้อมูลที่รกซึ่งมีหน่วยวัดที่มากเกินไป มีข้อจํากัดอื่น ๆ เช่นกัน:
เพื่อเอาชนะข้อจํากัดเหล่านี้ เทคนิคการสร้างแบบจําลอง Power BI ทั่วไปคือการสร้างตารางมิติสําหรับแต่ละอินสแตนซ์การเล่นตามบทบาท คุณสามารถสร้างตารางมิติแต่ละตารางเป็น คิวรี อ้างอิงโดยใช้ Power Query หรือ ตาราง จากการคํานวณโดยใช้ DAX แบบจําลองสามารถมี Date
ตาราง Ship Date
ตาราง และตาราง โดยแต่ละตาราง Delivery Date
มีความสัมพันธ์แบบเดี่ยวและที่ใช้งานอยู่กับคอลัมน์ตารางยอดขายของผู้จําหน่ายที่เกี่ยวข้อง
วิธีการออกแบบนี้ไม่จําเป็นต้องให้คุณกําหนดหน่วยวัดหลายรายการสําหรับบทบาทวันที่ที่แตกต่างกัน และอนุญาตให้มีการกรองในเวลาเดียวกันตามบทบาทวันที่ที่แตกต่างกัน อย่างไรก็ตาม ราคาเล็กน้อยในการชําระเงินด้วยวิธีการออกแบบนี้คือจะมีการทําซ้ําของตารางมิติวันที่ส่งผลให้ขนาดพื้นที่จัดเก็บแบบจําลองเพิ่มขึ้น เนื่องจากโดยทั่วไปแล้วตารางมิติจะจัดเก็บแถวน้อยกว่าที่สัมพันธ์กับตารางข้อเท็จจริง จึงไม่ใช่เรื่องน่ากังวล
เราขอแนะนําให้คุณปฏิบัติตามแนวทางปฏิบัติในการออกแบบที่ดีเมื่อสร้างตารางมิติแบบจําลองสําหรับแต่ละบทบาท:
Year
คอลัมน์ในตารางวันที่ทั้งหมด (ชื่อคอลัมน์จะไม่ซ้ํากันภายในตารางของพวกเขา) ซึ่งจะไม่มีการอธิบายตัวเองตามชื่อวิชวลเริ่มต้น พิจารณาเปลี่ยนชื่อคอลัมน์ในแต่ละตารางบทบาทมิติเพื่อให้ Ship Date
ตารางมีคอลัมน์ปีที่ชื่อว่า Ship Year
และอื่น ๆDate
ซึ่งถูกใช้เพื่อกรองตารางข้อเท็จจริงจํานวนมาก ตัวอย่างเช่น ในกรณีที่ตารางนี้มีความสัมพันธ์ที่ใช้งานอยู่ไปยังคอลัมน์วันที่ของใบสั่งขายของผู้ค้าปลีก พิจารณาให้คําอธิบายตารางเช่นFilters reseller sales by order date
สําหรับข้อมูลเพิ่มเติม โปรดดู คําแนะนําความสัมพันธ์ที่ใช้งานอยู่เทียบกับไม่ได้ใช้งาน
มิติขยะมีประโยชน์เมื่อมีมิติจํานวนมาก โดยเฉพาะอย่างยิ่งที่ประกอบด้วยสองถึงสามแอตทริบิวต์ (บางทีอาจเป็นหนึ่ง) และเมื่อแอตทริบิวต์เหล่านี้มีค่าไม่มาก ผู้สมัครที่ดีจะรวมคอลัมน์สถานะคําสั่งซื้อ หรือคอลัมน์เชิงประชากรศาสตร์ของลูกค้า เช่น เพศหรือกลุ่มอายุ
วัตถุประสงค์ในการออกแบบของมิติขยะคือการรวมมิติขนาดเล็กจํานวนมากไว้ในมิติเดียวเพื่อลดขนาดการจัดเก็บแบบจําลอง และยังลดกองข้อความของบานหน้าต่างข้อมูลโดยการค้นหาตารางแบบจําลองที่น้อยลง
โดยทั่วไปแล้วตารางสําหรับมิติขยะมักเป็นผลิตภัณฑ์คาร์ทีเซียนของสมาชิกแอตทริบิวต์มิติทั้งหมดที่มี คอลัมน์คีย์ ตัวแทนเพื่อระบุแต่ละแถวที่ไม่ซ้ํากัน คุณสามารถสร้างมิติในคลังข้อมูล หรือโดยการใช้ Power Query เพื่อสร้างคิวรีที่ดําเนินการ รวมคิวรีภายนอกแบบเต็ม จากนั้นเพิ่มคีย์ตัวแทน (คอลัมน์ดัชนี)
คุณโหลดคิวรีนี้ไปยังแบบจําลองเป็นตารางมิติ นอกจากนี้คุณยังต้องผสานคิวรีนี้กับคิวรีข้อเท็จจริงเพื่อให้คอลัมน์ดัชนีถูกโหลดไปยังแบบจําลองเพื่อสนับสนุนการสร้างความสัมพันธ์แบบจําลอง "หนึ่งต่อกลุ่ม"
มิติลดรูป อ้างอิงถึงแอตทริบิวต์ของตารางข้อเท็จจริงที่จําเป็นสําหรับการกรอง ในงานผจญภัย หมายเลขใบสั่งขายของผู้ค้าปลีกเป็นตัวอย่างที่ดี ในอินสแตนซ์นี้ มันไม่สมเหตุสมผลที่จะสร้างตารางอิสระที่ประกอบด้วยเพียงหนึ่งคอลัมน์นี้เนื่องจากจะเพิ่มขนาดการจัดเก็บแบบจําลองและผลลัพธ์ในกองข้อความบานหน้าต่างข้อมูล
ในแบบจําลองความหมายของ Power BI อาจเหมาะสมที่จะเพิ่มคอลัมน์หมายเลขใบสั่งขายลงในตารางข้อเท็จจริงเพื่ออนุญาตให้มีการกรองหรือการจัดกลุ่มตามหมายเลขใบสั่งขาย ซึ่งเป็นข้อยกเว้นสําหรับกฎที่แนะนําก่อนหน้านี้ที่คุณไม่ควรผสมชนิดของตารางเข้า (โดยทั่วไปแล้ว ตารางแบบจําลองควรเป็นทั้งมิติหรือข้อเท็จจริง)
อย่างไรก็ตาม หากตารางยอดขายของผู้จําหน่ายใน Adventure Works มีหมายเลข คําสั่งซื้อและ คอลัมน์หมายเลขบรรทัดคําสั่งซื้อ และจําเป็นสําหรับการกรอง การสร้างตารางสําหรับมิติข้อมูลลดรูปจะเป็นการออกแบบที่ดี สําหรับข้อมูลเพิ่มเติม โปรดดูคําแนะนําความสัมพันธ์แบบหนึ่งต่อหนึ่ง (มิติลดรูป)
ตารางสําหรับเก็บข้อมูลตัวชี้วัดที่ไม่มีความจริงหรือมาตรวัดใด ๆ จะไม่รวมคอลัมน์หน่วยวัดใด ๆ ตารางประกอบด้วยคีย์มิติเท่านั้น
ตารางสําหรับเก็บข้อมูลตัวชี้กําลังที่ไม่มีการเก็บค่าความจริงหรือมาจริงสามารถจัดเก็บการสังเกตการณ์ที่กําหนดโดยคีย์มิติได้ ตัวอย่างเช่น ณ วันที่และเวลาเฉพาะ ลูกค้าเฉพาะที่ลงชื่อเข้าใช้เว็บไซต์ของคุณ คุณสามารถกําหนดหน่วยวัดเพื่อนับจํานวนแถวของตารางสําหรับเก็บข้อมูลตัวชี้วัดที่ไม่มีความจริงหรือมาตรวัดใด ๆ เพื่อดําเนินการวิเคราะห์ว่าลูกค้าลงชื่อเข้าใช้เมื่อใดและกี่ราย
การใช้ตารางสําหรับเก็บข้อมูลตัวชี้กําลังที่ไม่มีการเก็บค่าความจริงหรือมาตรคว่ําที่น่าสนใจมากขึ้นคือการจัดเก็บความสัมพันธ์ระหว่างมิติและเป็นวิธีการออกแบบแบบจําลองความหมายของ Power BI เราขอแนะนําให้ใช้สําหรับการกําหนดความสัมพันธ์มิติแบบกลุ่มต่อกลุ่ม ในการออกแบบความสัมพันธ์ของมิติแบบกลุ่ม-ต่อ-กลุ่ม ตารางสําหรับเก็บข้อมูลข้อเท็จจริงที่ไม่มีความจริงหรือมาตราส่วนจะเรียกว่าตารางการเชื่อมโยง
ตัวอย่างเช่น พิจารณาว่าพนักงานขายสามารถกําหนดให้กับหนึ่งภูมิภาคการขายขึ้นไป ตารางการเชื่อมโยงจะได้รับการออกแบบเป็นตารางสําหรับเก็บข้อมูลจริงที่ไม่มีค่าความจริงหรือมาตราส่วนที่ประกอบด้วยสองคอลัมน์: คีย์พนักงานขายและคีย์ภูมิภาค สามารถจัดเก็บค่าที่ซ้ํากันได้ในทั้งสองคอลัมน์
วิธีการออกแบบแบบกลุ่มต่อกลุ่มนี้ได้รับการจัดทําเป็นเอกสารไว้เป็นอย่างดี และสามารถทําได้โดยไม่มีตารางการเชื่อมโยง อย่างไรก็ตาม วิธีการของตารางการเชื่อมโยงถือว่าเป็นแนวทางปฏิบัติที่ดีที่สุดเมื่อเกี่ยวข้องกับสองมิติ สําหรับข้อมูลเพิ่มเติม โปรดดูคําแนะนําความสัมพันธ์แบบกลุ่มต่อกลุ่ม (เชื่อมโยงตารางชนิดมิติสองตาราง)
สําหรับข้อมูลเพิ่มเติมเกี่ยวกับการออกแบบแบบจําลองจําลองแบบดาวหรือการออกแบบแบบจําลองความหมาย Power BI ให้ดูบทความต่อไปนี้:
กิจกรรม
เข้าร่วมกับเราที่ FabCon Vegas
31 มี.ค. 23 - 2 เม.ย. 23
เหตุการณ์ที่นําโดยชุมชนของ Microsoft Fabric, Power BI, SQL และ AI 31 มีนาคมถึงวันที่ 2 เมษายน 2025
ลงทะเบียนวันนี้การฝึกอบรม
โมดูล
ออกแบบแบบจําลองความหมายใน Power BI - Training
กระบวนการสร้างแบบจําลองความหมายที่ซับซ้อนใน Power BI นั้นตรงไปตรงมา หากข้อมูลของคุณมาจากระบบทรานแซคชันมากกว่าหนึ่งระบบ กว่าจะรู้ตัว คุณก็อาจมีตารางมากมายที่ต้องจัดการ การสร้างแบบจําลองความหมายที่ยอดเยี่ยมนั้นเป็นเรื่องเกี่ยวกับการลดความซับซ้อนของความไม่เป็นระเบียบ สคีมาแบบดาวเป็นวิธีหนึ่งในการลดความซับซ้อนของแบบจําลองและคุณเรียนรู้เกี่ยวกับคําศัพท์และการนําไปใช้ในโมดูลนี้ นอกจากนี้ คุณจะได้เรียนรู้ว่าทำไมการเลือกกรานูลาริตี้ของข้อมูลที่ถูกต้องจึงมีความสำคัญต่อประสิทธิภาพและการใช้งานรายงาน Power BI ของคุณ ใน
ใบรับรอง
Microsoft Certified: Power BI Data Analyst Associate - Certifications
Demonstrate methods and best practices that align with business and technical requirements for modeling, visualizing, and analyzing data with Microsoft Power BI.