מידע זה חל על חוברות עבודה ועל לוחות מידע קלאסיים.
פונקציות של סדרות עתיות או פונקציות מסנן?
פונקציות של סדרות עתיות Ago
ו-Todate
מציעות דרך פשוטה ליצור מדדים לחישוב לפני שנה, שנתי מצטבר
וכן הלאה, ושיטה זו עובדת היטב לדוחות משתמשים עסקיים. עם זאת, פונקציות אלו מייצרות שאילתות מורכבות שיש להן עלות משמעותית בביצועים. כמו כן, בכל פעם שנעשה שימוש באחת מהפונקציות האלו בדוח, נוצרת תת-שאילתא נוספת תוך שימוש בעוד יותר משאבים במסד הנתונים.
בלוחות מידע הקלאסיים, במקום להשתמש בפונקציות של סדרות זמן, אתה בדרך כלל להשיג את אותה תוצאה על-ידי שימוש במדדים בסיסיים עם הפונקציה מסנן
כדי לסנן לפי תקופת הזמן המתאימה. שיטה זו עשויה להיות מורכבת מדי לדוחות משתמשים עסקיים, אך היא פועלת מצוין בלוחות מידע שהוגדרו מראש על ידי צוות ה-IT. בשיטה זו, ה-SQL הפיזי שנוצר הוא הרבה יותר פשוט ויותר יעיל, ואינו דורש תת-שאילתא נוספת. המשמעות היא ששאילתת ה-SQL תהיה מהירה יותר ותשתמש בפחות משאבים במסד הנתונים, מה שיפחית את השימוש הכולל ב-CPU ובקלט/פלט של מסד הנתונים.
הנה דוגמה לשאילתא הפיזית שנוצרת כאשר אתה משתמש גם במדד הבסיס וגם במדד 'לפני חודש' באותו דוח. נוצרו שתי שאילתות:
הנה ה-SQL שנוצר כאשר אתה משתמש בפונקציה מסנן
במקום זאת. נוצרת שאילתא יחידה, וזה הרבה יותר פשוט:
כיצד ליישם זאת בלוח מידע עם מנחים
ברוב המימושים, לוח המידע כבר כולל מנחה כך שהמשתמשים יכולים לבחור את החודש שהם מחפשים. הצעד הראשון הוא לזהות את תקופות הזמן שלפיהן עלינו לסנן בהתבסס על בחירת המשתמש.
בדוגמה פשוטה זו, אנו מניחים שממד לוח השנה כולל את העמודה מספר תקופה יוליאנית
מכיוון שהוא הופך את החישוב להרבה יותר קל. זה אפשרי גם ללא מספר תקופה יוליאנית
אך ידרוש נוסחאות מורכבות הרבה יותר לחישוב תקופת הזמן שנבחרה.
ראשית, המנחה לMonth
חייבת למלא משתנה מצגת (MonthSelected
בדוגמה למטה). לאחר מכן, אנו יוצרים מנחה נפרד של לוח מידע כדי לאחזר את מספר התקופה היוליאנית
המתאים ולהכניס אותו למשתנה אחר (PeriodNumberSelected
). מנחה שני זה לא מוצג למשתמש הקצה, במקום זאת הוא מוסתר בלוח המידע והערך מחושב אוטומטית בהתבסס על המשתנה MonthSelected
. ראה את הדוגמה להלן.
Month
כדי להוסיף את משתנה המצגת.
מספר תקופה יוליאנית
.
תקופה יוליאנית
.
חודש
, והשתמש בפונקציות מסנן של נוסחאות עמודה המבוססות על מספר תקופה יוליאנית
כנדרש. להלן כמה דוגמאות:
Current Month: Filter("Revenue Metrics"."Revenue" using "Time"."Julian Month Number"=@{PeriodNumberSelected}{80800})
Month Ago: Filter("Revenue Metrics"."Revenue" using "Time"."Julian Month Number"=@{PeriodNumberSelected}{80800}-1)
Year Ago: Filter("Revenue Metrics"."Revenue" using "Time"."Julian Month Number"=@{PeriodNumberSelected}{80800}-12)
Year to date: Filter("Revenue Metrics"."Revenue" using "Time"."Julian Month Number"<=@{PeriodNumberSelected}{80800} and “Time”.”Year”=@{YearSelected}{2019})
כיצד ליישם זאת בחוברת עבודה עם פרמטרים
ניתן ליישם את אותו עיקרון בחוברת עבודה. מנחים ומשתני מצגת מוחלפים במסנן ופרמטרים של לוח מידע.
צור שלושה פרמטרים: MonthSelected, PeriodNumberSelected ו- YearSelected. רק הפרמטר MonthSelected מוצג ביריעה במסנן לוח מידע.
ערכים אפשריים של פרמטר MonthSelected מוגדרים בהתבסס על logical SQL שבוחר את כל החודשים.
בשביל הפרמטרים PeriodNumberSelected ו- YearSelected, הערכים האפשריים אינם מאוכלסים. רק הערך הראשוני מאוכלס בשאילתה לוגית המסוננת בהתבסס על הערך של MonthSelected. ראה את הדוגמאות להלן.