การสร้างตารางวันที่
ในระหว่างการสร้างรายงาน ใน Power BIนั้น ความต้องการทางธุรกิจทั่วไปคือการคำนวณตามวันที่และเวลา องค์กรต้องการทราบวิธีการประกอบธุรกิจของตนในช่วงเดือน ไตรมาส ปีบัญชี และอื่นๆ ด้วยเหตุนี้ จึงสำคัญว่าค่าที่มุ่งเน้นเวลาเหล่านี้จึงจัดรูปแบบอย่างถูกต้อง Power BI มีการเชื่อมโยงโดยอัตโนมัติกับคอลัมน์และตารางวันที่ อย่างไรก็ตาม สถานการณ์ต่างๆ อาจเกิดขึ้นซึ่งคุณจะต้องใช้ขั้นตอนพิเศษเพื่อให้ได้วันที่ในรูปแบบที่องค์กรของคุณต้องการ
ตัวอย่างเช่น สมมติว่าคุณสร้างรายงานให้กับทีมขายที่องค์กรของคุณ ฐานข้อมูลประกอบด้วยตารางการขาย ใบสั่ง ผลิตภัณฑ์ และอื่นๆ คุณสังเกตว่าตารางเหล่านี้หลายตาราง รวมถึงใบสั่งขายจะประกอบด้วยคอลัมน์วันที่ของตนเอง ตามที่แสดงโดยคอลัมน์ ShipDate และ OrderDate ในตารางการขายและใบสั่ง คุณได้รับมอบหมายให้พัฒนาตารางของยอดขายและใบสั่งทั้งหมดตามปีและเดือน คุณสามารถสร้างภาพด้วยหลายตารางได้อย่างไร แต่ละตารางจะอ้างอิงคอลัมน์วันที่ของตนเอง?
ในการแก้ไขปัญหานี้ คุณสามารถสร้างตารางวันที่ทั่วไปที่สามารถใช้โดยหลายตารางได้ ส่วนต่อไปนี้อธิบายวิธีการที่คุณสามารถทำงานนี้ให้เสร็จสมบูรณ์ได้ Power BI
การสร้างตารางวันที่ทั่วไป
วิธีที่คุณสามารถสร้างตารางวันที่ทั่วไปได้ มีดังนี้
ข้อมูลต้นทาง
DAX
Power Query
ข้อมูลต้นทาง
บางครั้ง ฐานข้อมูลต้นทางและคลังสินค้าข้อมูลมีตารางวันที่ของตนเองแล้ว ถ้าผู้ดูแลระบบที่ออกแบบฐานข้อมูลออกแบบเป็นชุด ตารางเหล่านี้สามารถใช้เพื่อปฏิบัติงานต่อไปนี้ได้
ระบุวันหยุดบริษัท
แบ่งปฏิทินและปีบัญชี
ระบุวันหยุดสุดสัปดาห์เทียบกับวันหยุดสุดสัปดาห์
ตารางข้อมูลต้นทางเริ่มต้นแล้วและพร้อมแล้วที่จะใช้ในทันที ถ้าคุณมีตารางเป็นลักษณะดังกล่าว ให้สร้างตารางนั้นไว้ในแบบเซกเมติกของคุณ และอย่าใช้วิธีการอื่นใดๆ ที่จัดเค้าร่างไว้ในส่วนนี้ ขอแนะนาว่าคุณควรใช้ตารางวันที่ต้นทาง เนื่องจากมีการใช้ตารางนี้ร่วมกันกับเครื่องมืออื่นๆ ที่คุณอาจใช้งานเพิ่มเติม Power BI
ถ้าคุณไม่มีตารางข้อมูลต้นทาง คุณสามารถใช้วิธีอื่นๆ ในการสร้างตารางวันที่ทั่วไปได้
DAX
คุณสามารถใช้ฟังก์ชัน DATA Analysis Expression (DAX) CALENDARAUTO() หรือ CALENDAR() เพื่อสร้างตารางวันที่ทั่วไปของคุณ ฟังก์ชัน CALENDAR() จะส่งคืนช่วงวันที่ต่อเนื่องกันตามวันที่เริ่มต้นและวันที่สิ้นสุดที่ป้อนเป็นอาร์กิวเมนต์ในฟังก์ชัน หรือฟังก์ชัน CALENDARAUTO() จะส่งคืนช่วงวันที่ที่ต่อเนื่องกันและสมบูรณ์ซึ่งจะถูกกำหนดโดยอัตโนมัติจากรูปแบบล 3 มิติของคุณ วันที่เริ่มต้นจะถูกเลือกเป็นวันที่แรกสุดที่มีอยู่ในรูปแบบอื่นของคุณ และวันที่สิ้นสุดคือวันที่หลังสุดที่มีอยู่ในรูปแบบล 12 วันที่นี้บวกด้วยข้อมูลที่มีการเติมข้อมูลลงในเดือนทางบัญชีที่คุณสามารถเลือกที่จะรวมเป็นอาร์กิวเมนต์ในฟังก์ชัน CALENDARAUTO() ได้ เพื่อวัตถุประสงค์ของตัวอย่างนี้ จะมีการใช้งานฟังก์ชัน CALENDAR() เนื่องจากคุณต้องการดูข้อมูลตั้งแต่ 31 พฤษภาคม 2011 (วันแรกที่การขายเริ่มติดตามข้อมูลนี้) และไปข้างหน้าเป็นเวลา 10 ปีข้างหน้า
ใน Power BI Desktop ให้เลือก ตารางใหม่ แล้วป้อนในสูตร DAX ดังต่อไปนี้
Dates = CALENDAR(DATE(2011, 5, 31), DATE(2022, 12, 31))
ขณะนี้ คุณมีคอลัมน์วันที่ที่คุณสามารถใช้ได้ อย่างไรก็ตาม คอลัมน์นี้ห่างเล็กน้อย คุณต้องการดูคอลัมน์ที่มีเพียงปี หมายเลขเดือน สัปดาห์ของปี และวันของสัปดาห์ด้วย คุณสามารถทำงานนี้ได้โดยเลือกคอลัมน์ ใหม่บน ribbon และป้อนสมการ DAX ต่อไปนี้ ซึ่งจะดึงข้อมูลปีจากตารางวันที่ของคุณ
Year = YEAR(Dates[Date])
คุณสามารถประมวลผลเดียวกันเพื่อดึงข้อมูลหมายเลขเดือน หมายเลขสัปดาห์ และวันของสัปดาห์
MonthNum = MONTH(Dates[Date])
WeekNum = WEEKNUM(Dates[Date])
DayoftheWeek = FORMAT(Dates[Date], "DDDD")
เมื่อคุณเสร็จสิ้นแล้ว ตารางของคุณจะมีคอลัมน์ที่แสดงในภาพต่อไปนี้
ขณะนี้คุณได้สร้างตารางวันที่ทั่วไปแล้วโดยใช้ DAX กระบวนการนี้เพิ่มตารางใหม่ของคุณลงในแบบแผนที่ไม่มีชื่อเท่านั้น คุณยังคงต้องสร้างความสัมพันธ์ระหว่างตารางวันที่ของคุณและตารางการขายและใบสั่ง แล้วจึงเลือกตารางของคุณเป็นตารางวันที่ที่เป็นทางการของแบบเซกท์ของคุณ อย่างไรก็ตาม ก่อนที่คุณจะเสร็จสิ้นภารกิจเหล่านั้น ให้ตรวจสอบให้แน่ใจว่าคุณพิจารณาวิธีอื่นในการสร้างตารางวันที่ทั่วไป Power Queryแล้ว โดยการใช้งาน
Power Query
คุณสามารถใช้ภาษา M ซึ่งเป็นภาษาการพัฒนาที่ใช้ในการสร้างการสอบถามเพื่อ Power Queryกำหนดตารางวันที่ทั่วไป
เลือก "แปลง ข้อมูล Power BI Desktop" ซึ่งจะโดยตรงไปที่ Power Query ในพื้นที่ว่างเปล่าของบานหน้าต่างการสอบถาม ด้านซ้าย ให้คลิกขวาเพื่อเปิดเมนูแบบหล่นลงต่อไปนี้ ซึ่งคุณจะเลือก การสอบถาม ใหม่ > ที่ว่างเปล่า
ในมุมมองการสอบถาม ใหม่ที่ได้ ให้ป้อนสูตร M ต่อไปนี้เพื่อสร้างตารางปฏิทิน:
= List.Dates(#date(2011,05,31), 365*10, #duration(1,0,0,0))
ข้อมูลการขายของคุณ คุณต้องการให้วันที่เริ่มต้นสะท้อนถึงวันที่แรกสุดที่คุณมีในข้อมูลของคุณ: 31 พฤษภาคม 2011 นอกจากนี้ คุณต้องการดูวันที่ในช่วง 10 ปีข้างหน้า รวมถึงวันที่ในอนาคต วิธีการนี้ช่วยให้มั่นใจว่าเมื่อข้อมูลการขายเข้ามาใหม่ คุณจะไม่ต้องสร้างตารางนี้ใหม่ คุณยังสามารถเปลี่ยนช่วงเวลาด้วย ในกรณีนี้ คุณต้องการจุดข้อมูลทุกวัน แต่คุณยังสามารถเพิ่มขึ้นตามชั่วโมง นาที และวินาทีได้ด้วย ตัวเลขต่อไปนี้แสดงผลลัพธ์
หลังจากที่คุณได้รับรู้ความสเร็จในกระบวนการแล้ว คุณสังเกตเห็นว่าคุณมีรายการวันที่แทนที่จะเป็นตารางวันที่ หากต้องการแก้ไขข้อผิดพลาดนี้ ให้ไปที่แท็บ แปลง บน ribbon และเลือก แปลงเป็น > ตาราง ตามชื่อที่แนะนา คุณลักษณะนี้จะแปลงรายการของคุณไปเป็นตาราง คุณยังสามารถเปลี่ยนชื่อคอลัมน์เป็น DateCol
จากนั้น คุณต้องการเพิ่มคอลัมน์ในตารางใหม่ของคุณเพื่อดูวันที่ในแง่ของปี เดือน สัปดาห์ และวัน เพื่อให้คุณสามารถสร้างล 10 ชั้นในภาพของคุณ ภารกิจแรกของคุณคือชนิดคอลัมน์การเปลี่ยนแปลงชนิดข้อมูล โดยการเลือกไอคอนถัดจากชื่อของคอลัมน์ และในเมนูแบบหล่นลงที่เป็นผลลัพธ์ ให้เลือก ชนิด วันที่
หลังจากที่คุณเลือกชนิดวันที่เสร็จสิ้น แล้ว คุณสามารถเพิ่มคอลัมน์ของปี เดือน สัปดาห์ และวันได้ ไปที่ เพิ่มคอลัมน์ เลือกเมนูแบบหล่น ลงภายใต้ วันที่ แล้วเลือก ปี ตามที่แสดงอยู่ในภาพต่อไปนี้
โปรด Power BI สังเกตว่าที่เพิ่มคอลัมน์ของปีทั้งหมดที่ดึงมาจาก DateCol
สร้างกระบวนการเดียวกันให้เสร็จสมบูรณ์เป็นเดือน สัปดาห์ และวัน หลังจากที่คุณเสร็จสิ้นกระบวนการนี้แล้ว ตารางจะมีคอลัมน์ที่แสดงในภาพต่อไปนี้
ขณะนี้ คุณถูกใช้ในการสร้าง Power Query ตารางวันที่ทั่วไปเสร็จเรียบร้อยแล้ว
ขั้นตอนก่อนหน้านี้แสดงวิธีการได้รับตารางเข้าสู่รูปแบบตามล 12 และ 2012 ขณะนี้ คุณต้องเลือกตารางของคุณเป็นตารางวันที่ที่เป็นทางการ เพื่อให้ Power BI รับรู้ตารางนั้นเป็นค่าทั้งหมดในอนาคต และตรวจสอบให้แน่ใจว่าการจัดรูปแบบถูกต้อง
เลือกเป็นตารางวันที่อย่างเป็นทางการ
งานแรกของคุณในการเลือกตารางของคุณเป็นตารางวันที่ที่เป็นทางการ คือ การค้นหาตารางใหม่ ในบานหน้าต่าง ฟิลด์ คลิกขวาที่ชื่อของตาราง แล้วเลือก "เครื่องหมายเป็น ตารางวันที่" ดังที่แสดงในภาพต่อไปนี้
โดยการเลือกตารางของคุณเป็นตาราง Power BI วันที่ จะตรวจสอบความถูกต้องเพื่อให้แน่ใจว่าข้อมูลมีค่า null เป็นศูนย์เป็นค่าเฉพาะ และมีค่าวันที่ที่ต่อเนื่องในรอบระยะเวลาหนึ่ง คุณยังสามารถเลือกคอลัมน์ที่ต้องการในตารางของคุณเพื่อเลือกเป็นวันที่ ซึ่งอาจมีประโยชน์เมื่อคุณมีคอลัมน์หลายคอลัมน์ภายในตารางของคุณ คลิกขวาที่ตาราง เลือก เลือก เครื่องหมายเป็นตารางวันที่ แล้วเลือก การตั้งค่าตารางวันที่ หน้าต่างต่อไปนี้จะปรากฏขึ้น โดยคุณสามารถเลือกคอลัมน์ที่ควรถูกเลือกเป็น วันที่ได้
การเลือก ตาราง เครื่องหมายเป็น วันที่ จะลบล 10/> โดยอัตโนมัติออกจากฟิลด์ วันที่ ในตารางที่คุณเลือกเป็นตารางวันที่ ตัวอย่างเช่น 5000 ตัวอย่างเช่น ตัวอย่างเช่น
สร้างภาพของคุณ
เมื่อต้องการสร้างภาพของคุณระหว่างตารางใบสั่งขายและใบสั่ง คุณจะต้องสร้างความสัมพันธ์ระหว่างตารางวันที่ทั่วไปใหม่นี้กับตารางใบสั่งขาย ดังนั้น คุณจะสามารถสร้างภาพโดยใช้ตารางวันที่ใหม่ได้ เมื่อต้องการงานนี้ให้เสร็จสมบูรณ์ ให้ไปที่แท็บ โมเดล >จัดการความสัมพันธ์ ซึ่งคุณสามารถสร้างความสัมพันธ์ระหว่างตารางวันที่ทั่วไปและตารางใบสั่งและตารางการขาย โดยใช้คอลัมน์ OrderDate ภาพจับภาพต่อไปนี้จะแสดงตัวอย่างของความสัมพันธ์ดังกล่าว
หลังจากที่คุณสร้างความสัมพันธ์แล้ว คุณสามารถสร้างปริมาณการขายและปริมาณใน ใบสั่งรวมของคุณโดยใช้ภาพ เวลากับตารางวันที่ทั่วไปที่คุณพัฒนาโดยใช้ DAX หรือ Power Query วิธีการ
เมื่อต้องการระบุยอดขายรวม คุณต้องเพิ่มการขายทั้งหมด เนื่องจากคอลัมน์ ยอดเงินในตารางการขายจะดูเฉพาะรายได้ของการขายแต่ละรายการ ไม่ใช่รายได้การขายรวม คุณสามารถงานนี้ให้เสร็จสมบูรณ์ได้โดยใช้การคำนวณหน่วยวัดต่อไปนี้ ซึ่งจะอธิบายไว้ในการสนทนาในภายหลัง การคำนวณที่คุณจะใช้เมื่อสร้างหน่วยวัดนี้เป็นดังนี้
#Total Sales = SUM(Sales[‘Amount’])
หลังจากที่คุณเสร็จสิ้นแล้ว คุณสามารถสร้างตารางโดยการกลับไปยังแท็บ การแสดงภาพและเลือกภาพ ตาราง คุณต้องการดูใบสั่งและยอดขายรวมตามปีและเดือน ดังนั้นคุณต้องการรวมคอลัมน์ปี และเดือนจากตารางวันที่ คอลัมน์ OrderQty และ #TotalSales หน่วยวัดเท่านั้น เมื่อคุณทราบเกี่ยวกับลดูรายละเอียดแนวลึกชั้น คุณยังสามารถสร้างล 10 ชั้นที่จะดูรายละเอียดแนวลึกจากปีไปยังเดือนได้ คุณสามารถดูตัวอย่างนี้แบบทีละขั้นตอนได้ ขณะนี้ คุณสร้างภาพด้วยตารางวันที่ทั่วไปเสร็จเรียบร้อยแล้ว