download (2)

DAX PowerBi מדריך למתחיל

למדנו קצת על הכלי הנפוץ Power bi שתוכנן על מנת להיות תחלופה לתוכנת ה- Excel, המשמשת מזה כ- 20 שנה כסכין ומזלג של אנליסטים ושל אנשי כספים, שנחשפה במגבלותיה ככל שמסדי הנתונים גדלו והצורך לנתח פרמטרים מגוונים יותר עלה.

סיימנו את המאמר האחרון לאחר פירוט התכונות העיקריות כמו גם יתרונות בולטים בו, אך אי אפשר לכתוב על Power bi ללא התייחסות לשפת הDAX

Data Analysis Expressions

אז היום אסקור את התכונות הבסיסיות של השפה אגדיר מה הייעוד שלה ואדגים מעט מיכולותיה. השפה פותחה לשם ביצוע אינטראקציה עם נתונים במגוון הפלטפורמות שלהם כמו מודלים טבלאיים של Power BI, PowerPivot ו- SSAS. היא נועדה להיות פשוטה וקלה ללימוד תוך חשיפת העוצמה והגמישות של מודלים טבלאיים. באופן מסוים, תוכלו להשוות אותה לנוסחאות אקסל משופרות.

 

אז בואו נתחיל עם היסודות של DAX,

מי שכבר התנסה עם הכלי יודע שדי קל ליצור דוחות באמצעות Power BI, שיציגו תובנות בעלות ערך ישר מהנתונים הגולמיים שלנו. אבל, מה אם אנו צריכים לנתח את אחוזי הצמיחה בכל קטגוריות המוצרים ולכל טווחי התאריכים השונים? או לחלופין, עלינו לחשב את הצמיחה השנתית של החברה באחוזים בהשוואה לחברות מתחרות ?

לימוד DAX יעזור לנו להפיק את המקסימום מהנתונים שלנו כך נוכל לפתור בעיות עסקיות אמיתיות. שפת DAX כוללת פונקציות, אופרטורים ומשתנים,

אם נהיה מדויקים ישנן למעלה מ- 200 פונקציות בהן נוכל להשתמש, ה"ספרייה" של השפה מספקת גמישות עצומה ביצירת אמצעים לחישוב התוצאות הרצויות כמעט לכל צורך בניתוח נתונים.

 

לפני שאתחיל להציג את השפה אני רוצה להסביר למה לכל אדם בתחום האנליזה והנתונים כדאי להכיר וללמוד את השפה.

למה כדאי ללמוד DAX

זה פותח עולם חדש לגמרי!

משתמש ב- Power BI שלא משתמש בDAX הוא כמו משתמש ב- Excel בלי להכיר נוסחאות כלל ולפתע הוא מגלה את האפשרות של השימוש בהן, סבבה – הצלחת עד כה לבנות את הטבלאות שלך, להוסיף כמה תרשימים וללחוץ על כפתור הסכום / הממוצע / … אבל פתאום אתה מגלה את העולם של פונקציות VLOOKUP, IF ומה לא. למרות שהשוואה זו אינה לחלוטין נכונה לפחות לדעתי, שהרי Power BI הוא כבר כלי חזק להפליא גם ללא DAX, ולעומת זאת, כל דבר מעבר לשימוש קל באקסל כבר דורש נוסחאות. עם זאת, לימוד DAX יפתח בפניכם עולם חדש של Power BI.

 

אתם בטח יודעים שלא צריך הרבה בכדי להגיע לנקודה בה אתה מקלל את המסך שלך, כי הדשבורד שבנית לא נותן לך את התוצאות שאותן ציפית לקבל. ברגע שתדעו להשתמש ב- DAX תופתעו מכמה מכאבי הראש הללו תוכלו להימנע, או לעקוף לחלוטין (בצורה פרועה כלשהי).

