טבלאות תאריכים ב- Power Pivot הן חיוניות לעיון וחישוב נתונים לאורך זמן. מאמר זה מספק הבנה מעמיקה של טבלאות תאריכים ושל יצירתן ב- Power Pivot. בפרט, מאמר זה מתאר:
- מדוע טבלת תאריכים חשובה לעיון וחישוב נתונים לפי תאריכים ושעות.
- כיצד להשתמש ב- Power Pivot כדי להוסיף טבלת תאריכים למודל הנתונים.
- כיצד ליצור עמודות תאריכים חדשות, כגון שנה, חודש ותקופה, בטבלת תאריכים.
- כיצד ליצור קשרי גומלין בין טבלאות תאריכים וטבלאות עובדות.
- כיצד לעבוד עם הזמן.
מאמר זה מיועד למשתמשים חדשים ב- Power Pivot. עם זאת, חשוב שתהיה לך הבנה יסודית של ייבוא נתונים, יצירת קשרי גומלין ויצירת עמודות ומידות מחושבות.
מאמר זה אינו מתאר כיצד להשתמש בפונקציות DAX Time-Intelligence בנוסחאות מידה. לקבלת מידע נוסף על יצירת מדידים באמצעות פונקציות בינת זמן של DAX, ראה בינת זמן ב- Power Pivot ב- Excel.
הערה
ב- Power Pivot, השמות "מדידה" ו"שדה מחושב" הם מילים נרדפות. אנו משתמשים במדד השם לאורך מאמר זה. לקבלת מידע נוסף, ראה מדידים ב- Power Pivot.
תוכן
הכרת טבלאות תאריכים
כמעט כל ניתוח הנתונים כולל עיון והשוואה של נתונים לאורך תאריכים ושעות. לדוגמה, מומלץ לסכם את סכומי המכירות עבור רבעון הכספים הקודם ולאחר מכן להשוות סכומים אלה לרבעונים אחרים, או לחשב יתרת סגירה של סוף חודש עבור חשבון. בכל אחד מהמקרים הללו, אתה משתמש בתאריכים כדרך לקבץ ולצבור עסקאות מכירה או יתרות עבור תקופת זמן מסוימת.
דוח Power View
טבלת תאריכים יכולה להכיל ייצוגים רבים ושונים של תאריכים ושעה. לדוגמה, טבלת תאריכים תכלול לעתים קרובות עמודות כגון שנת כספים, חודש, רבעון או תקופה, שבהן תוכל לבחור כשדות מרשימת שדות בעת פריסה וסינון של הנתונים בטבלאות PivotTable או בדוחות Power View.
רשימת שדות של Power View
כדי שעמודות תאריכים כגון שנה, חודש ורבעון יכללו את כל התאריכים בטווח המתאים, טבלת התאריכים חייבת לכלול עמודה אחת לפחות עם ערכה רציפה של תאריכים. כלומר, לעמודה זו חייבת להיות שורה אחת עבור כל יום עבור כל שנה הכלולה בטבלת התאריכים.
לדוגמה, אם הנתונים שברצונך לעיין בהם כוללים תאריכים מה- 1 בפברואר 2010 עד ה- 30 בנובמבר 2012, ואתה מדווח על שנה קלנדרית, כדאי ליצור טבלת תאריכים עם טווח תאריכים לפחות מ- 1 בינואר 2010 עד 31 בדצמבר 2012. כל שנה בטבלת התאריכים חייבת להכיל את כל הימים עבור כל שנה. אם בכוונתך לרענן את הנתונים שלך באופן קבוע עם נתונים חדשים יותר, מומלץ להקדים את תאריך הסיום בשנה או שנתיים, כדי שלא תצטרך לעדכן את טבלת התאריכים ככל שהזמן עובר.
טבלת תאריכים עם קבוצה רציפה של תאריכים
אם אתה מדווח על שנת כספים, באפשרותך ליצור טבלת תאריכים עם קבוצה רציפה של תאריכים עבור כל שנת כספים. לדוגמה, אם שנת הכספים שלך מתחילה ב- 1 במרץ, וברשותך נתונים עבור שנות הכספים 2010 עד התאריך הנוכחי (לדוגמה, בשנת הכספים 2013), באפשרותך ליצור טבלת תאריכים המתחילה ב- 1/3/2009 וכוללת לפחות כל יום בכל שנת כספים עד התאריך האחרון בשנת הכספים 2013.
אם תדווח הן על שנה קלנדרית והן על שנת כספים, אין צורך ליצור טבלאות תאריכים נפרדות. טבלת תאריכים יחידה יכולה לכלול עמודות עבור שנה קלנדרית, שנת כספים ואפילו לוח תקופות של 13 שבועות. הדבר החשוב הוא שטבלת התאריכים שלך מכילה ערכה רציפה של תאריכים עבור כל השנים הכלולות.
הוספה של טבלת תאריכים למודל הנתונים
קיימות מספר דרכים להוספת טבלת תאריכים למודל הנתונים שלך:
- יבא ממסד נתונים יחסי או ממקור נתונים אחר.
- צור טבלת תאריכים ב- Excel ולאחר מכן העתק טבלה חדשה או קשר אליה ב- Power Pivot.
- יבא מ- Microsoft Azure Marketplace.
בואו נסתכל על כל אחד מאלה מקרוב.
אם אתה מייבא חלק מהנתונים שלך, או את כולם, ממחסן נתונים או מסוג אחר של מסד נתונים יחסי, רוב הסיכויים שכבר קיימת טבלת תאריכים וקשרי גומלין בינה לבין שאר הנתונים שאתה מייבא. סביר להניח שהתאריכים והתבנית יתאימו לתאריכים בנתוני העובדות שלך, וסביר להניח שהתאריכים מתחילים היטב בעבר וממשיכים רחוק יותר בעתיד. טבלת התאריכים שברצונך לייבא עשויה להיות גדולה מאוד ולהכיל טווח תאריכים מעבר למה שעליך לכלול במודל הנתונים שלך. באפשרותך להשתמש בתכונות הסינון המתקדם של אשף ייבוא הטבלאות של Power Pivot כדי לבחור באופן סלקטיבי רק את התאריכים ואת העמודות הספציפיות הדרושות לך. פעולה זו יכולה להקטין את גודל חוברת העבודה באופן משמעותי ולשפר את הביצועים.
אשף ייבוא הטבלאות
ברוב המקרים, לא תצטרך ליצור עמודות נוספות כגון 'שנת כספים', 'שבוע', 'שם חודש' וכדומה, מכיוון שהן כבר קיימות בטבלה המיובאת. עם זאת, במקרים מסוימים, לאחר ייבוא טבלת התאריכים למודל הנתונים שלך, ייתכן שיהיה עליך ליצור עמודות תאריכים נוספות, בהתאם לצורך דיווח מסוים. למרבה המזל, קל לעשות זאת באמצעות DAX. בהמשך תקבל מידע נוסף על יצירת שדות טבלת תאריכים. כל סביבה שונה. אם אינך בטוח אם למקורות הנתונים שלך יש תאריך או טבלת לוח שנה קשורה, פנה למנהל מסד הנתונים.
יצירת טבלת תאריכים ב- Excel
באפשרותך ליצור טבלת תאריכים ב- Excel ולאחר מכן להעתיק אותה לטבלה חדשה במודל הנתונים. זה באמת די קל לביצוע וזה נותן לך גמישות רבה.
כאשר אתה יוצר טבלת תאריכים ב- Excel, אתה מתחיל עם עמודה בודדת עם טווח רציף של תאריכים. לאחר מכן באפשרותך ליצור עמודות נוספות כגון שנה, רבעון, חודש, שנת כספים, תקופה וכן הלאה בגליון העבודה של Excel באמצעות נוסחאות של Excel. לחלופין, לאחר שתעתיק את הטבלה למודל הנתונים, תוכל ליצור אותן כעמודות מחושבות. יצירת עמודות תאריכים נוספות ב- PowerPivot מתוארת בסעיף 'הוספת עמודות תאריכים חדשות' לטבלת התאריכים בהמשך מאמר זה.
כיצד לבצע: יצירת טבלת תאריכים ב- Excel והעתקתה למודל הנתונים
ב- Excel, בגליון עבודה ריק, בתא A1, הקלד שם של כותרת עמודה כדי לזהות טווח תאריכים. בדרך כלל, זה יהיה משהו כמו Date, DateTime או DateKey.
בתא A2, הקלד תאריך התחלה. לדוגמה, 1/1/2010.
לחץ על נקודת האחיזה למילוי וגרור אותה כלפי מטה למספר שורה הכולל תאריך סיום. לדוגמה, 31/12/2016.
בחר את כל השורות בעמודה 'תאריך ' (כולל שם הכותרת בתא A1).
בקבוצה סגנונות , לחץ על עצב כטבלה ולאחר מכן בחר סגנון.
בתיבת הדו-שיח עיצוב כטבלה , לחץ על אישור.
העתקת כל השורות, כולל הכותרת.
ב- PowerPivot, בכרטיסיה 'בית ', לחץ על 'הדבק'.
בתצוגה מקדימה> של הדבקה, שם טבלה, הקלד שם, כגון Date או Calendar. השאר את האפשרות השתמש בשורה ראשונה ככותרות עמודותמסומנת ולאחר מכן לחץ על אישור.
טבלת התאריכים החדשה (שנקראת Calendar בדוגמה זו) ב- Power Pivot נראית כך:
הערה
באפשרותך גם ליצור טבלה מקושרת באמצעות הוספה למודל נתונים. עם זאת, עובדה זו הופכת את חוברת העבודה לגדולה יתר על המידה מאחר שחוברת העבודה כוללת שתי גירסאות של טבלת התאריכים; אחד ב- Excel ואחד ב- Power Pivot.
הערה
תאריך השם הוא מילת מפתח ב- Power Pivot. אם אתה נותן שם לטבלה שאתה יוצר ב- Power Pivot 'תאריך', תצטרך לתחום את שם הטבלה במרכאות בודדות בכל נוסחאות DAX המפנות אליה בארגומנט. כל התמונות והנוסחאות לדוגמה במאמר זה מפנות לטבלת תאריכים שנוצרה ב- Power Pivot בשם Calendar.
כעת יש לך טבלת תאריכים במודל הנתונים שלך. באפשרותך להוסיף עמודות תאריך חדשות, כגון שנה, חודש וכדומה, באמצעות DAX.
הוספת עמודות תאריכים חדשות לטבלת התאריכים
טבלת תאריכים עם עמודת תאריכים יחידה המכילה שורה אחת עבור כל יום עבור כל שנה חשובה להגדרת כל התאריכים בטווח תאריכים. הוא נחוץ גם ליצירת קשר גומלין בין טבלת העובדות וטבלת התאריכים. עם זאת, עמודת תאריך יחידה זו עם שורה אחת עבור כל יום אינה שימושית בעת ניתוח לפי תאריכים בדוח PivotTable או Power View. ברצונך שטבלת התאריכים תכלול עמודות שיעזרו לך לצבור את הנתונים שלך עבור טווח או קבוצה של תאריכים. לדוגמה, ייתכן שתרצה לסכם את סכומי המכירות לפי חודש או רבעון, או ליצור מדיד המחשב צמיחה משנה לשנה. בכל אחד מהמקרים הללו, טבלת התאריכים זקוקה לעמודות שנה, חודש או רבעון המאפשרות לך לצבור את הנתונים שלך עבור אותה תקופה.
אם ייבאת את טבלת התאריכים ממקור נתונים יחסי, ייתכן שהיא כבר כוללת את הסוגים השונים של עמודות התאריכים הרצויות. במקרים מסוימים, ייתכן שתרצה לשנות חלק מעמודות אלה או ליצור עמודות תאריכים נוספות. הדבר נכון במיוחד אם אתה יוצר טבלת תאריכים משלך ב- Excel ומעתיק אותה למודל הנתונים. למרבה המזל, קל למדי ליצור עמודות תאריך חדשות ב- Power Pivot באמצעות פונקציות תאריך ושעה ב- DAX.
עצה
אם עדיין לא עבדת עם DAX, מקום מצוין להתחיל ללמוד בו הוא ההתחלה המהירה: למד את היסודות של DAX ב- 30 דקות ב- Office.com.
פונקציות תאריך ושעה של DAX
אם עבדת אי פעם עם פונקציות תאריך ושעה בנוסחאות של Excel, סביר להניח שאתה מכיר את פונקציות התאריך והשעה. למרות שפונקציות אלה דומות למקבילותיהן ב- Excel, יש כמה הבדלים חשובים:
- פונקציות התאריך והשעה של DAX משתמשות בסוג הנתונים Datetime.
- הם יכולים להשתמש בערכים מעמודה כארגומנט.
- ניתן להשתמש בהן כדי להחזיר ו/או לטפל בערכי תאריך.
פונקציות אלה נמצאות בשימוש לעתים קרובות בעת יצירת עמודות תאריך מותאמות אישית בטבלת תאריכים, ולכן חשוב להבין אותן. נשתמש בכמה מפונקציות אלה כדי ליצור עמודות עבור Year, Quarter, FiscalMonth וכן הלאה.
הערה
פונקציות תאריך ושעה ב- DAX אינן זהות לפונקציות בינת זמן. קבל מידע נוסף על בינת זמן ב- Power Pivot ב- Excel.
DAX כולל את פונקציות התאריך והשעה הבאות:
- תאריך
- DATEVALUE
- למחרת
- EDATE
- EOMONTH
- HOUR
- MINUTE
- MONTH
- NOW
- SECOND
- TIME
- TIMEVALUE
- היום
- WEEKDAY
- WEEKNUM
- YEAR
- YEARFRAC
ישנן פונקציות DAX רבות אחרות שניתן להשתמש בהן גם בנוסחאות שלך. לדוגמה, רבות מהנוסחאות המתוארות כאן משתמשות בפונקציות מתמטיות וטריגונומטריות כגון MOD ו- TRUNC, בפונקציות לוגיות כגון IFובפונקציות טקסט כגון FORMAT לקבלת מידע נוסף אודות פונקציות אחרות של DAX, עיין בסעיף 'משאבים נוספים ' בהמשך מאמר זה.
דוגמאות לנוסחאות עבור שנה קלנדרית
הדוגמאות הבאות מתארות נוסחאות המשמשות ליצירת עמודות נוספות בטבלת תאריכים הנקראת Calendar. עמודה אחת, הנקראת Date, כבר קיימת ומכילה טווח רציף של תאריכים מ- 01/01/10 ועד 31/12/2016.
שנה
=YEAR([date])
בנוסחה זו, הפונקציה YEAR מחזירה את השנה מהערך בעמודה Date . מאחר שהערך בעמודה Date הוא מסוג הנתונים datetime, הפונקציה YEAR יודעת כיצד להחזיר ממנו את השנה.
חודש
=MONTH([date])
בנוסחה זו, בדומה לפונקציה YEAR, ניתן פשוט להשתמש בפונקציה MONTH כדי להחזיר ערך חודשי מהעמודה Date.
רבעון
=INT(([Month]+2)/3)
בנוסחה זו, אנו משתמשים בפונקציה INT כדי להחזיר ערך תאריך כמספר שלם. הארגומנט שאנו מציינים עבור הפונקציה INT הוא הערך מהעמודה Month, הוסף 2 ולאחר מכן חלק אותו ב- 3 כדי לקבל את הרבעון שלנו, 1 עד 4.
שם חודש
=FORMAT([date],"mmmm")
בנוסחה זו, כדי לקבל את שם החודש, נשתמש בפונקציה FORMAT כדי להמיר ערך מספרי מהעמודה Date לטקסט. אנו מציינים את העמודה Date כארגומנט הראשון, ולאחר מכן את התבנית; אנחנו רוצים ששם החודש שלנו יציג את כל התווים, ולכן אנחנו משתמשים ב- "mmmm". התוצאה שלנו נראית כך:
אם אנחנו רוצים להחזיר את שם החודש המקוצר לשלוש אותיות, נשתמש ב- "mmm" בארגומנט העיצוב.
יום בשבוע
=FORMAT([date],"ddd")
בנוסחה זו, אנו משתמשים בפונקציה FORMAT כדי לקבל את שם היום. מכיוון שאנחנו רוצים רק שם יום מקוצר, נציין "ddd" בארגומנט העיצוב.
PivotTable לדוגמה
לאחר שהגדרת שדות עבור תאריכים כגון שנה, רבעון, חודש וכדומה, תוכל להשתמש בהם ב- PivotTable או בדוח. לדוגמה, התמונה הבאה מציגה את השדה SalesAmount מטבלת העובדות Sales ב- VALUES, ואת השנה והרבעון מטבלת הממדים Calendar בשורות. SalesAmount נצבר עבור הקשר של שנה ורבעון.
דוגמאות לנוסחאות עבור שנת כספים
שנת כספים
=IF([Month]<= 6,[Year],[Year]+1)
בדוגמה זו, שנת הכספים מתחילה ב- 1 ביולי.
אין פונקציה שיכולה לחלץ שנת כספים מערך תאריך מאחר שתאריכי ההתחלה והסיום של שנת כספים שונים לעתים קרובות מאלה של שנה קלנדרית. כדי לקבל את שנת הכספים, תחילה נשתמש בפונקציה IF כדי לבדוק אם הערך עבור Month קטן מ- 6 או שווה לו. בארגומנט השני, אם הערך של Month קטן מ- 6 או שווה לו, החזר את הערך מהעמודה Year. אם לא, החזר את הערך מ- Year והוסף 1.
דרך נוספת לציין ערך חודש סיום של שנת כספים היא ליצור מידה שפשוט מציינת את החודש. לדוגמה, לידיעתך:=6. לאחר מכן, תוכל להפנות לשם המידה במקום מספר החודש. לדוגמה, =IF([Month]<=[FYE],[Year],[Year]+1). כך ניתן גמישות רבה יותר בעת הפניה לחודש סוף שנת הכספים בכמה נוסחאות שונות.
חודש כספים
=IF([Month]<= 6, 6+[Month], [Month]- 6)
בנוסחה זו, אנו מציינים אם הערך עבור [Month] קטן מ- 6 או שווה לו, ולאחר מכן לוקחים 6 ומוסיפים את הערך מ- Month. אחרת, מחסירים 6 מהערך מ- [Month].
רבעון כספים
=INT(([FiscalMonth]+2)/3)
הנוסחה שבה אנו משתמשים עבור FiscalQuarter זהה מאוד לנוסחה שהייתה עבור Quarter בשנה הקלנדרית שלנו. ההבדל היחיד הוא שאנו מציינים [FiscalMonth] במקום [Month].
חגים או תאריכים מיוחדים
ייתכן שתרצה לכלול עמודת תאריך המציינת תאריכים מסוימים כחגים או תאריך מיוחד אחר. לדוגמה, ייתכן שתרצה לסכם את סכומי המכירות עבור ראש השנה האזרחית על-ידי הוספת שדה חג ל- PivotTable, ככלי פריסה או כמסנן. במקרים אחרים, ייתכן שתרצה לא לכלול תאריכים אלה בעמודות תאריכים אחרות או כמידה.
הכללת חגים או ימים מיוחדים היא די פשוטה. באפשרותך ליצור טבלה ב- Excel המכילה את התאריכים שברצונך לכלול. לאחר מכן תוכל להעתיק את האפשרות 'הוסף למודל הנתונים' או להשתמש בה כדי להוסיף אותו למודל הנתונים כטבלה מקושרת. ברוב המקרים, אין צורך ליצור קשר גומלין בין הטבלה לבין הטבלה בלוח השנה (Calendar). כל הנוסחאות המפנות אליו יכולות להשתמש בפונקציה LOOKUPVALUE כדי להחזיר ערכים.
להלן דוגמה לטבלה שנוצרה ב- Excel הכוללת חגים שיתווספו לטבלת התאריכים:
| תאריך | חופש |
|---|---|
| 1/1/2010 | ראש השנה |
| 11/25/2010 | חג ההודיה |
| 12/25/2010 | חג המולד |
| 01/01/11 | ראש השנה |
| 11/24/2011 | חג ההודיה |
| 12/25/2011 | חג המולד |
| 01/01/12 | ראש השנה |
| 22/11/12 | חג ההודיה |
| 12/25/2012 | חג המולד |
| 1/1/2013 | ראש השנה |
| 11/28/2013 | חג ההודיה |
| 12/25/2013 | חג המולד |
| 11/27/2014 | חג ההודיה |
| 12/25/2014 | חג המולד |
| 01/01/2014 | ראש השנה |
| 11/27/2014 | חג ההודיה |
| 12/25/2014 | חג המולד |
| 1/1/2015 | ראש השנה |
| 11/26/2014 | חג ההודיה |
| 12/25/2015 | חג המולד |
| 01/01/16 | ראש השנה |
| 11/24/2016 | חג ההודיה |
| 12/25/2016 | חג המולד |
בטבלת התאריכים, אנו יוצרים עמודה בשם Holiday ומשתמשים בנוסחה כגון זו:
=LOOKUPVALUE(Holidays[Holiday],Holidays[date],Calendar[date])
בוא נבחן נוסחה זו ביתר תשומת לב.
אנו משתמשים בפונקציה LOOKUPVALUE כדי לקבל ערכים מהעמודה 'חגים' בטבלה 'חגים'. בארגומנט הראשון, אנו מציינים את העמודה שבה יהיה ערך התוצאה שלנו. אנו מציינים את העמודה 'חגים ' בטבלה 'חגים ' מכיוון שזהו הערך שאנו רוצים שיוחזר.
=LOOKUPVALUE(Holidays[Holiday],Holidays[date],Calendar[date])
לאחר מכן נציין את הארגומנט השני, עמודת החיפוש שמכילה את התאריכים שברצונך לחפש. אנו מציינים את העמודה Date בטבלה Holidays , כך:
=LOOKUPVALUE(Holidays[Holiday],Holidays[date],Calendar[date])
לבסוף, אנו מציינים את העמודה בטבלת ה- Calendar שלנו המכילה את התאריכים שאנו רוצים לחפש בטבלת החגים. זוהי כמובן העמודה Date בטבלה Calendar.
=LOOKUPVALUE(Holidays[Holiday],Holidays[date],Calendar[date])
העמודה 'חגים' תחזיר את שם החג עבור כל שורה שיש לה ערך תאריך התואם לתאריך בטבלה 'חגים'.
לוח שנה מותאם אישית - שלוש עשרה תקופות של ארבעה שבועות
ארגונים מסוימים, כמו קמעונאות או שירותי מזון, מדווחים לעתים קרובות על תקופות שונות, כמו שלוש עשרה תקופות של ארבעה שבועות. עם לוח שנה של שלושה עשר תקופות של ארבעה שבועות, כל תקופה היא 28 ימים; לכן, כל תקופה מכילה ארבעה ימי שני, ארבעה ימי שלישי, ארבעה ימי רביעי וכן הלאה. כל תקופה מכילה את אותו מספר ימים, ובדרך כלל, החגים יחולו באותה תקופה בכל שנה. באפשרותך לבחור להתחיל תקופה בכל יום בשבוע. בדומה לתאריכים בלוח שנה או בשנת כספים, באפשרותך להשתמש ב- DAX כדי ליצור עמודות נוספות עם תאריכים מותאמים אישית.
בדוגמאות שלהלן, התקופה המלאה הראשונה מתחילה ביום ראשון הראשון של שנת הכספים. במקרה זה, שנת הכספים מתחילה ב- 1/7.
שבוע
ערך זה מספק לנו את מספר השבועות החל מהשבוע המלא הראשון בשנת הכספים. בדוגמה זו, השבוע המלא הראשון מתחיל ביום ראשון, כך שהשבוע המלא הראשון בשנת הכספים הראשונה בטבלה Calendar מתחיל למעשה ב- 4/7/2010 וממשיך עד השבוע המלא האחרון בטבלה Calendar. למרות שערך זה כשלעצמו אינו שימושי במיוחד בניתוח, יש צורך לחשב אותו לשימוש בנוסחאות אחרות של תקופה של 28 יום.
=INT([date]-40356)/7)
בוא נבחן נוסחה זו ביתר תשומת לב.
תחילה, אנו יוצרים נוסחה המחזירה ערכים מהעמודה Date כמספר שלם, כך:
=INT([date])
לאחר מכן אנחנו רוצים לחפש את יום ראשון הראשון בשנת הכספים הראשונה. אנחנו רואים שזה 7/4/2010.
כעת, החסר 40356 (שהוא המספר השלם עבור 27/6/2010, יום ראשון האחרון משנת הכספים הקודמת) מערך זה כדי לקבל את מספר הימים מאז תחילת הימים בטבלת ה- Calendar שלנו, כך:
=INT([date]-40356)
לאחר מכן חלק את התוצאה ב- 7 (ימים בשבוע), כך:
=INT(([date]-40356)/7)
התוצאה נראית כך:
נקודה
התקופה בלוח שנה מותאם אישית זה מכילה 28 ימים והיא תמיד מתחילה ביום ראשון. עמודה זו תחזיר את מספר התקופה המתחילה ביום ראשון הראשון של שנת הכספים הראשונה.
=INT(([Week]+3)/4)
בוא נבחן נוסחה זו ביתר תשומת לב.
תחילה, אנו יוצרים נוסחה המחזירה ערך מהעמודה Week כמספר שלם, כך:
= INT([Week])
לאחר מכן הוסף 3 לערך זה, כך:
=INT([Week]+3)
לאחר מכן חלק את התוצאה ב- 4, באופן הבא:
=INT(([Week]+3)/4)
התוצאה נראית כך:
תקופה: שנת כספים
ערך זה מחזיר את שנת הכספים של תקופה.
=INT(([תקופה]+12)/13)+2008
בוא נבחן נוסחה זו ביתר תשומת לב.
ראשית, אנו יוצרים נוסחה המחזירה ערך מ- Period ומחברת 12:
=([תקופה]+12)
אנו מחלקים את התוצאה ב- 13, מכיוון שבשנת הכספים קיימות שלוש עשרה תקופות בנות 28 ימים:
=(([תקופה]+12)/13)
נוסיף את 2010 משום שזוהי השנה הראשונה בטבלה:
=(([תקופה]+12)/13)+2010
לבסוף נשתמש בפונקציה INT כדי להסיר חלק כלשהו מהתוצאה, ונחזיר מספר שלם, כאשר הוא מחולק ב- 13, כך:
= INT(([תקופה]+12)/13)+2010
התוצאה נראית כך:
Period in FiscalYear
ערך זה מחזיר את מספר התקופה, 1 – 13, החל מהתקופה המלאה הראשונה (המתחילה ביום ראשון) בכל שנת כספים.
=IF(MOD([Period],13), MOD([Period],13),13)
הנוסחה הזו קצת יותר מורכבת, ולכן נתאר אותה תחילה בשפה שאנחנו מבינים טוב יותר. נוסחה זו קובעת כי חלק את הערך מ- [תקופה] ב- 13 כדי לקבל מספר תקופה (1-13) בשנה. אם המספר הוא 0, החזר 13.
תחילה, אנו יוצרים נוסחה המחזירה את שארית הערך מנקודה ב- 13. אנו יכולים להשתמש בפונקציות MOD (פונקציות מתמטיות וטריגונומטריות) באופן הבא:
= MOD([Period],13)
ברוב המקרים, תוצאה זו מספקת לנו את התוצאה הרצויה, למעט כאשר ערך period הוא 0 מכיוון שתאריכים אלה אינם חלים בשנת הכספים הראשונה, כמו בחמשת הימים הראשונים בטבלת התאריכים ב- Calendar לדוגמה. אנו יכולים לטפל בכך באמצעות פונקציית IF. אם התוצאה היא 0, נחזיר 13, באופן הבא:
= IF(MOD([Period],13),MOD([Period],13),13)
התוצאה נראית כך:
PivotTable לדוגמה
התמונה שלהלן מציגה PivotTable עם השדה SalesAmount מטבלת העובדות Sales ב- VALUES, והשדות PeriodFiscalYear ו- PeriodInFiscalYear מטבלת ממדי התאריך של Calendar בשורות. SalesAmount נצבר לצורך ההקשר לפי שנת כספים ותקופה של 28 יום בשנת הכספים.
קשרי גומלין
לאחר שיצרת טבלת תאריכים במודל הנתונים שלך, כדי להתחיל לעיין בנתונים שלך בטבלאות PivotTable ובדוחות, וכדי לצבור נתונים בהתבסס על העמודות בטבלת ממדי התאריך, עליך ליצור קשר גומלין בין טבלת העובדות לבין נתוני העסקאות וטבלת התאריכים.
מאחר שעליך ליצור קשר גומלין המבוסס על תאריכים, מומלץ לוודא שאתה יוצר קשר גומלין זה בין עמודות שהערכים שלהן הם מסוג הנתונים 'תאריך/שעה' ('תאריך)'.
עבור כל ערך תאריך בטבלת העובדות, עמודת בדיקת המידע הקשורה בטבלת התאריכים חייבת להכיל ערכים תואמים. לדוגמה, לשורה (רשומת עסקה) בטבלת עובדות מכירות עם ערך של 15/08/2012 00:00 בעמודה DateKey חייב להיות ערך תואם בעמודה Date הקשורה בטבלת התאריכים (הנקראת Calendar). זוהי אחת הסיבות החשובות ביותר לכך שברצונך שעמודת התאריכים בטבלת התאריכים תכיל טווח רציף של תאריכים הכולל כל תאריך אפשרי בטבלת העובדות.
הערה
בעוד שעמודת התאריך בכל טבלה חייבת להיות בעלת סוג נתונים זהה (תאריך), התבנית של כל עמודה אינה חשובה.
הערה
אם Power Pivot אינו מאפשר לך ליצור קשרי גומלין בין שתי הטבלאות, ייתכן ששדות התאריך לא יאחסנו את התאריך והשעה באותה רמת דיוק. בהתאם לעיצוב העמודה, הערכים עשויים להיראות זהים, אך להיות מאוחסנים באופן שונה. קרא עוד אודות עבודה עם זמן.
הערה
הימנע משימוש במפתחות חלופיים של מספרים שלמים במערכות יחסים. בעת ייבוא נתונים ממקור נתונים יחסי, לעתים קרובות עמודות תאריך ושעה מיוצגות על-ידי מפתח חלופי, שהוא עמודת מספר שלם המשמשת לייצוג תאריך ייחודי. ב- Power Pivot, עליך להימנע מיצירת קשרי גומלין באמצעות מקשי תאריך/שעה של מספרים שלמים, ובמקום זאת, להשתמש בעמודות המכילות ערכים ייחודיים עם סוג נתונים של תאריך. למרות שהשימוש במפתחות חלופיים נחשב לשיטת עבודה מומלצת במחסני נתונים מסורתיים, מפתחות מספרים שלמים אינם נחוצים ב- Power Pivot ועלולים להקשות על קיבוץ ערכים בטבלאות PivotTable לפי תקופות תאריכים שונות.
אם אתה מקבל שגיאת סוג אי-התאמה בעת ניסיון ליצור קשר גומלין, ייתכן שהסיבה לכך היא שהעמודה בטבלת העובדות אינה מסוג הנתונים 'תאריך'. מצב זה עשוי להתרחש כאשר Power Pivot אינו יכול להמיר באופן אוטומטי סוג נתונים שאינו תאריך (בדרך כלל סוג נתונים של טקסט) לסוג נתונים של תאריך. ניתן עדיין להשתמש בעמודה בטבלת העובדות, אך יהיה עליך להמיר את הנתונים באמצעות נוסחת DAX בעמודה מחושבת חדשה. ראה המרת תאריכים מסוג נתונים של טקסט לסוג נתונים של תאריך בהמשך הנספח.
קשרי גומלין מרובים
במקרים מסוימים, ייתכן שיהיה צורך ליצור קשרי גומלין מרובים או ליצור טבלאות תאריכים מרובות. לדוגמה, אם קיימים שדות תאריך מרובים בטבלת העובדות של המכירות, כגון DateKey, ShipDate ו- ReturnDate, לכולם יכולים להיות קשרי גומלין לשדה תאריך בטבלת התאריכים של Calendar, אך רק אחד מהם יכול להיות קשר גומלין פעיל. במקרה זה, מכיוון ש- DateKey מייצג את תאריך התנועה, ולכן הוא התאריך החשוב ביותר, מומלץ להשתמש בקשר הגומלין הפעיל . לאחרים יש מערכות יחסים לא פעילות.
ה- PivotTable הבא מחשב את סך המכירות לפי שנת כספים ורבעון כספים. מדד בשם Total Sales, עם הנוסחה Total Sales:=SUM([SalesAmount]), ממוקם ב- VALUES, והשדות FiscalYear ו- FiscalQuarter מטבלת התאריכים של Calendar ממוקמים בשורות.
PivotTable
PivotTable זה פועל באופן ישיר ומדויק זה פועל כראוי מאחר שאנו רוצים לסכם את סך המכירות לפי תאריך העסקה ב- DateKey. המדד Total Sales שלנו משתמש בתאריכים ב- DateKey ומסוכם לפי שנת כספים ורבעון כספים מאחר שקיים קשר גומלין בין DateKey בטבלה Sales לבין העמודה Date בטבלת התאריכים Calendar.
קשרי גומלין לא פעילים
אבל, מה אם היינו רוצים לסכם את סך המכירות שלנו לא לפי תאריך עסקה, אלא לפי תאריך משלוח? אנו זקוקים לקשר גומלין בין העמודה ShipDate בטבלה Sales לבין העמודה Date בטבלה Calendar. אם אנחנו לא יוצרים את הקשר הזה, האגרגציות שלנו תמיד מבוססות על תאריך העסקה. עם זאת, אנו יכולים לקיים קשרי גומלין מרובים, למרות שרק אחד מהם יכול להיות פעיל, ומאחר שתאריך העסקה הוא החשוב ביותר, הוא מקבל את קשר הגומלין הפעיל עם הטבלה Calendar.
במקרה זה, ל- ShipDate יש קשר גומלין לא פעיל, ולכן כל נוסחת מדידה שנוצרת כדי לצבור נתונים בהתבסס על תאריכי משלוח חייבת לציין את קשר הגומלין שאינו פעיל באמצעות הפונקציה USERELATIONSHIP .
לדוגמה, מאחר שקיים קשר גומלין לא פעיל בין העמודה ShipDate בטבלה Sales לבין העמודה Date בטבלה Calendar, נוכל ליצור מדיד שמסכם את סך המכירות לפי תאריך משלוח. אנו משתמשים בנוסחה כמו זו כדי לציין את קשרי הגומלין שבהם יש להשתמש:
Total Sales by Shipping Date:=CALCULATE(SUM(Sales[SalesAmount]), USERELATIONSHIP(Sales[ShipDate], Calendar[Date]))
נוסחה זו מציינת בפשטות: חשב סכום עבור SalesAmount, אך סנן באמצעות קשר הגומלין בין העמודה ShipDate בטבלה Sales והעמודה Date בטבלה Calendar.
כעת, אם ניצור PivotTable ונמקם את המדידה 'סה"כ מכירות לפי תאריך משלוח' ב- VALUES, ואת שנת הכספים ורבעון כספים בשורות, נראה את אותו סכום כולל, אך כל הסכומים האחרים עבור שנת הכספים ורבעון כספים שונים מאחר שהם מבוססים על תאריך המשלוח ולא על תאריך העסקה.
השימוש בקשרי גומלין לא פעילים מאפשר לך להשתמש בטבלת תאריכים אחת בלבד, אך הוא דורש שמדידים כלשהם (כגון 'סה"כ מכירות לפי תאריך משלוח') יפנו לקשר הגומלין הלא פעיל בנוסחה שלהם. קיימת חלופה נוספת, כלומר, השתמש בטבלאות תאריכים מרובות.
טבלאות תאריכים מרובות
דרך נוספת לעבודה עם עמודות תאריכים מרובות בטבלת העובדות היא ליצור טבלאות תאריכים מרובות וליצור קשרי גומלין פעילים נפרדים ביניהן. בוא נביט שוב בדוגמה של טבלת המכירות. יש לנו שלוש עמודות עם תאריכים שבהם אנו עשויים לרצות לצבור נתונים:
- מפתח תאריך עם תאריך המכירה עבור כל תנועה.
- תאריך משלוח – עם התאריך והשעה שבהם הפריטים שנמכרו נשלחו ללקוח.
- ReturnDate – עם התאריך והשעה שבהם פריט אחד או יותר שהוחזר התקבל
זכור, השדה DateKey עם תאריך העסקה הוא החשוב ביותר. אנו נבצע את רוב הצבירות שלנו בהתבסס על תאריכים אלה, ולכן בהחלט נרצה קשר גומלין בינה לבין העמודה Date בטבלה Calendar. אם איננו מעוניינים ליצור קשרי גומלין לא פעילים בין ShipDate ו- ReturnDate והשדה Date בטבלה Calendar, וכתוצאה מכך לדרוש נוסחאות של מידה מיוחדת, נוכל ליצור טבלאות נוספות של תאריכים עבור תאריך משלוח ותאריך חזרה. לאחר מכן נוכל ליצור קשרים פעילים ביניהם.
בדוגמה זו, יצרנו טבלת תאריכים נוספת בשם ShipCalendar. משמעות הדבר היא כמובן גם יצירת עמודות נוספות של תאריכים, ומאחר שעמודות תאריכים אלה נמצאות בטבלת תאריכים שונה, אנו רוצים לתת להן שמות באופן שיבדיל אותן מאותן עמודות בטבלה 'Calendar'. לדוגמה, יצרנו עמודות בשם ShipYear, ShipMonth, ShipQuarter וכן הלאה.
אם ניצור את ה- PivotTable שלנו ונכניס את המדיד 'סך כל המכירות' שלנו ל- VALUES, ואת ShipFiscalYear ו- ShipFiscalQuarter ב- ROWS, נראה את אותן תוצאות שראינו כאשר יצרנו קשר גומלין לא פעיל ושדה מחושב מיוחד של Total Sales by Shipping Date.
כל אחת מהגישות הללו דורשת שיקול דעת מדוקדק. בעת שימוש בקשרי גומלין מרובים עם טבלת תאריכים יחידה, ייתכן שיהיה עליך ליצור מדידים מיוחדים המעבירים קשרי גומלין לא פעילים באמצעות הפונקציה USERELATIONSHIP. מצד שני, יצירת טבלאות תאריכים מרובות עלולה להיות מבלבלת ברשימת שדות, ומאחר שמודל הנתונים מכיל טבלאות רבות יותר, הדבר ידרוש זיכרון רב יותר. נסה את מה שהכי מתאים לך.
המאפיין Date Table
המאפיין 'טבלת תאריכים' מגדיר מטה-נתונים הדרושים כדי שפונקציות Time-Intelligence כגון TOTALYTD, PREVIOUSMONTH ו- DATESBETWEEN יפעלו כראוי. כאשר חישוב מופעל באמצעות אחת מפונקציות אלה, מנגנון הנוסחאות של Power Pivot יודע להיכן לעבור כדי להשיג את התאריכים הדרושים לו.
אזהרה
אם מאפיין זה אינו מוגדר, ייתכן שמדידות המשתמשות בפונקציות DAX Time-Intelligence לא יחזירו את התוצאות הנכונות.
כאשר אתה מגדיר את המאפיין 'טבלת תאריכים', אתה מציין טבלת תאריכים ועמודת תאריכים של סוג הנתונים 'תאריך (datetime)' בתוכה.
כיצד לבצע: הגדרת המאפיין 'טבלת תאריכים'
- בחלון PowerPivot, בחר את הטבלה Calendar.
- בכרטיסיה 'עיצוב ', לחץ על 'סמן כטבלת תאריכים'.
- בתיבת הדו-שיח סימון כטבלת תאריכים, בחר עמודה עם ערכים ייחודיים ואת סוג הנתונים 'תאריך'.
עבודה עם הזמן
כל ערכי התאריכים עם סוג הנתונים 'תאריך' ב- Excel או ב- SQL Server הם למעשה מספר. מספר זה כולל ספרות שמתייחסות לשעה. במקרים רבים, הזמן עבור כל שורה ושורה הוא חצות. לדוגמה, אם שדה DateTimeKey בטבלת עובדות של מכירות כולל ערכים כגון 19/10/2010 12:00:00, המשמעות היא שהערכים הם ברמת דיוק של יום. אם ערכי השדה DateTimeKey כוללים שעה, לדוגמה, 19/10/2010 8:44:00 AM, פירוש הדבר שהערכים הם ברמת דיוק של דקה. ערכים יכולים להיות גם ברמת הדיוק של השעה, או אפילו ברמת הדיוק של השניות. לרמת הדיוק בערך הזמן יש השפעה משמעותית על האופן שבו תיצור את טבלת התאריכים ואת קשרי הגומלין בינה לבין טבלת העובדות.
עליך לקבוע אם לצבור את הנתונים לרמת דיוק של יום או לרמת דיוק מסוימת. במילים אחרות, ייתכן שתרצה להשתמש בעמודות בטבלת התאריכים, כגון בוקר, אחר הצהריים או שעה, כשדות תאריך שעה באזורי שורה, עמודה או סינון של PivotTable.
הערה
ימים הם יחידת הזמן הקטנה ביותר שאיתה פונקציות בינת הזמן של DAX יכולות לעבוד. אם אינך צריך לעבוד עם ערכי זמן, עליך להקטין את הדיוק של הנתונים כדי להשתמש בימים כיחידת המינימום.
אם בכוונתך לצבור את הנתונים לרמת הזמן, טבלת התאריכים תצטרך עמודת תאריך עם השעה כלולה. למעשה, היא תזדקק לעמודת תאריך עם שורה אחת עבור כל שעה, או אולי אפילו כל דקה, בכל יום, עבור כל שנה בטווח התאריכים. הסיבה לכך היא שכדי ליצור קשר גומלין בין העמודה DateTimeKey בטבלת העובדות לבין עמודת התאריכים בטבלת התאריכים, דרושים לך ערכים תואמים. כפי שאתה יכול לדמיין, אם אתה כולל הרבה שנים, זה יכול ליצור טבלת תאריכים גדולה מאוד.
עם זאת, ברוב המקרים תרצה לצבור את הנתונים ליום זה בלבד. במילים אחרות, תשתמש בעמודות כגון שנה, חודש, שבוע או יום בשבוע כשדות באזורי שורה, עמודה או סינון של PivotTable. במקרה זה, עמודת התאריך בטבלת התאריכים צריכה להכיל שורה אחת בלבד עבור כל יום בשנה, כפי שתיארנו קודם.
אם עמודת התאריך שלך כוללת רמת דיוק של זמן, אך תצבור רק לרמת יום, כדי ליצור את קשר הגומלין בין טבלת העובדות לטבלת התאריכים, ייתכן שיהיה עליך לשנות את טבלת העובדות על-ידי יצירת עמודה חדשה שחותכת את הערכים בעמודת התאריך לערך יום. במילים אחרות, המר ערך כגון 19/10/2010 8:44:00AM ל- 19/10/2010 12:00:00. לאחר מכן, תוכל ליצור את קשר הגומלין בין עמודה חדשה זו לבין עמודת התאריכים בטבלת התאריכים, מכיוון שהערכים תואמים.
בואו נסתכל על דוגמה. תמונה זו מציגה עמודת DateTimeKey בטבלת העובדות Sales. כל הצבירות של הנתונים בטבלה זו צריכות להיות רק ברמת היום, באמצעות עמודות בטבלת התאריכים של Calendar כגון Year, Month, Quarter וכן הלאה. השעה הכלולה בערך אינה רלוונטית, אלא רק התאריך בפועל.
מאחר שאין צורך שעלינו לנתח נתונים אלה ברמת הזמן, אין צורך שהעמודה Date בטבלת התאריכים של Calendar תכלול שורה אחת עבור כל שעה וכל דקה בכל יום בכל שנה. לכן, העמודה Date בטבלת התאריכים שלנו נראית כך:
כדי ליצור קשר גומלין בין העמודה DateTimeKey בטבלה Sales לבין העמודה Date בטבלה Calendar, ניתן ליצור עמודה מחושבת חדשה בטבלת העובדות Sales, ולהשתמש בפונקציה TRUNC כדי לחתוך את ערכי התאריך והשעה בעמודה DateTimeKey לערך תאריך התואם לערכים בעמודה Date בטבלה Calendar. הנוסחה שלנו נראית כך:
=TRUNC([DateTimeKey],0)
פעולה זו מעניקה לנו עמודה חדשה (שקראנו לה DateKey) עם התאריך מהעמודה DateTimeKey ושעה של 00:00:00 עבור כל שורה:
כעת ניתן ליצור קשר גומלין בין עמודה חדשה זו (DateKey) לבין העמודה Date בטבלה Calendar.
בדומה, ניתן ליצור עמודה מחושבת בטבלת המכירות, שמפחיתה את דיוק הזמן בעמודה DateTimeKey לרמת דיוק של שעה. במקרה זה, הפונקציה TRUNC לא תפעל, אך נוכל עדיין להשתמש בפונקציות תאריך ושעה אחרות של DAX כדי לחלץ ולשרשר מחדש ערך חדש עד לרמת דיוק של שעה. אנו יכולים להשתמש בנוסחה כזו:
= DATE (YEAR([DateTimeKey]), MONTH([DateTimeKey]), DAY([DateTimeKey]) ) + TIME (HOUR([DateTimeKey]), 0, 0)
העמודה החדשה שלנו נראית כך:
בתנאי שעמודת התאריך בטבלת התאריכים מכילה ערכים ברמת דיוק של שעה, נוכל ליצור קשר גומלין ביניהם.
הפיכת תאריכים לשימושיים יותר
רבות מעמודות התאריכים שאתה יוצר בטבלת התאריכים שלך נחוצות עבור שדות אחרים, אך למעשה אינן כל כך שימושיות בניתוח. לדוגמה, השדה DateKey בטבלה Sales שהזכרנו והצגת לאורך מאמר זה חשוב מאחר שעבור כל תנועה, אותה עסקה נרשמת כמתרחשת בתאריך ובשעה מסוימים. אבל מנקודת מבט של ניתוח ודיווח, זה לא כל כך שימושי מכיוון שאנחנו לא יכולים להשתמש בו כשורה, עמודה או שדה סינון ב-Pivot Table או בדוח.
באופן דומה, בדוגמה שלנו, העמודה Date בטבלה Calendar היא שימושית מאוד ולמעשה קריטית, אך לא ניתן להשתמש בה כממד ב- PivotTable.
כדי לשמור על טבלאות והעמודות בהן שימושיות ככל האפשר, וכדי להפוך את הניווט ברשימות שדות של PivotTable או של דוח Power View לקל יותר, חשוב להסתיר עמודות מיותרות מכלי הלקוח. בנוסף, ייתכן שתרצה להסתיר טבלאות מסוימות. הטבלה 'חגים' שהוצגה קודם לכן מכילה תאריכי חגים חשובים עבור עמודות מסוימות בטבלה 'Calendar', אך לא ניתן להשתמש בעמודות 'תאריך' ו'חגים' בטבלה 'חגים' כשלעצמן כשדות ב- PivotTable. גם כאן, כדי להקל על הניווט ברשימות שדות, באפשרותך להסתיר את טבלת החגים כולה.
היבט חשוב נוסף של עבודה עם תאריכים הוא מוסכמות מתן שמות. תוכל לתת לטבלאות ולעמודות ב- Power Pivot כל שם שתרצה. אבל זכור, במיוחד אם בכוונתך לשתף את חוברת העבודה עם משתמשים אחרים, מוסכמה טובה למתן שמות מקלה עליך לזהות טבלאות ותאריכים, לא רק ברשימות שדות, אלא גם ב- Power Pivot ובנוסחאות DAX.
לאחר יצירת טבלת תאריכים במודל הנתונים שלך, באפשרותך להתחיל ליצור מדידים שיסייעו לך להפיק את המרב מהנתונים. חלקן יכולות להיות פשוטות כמו סיכום סכומי מכירות עבור השנה הנוכחית, ואחרות עשויות להיות מורכבות יותר, מכיוון שעליך לסנן לפי טווח מסוים של תאריכים ייחודיים. קבל מידע נוסף במדידים בפונקציות Power Pivotובינת זמן.
נספח
המרת סוג נתונים של טקסט תאריכים לסוג נתונים של תאריך
במקרים מסוימים, טבלת עובדות עם נתוני עסקאות עשויה להכיל תאריכים מסוג נתוני טקסט. כלומר, תאריך שמופיע כ- 2012-12-04T11:47:09 הוא למעשה לא תאריך כלל, או לפחות לא סוג התאריך ש- Power Pivot יכול להבין. למעשה מדובר רק בטקסט שנקרא כמו תאריך. כדי ליצור קשר גומלין בין עמודת תאריך בטבלת העובדות לבין עמודת תאריכים בטבלת תאריכים, שתי העמודות חייבות להיות מסוג הנתונים ' תאריך '.
בדרך כלל, כאשר אתה מנסה לשנות את סוג הנתונים של עמודה של תאריכים שהם מסוג נתונים של טקסט לסוג נתונים של תאריך, Power Pivot יכול לפרש את התאריכים ולהמיר אותם לסוג נתונים של תאריך אמיתי באופן אוטומטי. אם ל- Power Pivot אין אפשרות לבצע המרה של סוג נתונים, תקבל שגיאת סוג אי-התאמה.
עם זאת, עדיין תוכל להמיר את התאריכים לסוג נתונים של תאריך אמיתי. באפשרותך ליצור עמודה מחושבת חדשה ולהשתמש בנוסחת DAX כדי לנתח את השנה, החודש, היום, השעה וכן הלאה מתוך מחרוזות הטקסט ולאחר מכן לשרשר אותן יחד באופן ש- Power Pivot יוכל לקרוא כתאריך אמיתי.
בדוגמה זו, ייבאנו טבלת עובדות בשם Sales ל- Power Pivot. הוא מכיל עמודה בשם DateTime. הערכים נראים כך:
אם נסתכל על סוג הנתונים בקבוצה 'עיצוב' הכרטיסיה 'בית' ב- Power Pivot, נראה שמדובר בסוג נתונים של טקסט.
לא ניתן ליצור קשר גומלין בין העמודה DateTime לבין העמודה Date בטבלת התאריכים מאחר שסוגי הנתונים אינם תואמים. אם ננסה לשנות את סוג הנתונים לתאריך, נקבל שגיאת סוג אי-התאמה:
במקרה זה, ל- Power Pivot לא היתה אפשרות להמיר את סוג הנתונים מטקסט לתאריך. אנו עדיין יכולים להשתמש בעמודה זו, אך כדי להכניס אותה לסוג הנתונים 'תאריך אמיתי', עלינו ליצור עמודה חדשה שמנתחת את הטקסט ויוצרת אותו מחדש לערך ש- Power Pivot יכול ליצור סוג נתונים של 'תאריך'.
זכור, מהסעיף עבודה עם זמן מוקדם יותר במאמר זה; אלא אם כן יש צורך שהניתוח יהיה ברמת דיוק של שעה ביום, עליך להמיר תאריכים בטבלת העובדות שלך לרמת דיוק של יום. עם זאת, אנחנו רוצים שהערכים בעמודה החדשה שלנו יהיו ברמת דיוק של יום (לא כולל זמן). אנו יכולים גם להמיר את הערכים בעמודה DateTime לסוג נתונים של תאריך וגם להסיר את רמת הדיוק של השעה באמצעות הנוסחה הבאה:
=DATE(LEFT([DateTime],4), MID([DateTime],6,2), MID([DateTime],9,2))
פעולה זו מעניקה לנו עמודה חדשה (במקרה זה, הנקראת 'תאריך'). Power Pivot אפילו מזהה את הערכים כתאריכים ומגדיר את סוג הנתונים באופן אוטומטי לתאריך.
אם ברצוננו לשמר את רמת הדיוק של הזמן, פשוט נרחיב את הנוסחה כך שתכלול את השעות, הדקות והשניות.
=DATE(LEFT([DateTime],4), MID([DateTime],6,2), MID([DateTime],9,2)) +
TIME(MID([DateTime],12,2), MID([DateTime],15,2), MID([DateTime],18,2))
כעת, כשיש לנו עמודת תאריך מסוג הנתונים 'תאריך', נוכל ליצור קשר גומלין בינה לבין עמודת תאריך בתאריך.
משאבים נוספים
התחלה מהירה: למד את העקרונות הבסיסיים של DAX ב- 30 דקות