זאת שאלה שאני נשאלת פעמים רבות והתשובה היא, כן! וזה גם לא מסובך.
גם אם יש לי רק טבלה אחת במודל (לרוב כשנתעמק בנתונים נראה שכדאי להפריד אותה לטבלת FACT וטבלאות Dimension).
גם כשיש לי רק סוג אחד של תאריכים בטבלה.
טבלת תאריכים היא חלק חשוב ביותר בכל פרויקט של Power BI.
היא מאפשרת לבצע סינון נתונים לפי שנה, רבעון, חודש, שבוע ועוד, לעקוב אחרי תאריכים חשובים כמו חגים ולהשתמש בפונקציות Time Intelligence ב-DAX כדי להשוות בין תקופות (כמו מכירות תקופה נוכחית לעומת תקופה קודמת) ועוד.
אם אתם עובדים על פרויקט Power BI, יש לכם כמה אפשרויות: לייבא טבלת תאריכים קיימת, ליצור טבלת תאריכים מותאמת אישית בעזרת Power Query ושפת M ועוד.
או לבנות טבלה מחושבת באמצעות DAX בצורה קלה יחסית ועם התייחסות לתאריכים הרלוונטיים במודל שלכם.
אז בואו ואראה לכם כמה פשוט לייצר טבלת תאריכים באמצעות DAX.
יש כמה פונקציות ב-DAX שמאפשרות ליצור טבלת תאריכים פשוטה: CALENDAR ו-CALENDARAUTO.
שתי הפונקציות מחזירות טבלה עם עמודה אחת בשם "Date" ורשימת ערכים של התאריכים.
הפונקציה CALENDAR דורשת להגדיר את הגבולות של קבוצת התאריכים, בעוד ש- CALENDARAUTO מחפשת בין כל התאריכים במודל הנתונים ומוצאת אוטומטית את התאריך הראשון והאחרון שמוזכרים במודל (גם אם מדובר בתאריך הלידה של הלקוח) לכן נשתמש בה אבל נגביל אותה לעמודות הרלוונטיות מהן נרצה לקחת את התאריך הראשון והאחרון במודל.
בצורה כזאת טבלת התאריכים תתעדכן אוטומטית עם התאריכים הרלוונטיים בכל פעם שתאריכי הייחוס ישתנו.
זה הקוד:
Dates =
VAR MinYear = YEAR ( MIN ( Sales[OrderDate] ) )
VAR MaxYear = YEAR ( MAX ( Sales[ShipDate] ) )
RETURN
ADDCOLUMNS (
FILTER (
CALENDARAUTO (),
AND ( YEAR ( [Date] ) >= MinYear, YEAR ( [Date] ) <= MaxYear )
),
"Year", YEAR ( [Date] ),
"Quarter", "Q" & FORMAT ( [Date], "Q" ),
"Month", FORMAT ( [Date], "mmmm" ),
"Day", DAY ( [Date] ),
"Month Number", MONTH ( [Date] ),
"Weekday", FORMAT ( [Date], "dddd" ),
"Weekday Number", WEEKDAY ( [Date] )
)
הקוד מייצר טבלת תאריכים, כאשר התאריך הראשון שיופיע במודל הוא ה OrderDate מטבלת המכירות והתאריך האחרון בטבלה הוא ה ShipDate מטבלת המכירות.
(כמובן שאם יש עמודות עם תאריכים מוקדמים / מאוחרים יותר רלוונטים אז צריך לעדכן את שם העמודה והטבלה
אחרי שהעתקתם את הקוד, גשו לאיזור של ה- Table View, בתפריט העליון עמדו על Home ,
לחצו על New Table והדביקו את קטע הקוד.
החליפו את [Sales[OrderDate ו [Sales[ShipDate בעמודות הרלוונטיות מהמודל שלכם.
ויש לכם טבלת תאריכים מותאמת אישית.
קטע הקוד שאני מציגה כאן הוא רק נקודת התחלה לטבלת תאריכים.
ניתן להוסיף עמודות נוספות לפי הצורך.
וכמובן לא לשכוח לחבר את הטבלה הזאת לטבלאות ה FACT שיש לכם במודל.
יש לכם שאלות לגבי יצירת טבלת תאריכים או שאלות אחרות על POWER BI ?
מוזמנים לשאול ואשמח לענות