ככל שתשתפרו ב- DAX, כך תוכלו להפוך את לוח המחוונים שלכם לחכם יותר. באמצעות DAX תוכלו ליצור עמודות מחושבות מורכבות ומשמעותיות יותר ו / או מדדים שבאמצעותם תוכלו להגביל ולסנן את הנתונים שעל לוח המחוונים. למרות שיש סינטקס שעשוי להכביד על המנוע של הכלי בעת עריכת החישובים

ניתן ללמוד איך לכתוב בצורה אופטימאלית מבחינת שימוש במשאבי זיכרון ובכך להגביל את השימוש במשאבים, לדוגמה :

חשוב להשתמש במספרים שלמים ככל האפשר חיפוש בשורות של נתונים מספריים הוא הרבה יותר מהיר מאשר חיפוש במחרוזות. לכן במידת האפשר, תשתמש במספרים שלמים. לדוגמא, עדיף להשתמש בערכי 0/1 במקום "כן / לא". או 1/2/3 במקום "נמוך / בינוני / גבוה". ושים לב, שספרה אינה בהכרח מספר שלם. יכול להיות שיש לך 1/2/3 כערכים, אך הם עדיין יכולים להיחשב מחרוזות. אז בדוק תמיד את פורמט הנתונים בעורך השאילתות.

דבר אחרון DAX הוא השקעה בטוחה

המיומנות שתרכשו לא להיות מוגבלת לסביבת Power BI. ניתן להשתמש ב- DAX במוצרי מיקרוסופט בטבלה כמו:

Power BI

Microsoft Analysis Services

Microsoft Power Pivot for Excel

שלא לדבר על תחביר ה- DAX שדומה מאוד גם לנוסחאות Excel, מה שהופך את הידע שגבר יש לכם להיות מקפצה לעבר DAX.

 

No alt text provided for this image

 

לשפה יש שלושה מושגים בסיסיים:

1.    תחביר – Syntax

2.    הקשר – Context

3.    פונקציות – Functions

כמובן שיש מושגים חשובים אחרים, אך הבנת שלושת אלו תספק את הבסיס הטוב ביותר שעליו אתם הולכים לבנות את היכולות שלכם.

 

1.   תחביר – Syntax

 

התחביר כולל מרכיבים שונים המרכיבים נוסחה ואת

אופן כתיבתה. תסתכלו על נוסחת פשוטה זו.

No alt text provided for this image

 

כשמנסים להבין נוסחת DAX, לעתים קרובות יעזור לכם לפרק כל אחד מהאלמנטים לשפה שאנו חושבים ומדברים בה מדי יום. למשל: אנו יכולים לקרוא זאת כך "עבור המדד בשם סך המכירות, נחשב את סכום הערכים בעמודה [SalesAmount] בטבלת המכירות."

נוסחה זו כוללת את רכיבי התחביר הבאים:

A. שם המדד.

B. אופרטור = שמציין את תחילת הנוסחה.

C.פונקציית SUM, שמסכמת את כל המספרים בעמודה SalesAmount בטבלת Sales.

.D סוגריים עגולים (), שמקיפים כל ביטוי המכיל ארגומנט אחד או יותר. כל הפונקציות דורשות ארגומנט אחד לפחות. ארגומנט מעביר ערך לפונקציה.

E. הטבלה הרלוונטית Sales.

F. העמודה הרלוונטית אותה נדרש לסכום SalesAmount

 

 

2.   הקשר – Context

הקשר הוא נושא חשוב וקריטי בהבנה של השפה ומתחלק

לשניים

Row context

בפשטות זה ביצוע האיטרציה (חזרתיות)

לדוגמה אם יש לי טבלת מכירות שכל שורה בה היא מכירה ויש לי בה רק 3 עמודות, עמודת מספר הזמנה עמודת מחיר ועמודת כמות שנרכשה,

ואנו רוצים לדעת כמה הטוטאל של המכירות שלי

אם אעשה SUM על עמודת המחירים ואת התוצאה אכפיל בSUM של עמודת הכמויות אקבל תוצאה שגויה לכן נצטרך לבצע איטרציה,

