Microsoft POWER BI The series EP4 Date Table

Tanakrit T
Tri Petch Digital
Published in
3 min readFeb 13, 2023

Date table คืออะไร ?

บางคนอาจเรียกว่า date dimension แต่อยากให้ทุกคนเข้าใจว่ามันคือสิ่งเดียวกัน เอาง่าย ๆ มันคือ table ที่รวมข้อมูลแค่เกี่ยวกับวัน ซึ่งมีประโยชน์ดังนี้

  • ใช้จัดกลุ่มข้อมูลในระดับ ปี ควอเตอร์ เดือน อาทิตย์ วัน อื่น ๆ
  • เพื่อให้เราสามารถคำนวน time intelligence ได้ อย่างเช่น ยอดขายปีนี้ปีที่แล้ว การทำยอดสะสม year to date, month to date อื่น ๆ

การทำ date table เพื่อให้เราสามารถเอาไปใช้ทำงานได้ ควรจะมีคุณสมบัติดังนี้

  • มีข้อมูลครอบคลุมเพียงพอกับข้อมูลที่เราจะวิเคราะห์ อย่างเช่นถ้าข้อมูลที่เราจะวิเคราะห์มีตั้งแต่ 1 มกรา 2562 จนถึงปัจจุบัน date table ที่เราจะสร้างก็ควรจะครอบคลุมตั้งแต่ 1 มกรา 2562 จนถึงปัจจุบันเช่นกัน
  • มีคีย์ที่ไม่ซ้ำ มีข้อมูลต่อเนื่อง (1 วัน 1 แถว เข้าใจตรงกันนะ)
  • Table นี้ควรจะกำหนดคำสั่ง Mark as date table ได้

วิธีการสร้าง date table

เพื่อน ๆ สามารถสร้างได้ทั้งใน power query และ หรือจากแถบ data ของ power bi แต่ในบทความนี้เราจะพาเพื่อน ๆ สร้างจากในแถบ data ของ power bi ดู

เพื่อน ๆ สามารถไปโหลด sample data ชื่อ OrderLeads.csv มาจากเว็บด้านล่างได้เลยนะ เดี๋ยวเราจะทำไปด้วยกันเป็น step by step

https://www.kaggle.com/datasets/thedevastator/supermarket-ordering-invoicing-and-sales-analysi?resource=download

Step 1 หลังจากที่เพื่อน ๆ โหลดข้อมูลจากลิ้งค์ที่แปะไว้ด้านบนแล้ว ให้เพื่อน ๆ สร้าง date column ใหม่ก่อน เนื่องจากคอลัมน์ date ที่ข้อมูลให้มาอยู่ใน format ที่ไม่ถูกต้อง โดยให้เพื่อน ๆ ใช้สูตรตามนี้ได้เลย

dateFormatted = Date(right(OrderLeads[Date],4) ,LEFT(RIGHT(OrderLeads[Date],7) ,2) ,LEFT(OrderLeads[Date] ,2))

จากนั้นเพื่อน ๆ จะได้ column ชื่อว่า dateFormatted ตามรูปด้านล่าง

Step 2 ให้เพื่อน ๆ คลิ๊กปุ่มที่อยู่ด้านซ้ายมือตามในรูป จากนั้นให้กด New Table

Step 3 หลังจากกด New Table แล้ว Power BI จะให้เราใส่สูตรตามภาพด้านล่าง

ให้เพื่อน ๆ ใส่สูตรไปดังนี้

date_table =

VAR startYear = YEAR(MIN(OrderLeads[dateFormatted]))

VAR endYear = YEAR(MAX(OrderLeads[dateFormatted]))

RETURN

ADDCOLUMNS (

CALENDAR(

DATE(startYear,1,1),

DATE(endYear,12,31)

),

“Year”, YEAR ( [Date] ),

“Month”, FORMAT ( [Date], “mmm” ),

“MonthID”, MONTH ( [Date] ),

“MonthYear”, FORMAT ( [Date], “mmm yyyy” ),

“MonthYearID”, INT(FORMAT ( [Date], “yyyymm” )),

“QuarterYear”, “Q” & FORMAT ( [Date], “q yyyy” ),

“QuarterYearID”, INT(FORMAT ( [Date], “yyyyq” ))

)

ซึ่งสูตรในการทำ date table มีหลากหลายวิธีมากมาย 108 แต่วันนี้เราจะใช้ตามจากลิ้งค์ด้านล่าง เพื่อน ๆ สามารถเข้าไปอ่านรายละเอียดเพิ่มเติมจากในลิ้งได้เลยน้าา

รู้จักกับ Date Dimension พร้อมวิธีการสร้างตาราง Date Table ด้วย DAX | 9Expert Training

จากนั้นเพื่อนจะได้ date table ตามภาพด้านล่าง

สุดท้ายให้กดปุ่ม Mark as date table เป็นอันจบขั้นตอน

หลังจากนี้เพื่อน ๆ สามารถเอา date table ไปสร้าง relation ใน data model แล้วเอาไปใช้งานกันต่อได้เลย

สำหรับบทความหน้า จะเป็นเรื่องอะไร อย่าลืมเข้ามาติดตามกันน้าา

🙏ขอบคุณทุกคนที่เข้ามาติดตามผลงานของเรา หวังว่าจะเป็นประโยชน์ แล้วพบกันใหม่ใน Series หน้า 🖐

#PowerBI #TripetchIT #PowerBITheSeries #ExportData #DataScience #DataSci #DataAnalytic #Dashboard #Report #Excel #Visualization #Chart #Graph #DataAnalyst #Analyst #Analysis #Data #IT

บทความก่อนหน้า

The author

  • Patcharanut Ittidetwatthana (Pond)
  • Suebsak Watcharothai (Pe)
  • Tanakrit Taeyanuluk (Hope)
  • Pimchanok Kaewbooddee (Oil)

Credit:

รู้จักกับ Date Dimension พร้อมวิธีการสร้างตาราง Date Table ด้วย DAX | 9Expert Training

--

--