PracticU

Qlik Aggregation Functions - Group By - חלק 1

בלי כתוביותעם כתוביות
PracticU › קורס BI - ניתוח מסדי נתונים - Qlik Sense › Qlik Aggregation Functions - Group By - חלק 1
מילון מושגים:
Qlik - פלטפורמה לניתוח נתונים ולהצגתם בלוחות מחוונים אינטראקטיביים (Business Intelligence).
פונקציה - קטע קוד בעל שם שמבצע משימה מוגדרת, מקבל ערכי קלט (פרמטרים) ויכול להחזיר תוצאה. מאפשרת לארגן קוד ולהשתמש בו שוב.
סקריפט - קובץ המכיל רצף פקודות שמבוצעות על ידי מפרש, לרוב כדי להפוך משימות לאוטומטיות.
טבלה - מבנה במסד נתונים שמאחסן נתונים בשורות ועמודות. כל שורה היא רשומה וכל עמודה היא שדה.
רשומה - שורה בטבלת מסד נתונים שמרכזת את כל השדות של פריט אחד, למשל כל הפרטים של לקוח יחיד.

Qlik Aggregation Functions - Group By - חלק 1
הפונקציות האגרגטיביות הן הקבוצה החשובה ביותר בכל מערכת BI. השיעור מסביר מהן, מתי מחשבים אותן בסקריפט ומתי בתצוגה, ומתחיל לשחק איתן בטבלאות ובאובייקטים.
השלבים העיקריים
1. מה זו פונקציה אגרגטיבית: פונקציה שעוברת על הרבה רשומות או ערכים ומחזירה מהם מספר אחד. למשל Count, שסופרת לקוחות, ו-Sum, שמסכמת את הסכומים בהזמנות.
2. סוגים מרכזיים: Count, Sum, Avg לממוצע, Min למינימום ו-Max למקסימום. כולן מופיעות בתפריט הפונקציות האגרגטיביות של התצוגה.
3. סקריפט או תצוגה: פונקציה שהתוצאה שלה קבועה, כמו שנה שחולצה מתאריך, כדאי לחשב בסקריפט. השדה נשמר מראש, אפשר להשתמש בו שוב ושוב והביצועים טובים יותר. פונקציה אגרגטיבית משתנה לפי הסינון של המשתמש, ולכן מחשבים אותה בשכבת התצוגה.
4. דוגמה - Count: ב-Customer ID נתנה Count תוצאה של 91 לקוחות בסך הכל. כשבחרו שנה 2014 התקבלו 81 לקוחות, ובשנה 2013 התקבלו 86.
5. דוגמה - Sum: בטבלת Order Items, Sum של Quantity נתן כ-25 אלף, והתוצאה משתנה כשמסננים את הנתונים.
6. KPI: אובייקט שמציג מספר בודד. הדובר הוסיף בו Count על Customer ID וכתב לו כותרת Number of customers.
שימו לב
כשמזינים פונקציה בתצוגה, כותבים אותה בביטוי של האובייקט או של הטבלה, ולא בשדה הטבלה בסקריפט. הדובר הדגיש שההחלטה תלויה בשאלה אם התוצאה צריכה להשתנות לפי בחירת המשתמש.
עכשיו אפשר להבחין מתי פונקציה שייכת לסקריפט ומתי לתצוגה, ולבנות KPI פשוט עם פונקציה אגרגטיבית.
השיעור הבא בקורס: Qlik Aggregation Functions - Group By - חלק 2

פרקי ההרצאה: Qlik Aggregation Functions - Group By - חלק 1

  1. 00:00

    מהן פונקציות אגרגטיביות

  2. 00:39

    דוגמאות Count ו-Sum

  3. 01:28

    ניווט בתפריט הפונקציות האגרגטיביות

  4. 02:07

    Avg, Min ו-Max

  5. 02:46

    חישוב בסקריפט מול חישוב בתצוגה

  6. 04:35

    למה אגרגציה דינמית לא נשמרת בסקריפט

  7. 05:55

    טבלת לקוחות כבסיס לאגרגציה

תמלול ההרצאה: Qlik Aggregation Functions - Group By - חלק 1

הטקסט המלא של הדקות הראשונות בהרצאה «Qlik Aggregation Functions - Group By - חלק 1» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.

  1. 00:02

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

  2. 00:12

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

  3. 00:24

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

  4. 00:39

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

  5. 01:00

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

  6. 01:22

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

  7. 01:46

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

  8. 02:05

    קבוצה לא כולן שימושיות באותה מידה אנחנו נעבור על העיקריות אז פה אני יכול למצוא באמת את אקאונט אוקיי ואני יכול למצוא את סאם גם אני יכול לחפש ולראות את זה סאם עוד פונקציה שימשית מאוד זה אברנג' או avg שמחלצת לי ממוצע זאת אומרת היא לוקחת הרבה ערכים ופשוט עושה ממוצע יש לי את מין שזה המינימלי ויש לי את מקס שזה המקסימלי בוא נשחק

  9. 02:38

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

  10. 02:57

    אז פונקציות הקו המנחה צריך להיות פונקציות שמייצרות לי תוצאה שהיא קבועה היא תמיד תהיה קבועה לא משנה מה המשתמש סינן עדיף לעשות אותה בסקריפט.

  11. 03:11

    למשל כשרצינו לחלץ מתוך התאריך שנה אוקיי בוא נחזור לזה רגע העלית order date ועשיתי עליו year של order date as order year לא משנה מה המשתמש לחץ לא משנה מה הוא בחר בתצוגה תמיד נגיד השנה של הראשון לשלישי 2019 השנה תהיה תמיד 2019 זה לא משנה על מה הוא ילחץ הסינון של המשתמש לא משפיע על החישוב של הפונקציה ולכן תמיד עדיף לעשות את זה לפני כן

  12. 03:39

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

  13. 03:50

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

  14. 04:12

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

  15. 04:32

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

  16. 05:03

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

  17. 05:29

    אגרגטיביות נשכפל רגע את המסך האחרון time dimension duplicate בוא נכתוב פה אגרגיישן ונתחיל לשחק אז אני אמחק את כל האובייקטים של האמצע ואני רוצה להביא טבלה נניח שנביא מטבלת קסטומר קסטומר איידי אני לא זוכר איך קוראים לנם של הקסטומר אז אני אלך לדאטה מודל viewer קסטומר אוקיי לא קראתי לזה קסטומר נם פשוט פירס נם ולס נם

  18. 06:31

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

לקורס המלא: קורס BI אונליין עם Qlik Sense

ההרצאה הקודמת: פונקציות של String ב-Qlik - חלק 3

ההרצאה הבאה: Qlik Aggregation Functions - Group By - חלק 2

הרצאות קשורות מקורסים אחרים

  • Conversion Functions
  • פונקציות - Functions (חלק 1)
  • פונקציות - Functions
  • Powershell functions

קורסים נוספים במסלול

  • קורס DBA אפליקטיבי - שפת SQL למתחילים
  • קורס NoSQL - MongoDB
  • קורס SSIS
  • קורס Power BI