נצטרך להגיד : DAX יקירי לך בבקשה ולכל שורה ושורה בטבלה שלי תכפיל את המחיר בכמות

ותשמור בצד את הערך שאתה מקבל, כשאתה מסיים תן לי בבקשה את הSUM של כל הערכים ששמרת בצד

וזה ייראה כך:

No alt text provided for this image

כמובן שנוכל גם להוסיף עמודה מחושבת חדשה ועליה לבצע SUM רגיל

 

Filter context

בפשטות זה פילטר

כשאתם רוצים להציג טבלה בדו"ח, FILTER CONTEXT הוא קבוצת המסננים שמופעלים לפני שהטבלה מוצגת, למשל מכירות רק של סניף תל אביב לקטגוריית פריטים "נעלי ספורט"

ואם תרצו לראות דוגמה פשוטה בקוד

No alt text provided for this image

שימו לב שאני משתמש בתוצאת החישוב מהפסקה הקודמת [Total Sales] כמדד בסיס ועליו מוסיף פילטר.

על פונקציית Calculate נלמד בהמשך אך חשוב לדעת שהפונקציה CALCULATE שימושית מאוד מכיוון שהיא יכולה לשנות את ה Filter Context של הביטוי כמו שראינו בדוגמה.

חשוב להבין את השורה התחתונה🎯

    Filter context מפלטר לא מבצע איטראציה.

    Row context : מבצע איטראציה, לא פילטר.

 

 

3.   פונקציות – Functions

 

פונקציות הן נוסחאות מוגדרות מראש, מובנות ומסודרות. הן מבצעות חישובים באמצעות ארגומנטים שהועברו אליהם. ארגומנטים אלו יכולים להיות מספר, טקסט, ערכים לוגיים או פונקציות אחרות כמו שהקדמנו ישנן מעל 200 פונקציות לDAX והן מתחלקות למשפחות,

לדוגמה פונקציות תאריך ושעה, פונקציות סינון, פונקציות פיננסיות, פונקציות מידע, פונקציות לוגיות, פונקציות מתמטיות, פונקציות סטטיסטיות, פונקציות טקסט….

לפני הסיום אני רוצה לתת כמה שאלות בסיסיות ששואלים בראיונות עבודה בנושא DAX שימו לב לצורה בה אני כותב את התשובה לשאלה ונסו ליישם על שאלות ששאלו אתכם…

1)    ציין את היתרונות של שימוש במשתנים (Variable) ב- DAX.

משתנים הם מאפיין מרכזי שמקל על כתיבת קוד DAX. שימוש במשתנים מגביר מאוד את הקריאה והשימוש החוזר של הקוד. על ידי הכרזה והערכה של משתנה, ניתן לעשות שימוש חוזר במשתנה מספר פעמים בביטוי DAX, מה שעוזר לנו להימנע משאילתות נוספות ממקור מסד הנתונים ומייעל את הביצועים של הדוחות, חשוב לזכור שניתן להשתמש ולקרוא לערכי המשתנים רק בתוך הScope של הנוסחה הספציפית ולא מנוסחאות אחרות.

2)    ציין את ההבדלים העיקריים בין פונקציות MAX ו- MAXA

אם ברצונך לחשב ערכים מספריים, השתמש ב- MAX. עם זאת, אם מדובר בערכים שאינם מספריים, עליך להשתמש ב- MAXA.

3)    למה פונקציות מקוננות של Dax שוות ערך ב SQL? שאילתות משנה בSQL.

אהבת את המאמר?

שיתוף ב facebook
שתף בפייסבוק
שיתוף ב twitter
שתף ב - Twitter
שיתוף ב linkedin
שתף ב- Linkdin
שיתוף ב whatsapp
שתף ב - Whatsapp

השאר תגובה

0 0 הצבעות
Article Rating
Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
הצג את כל התגובות

אולי יעניין אותך גם