
הטקסט המלא של הדקות הראשונות בהרצאה «Qlik Aggregation Functions - Group By - חלק 3» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.
ובואו נמשיך עם ציטוטות אגרגטיביות, זה הולך נחמד לדעתי ובואו נעשה ממוצע, אז מה זה ממוצע? ממוצע אמרנו זה בעצם לעשות את הממוצע של מספר ערכים.
פה יש קצת אתגר לפעמים, למה אני מתכוון? נניח שאני רוצה לראות לכל לקוח מה היה ממוצע הסכום להזמנה, זאת אומרת כמה הייתה הזמנה ממוצעת, כמה כסף זה היה.
לכאורה אני יכול לעשות Average on All Amount, אני רוצה ממוצע של הסכום, אבל פה באמת צריך להכיר טוב את המבנה הנתונים ולבחון את הדברים מה תהיה התוצאה אם אני אעשה את זה?
בוא נסתכל באיזה טבלה יושב שדה אמאונט הוא לא יושב בטבלת אורדר וזה גם ברור למה כי הסכום הוא לא סכום לכל ההזמנה הסכום מנוהל ברמת שורות ההזמנה הרי באותה השורה יכול להיות באותה הזמנה יכולות להיקרא כמה וכמה שורות ושם נמצא הסכום של אותה שורה אוקיי זה האורדר
אייטמס יש לי Product ID, Order ID, נגיד שלוש השורות הראשונות זאת ההזמנה אחד, שתיים, שלוש זה השורות בתוך ההזמנה מספר אחד ולכל אחד מהם יש אמאונט שונה ואז עוברים להזמנה הבאה, ואם אני אפעיל פונקציית
Average על שדה אמאונט הוא יעשה לי ממוצע של מה? של ההזמנה? לא, הוא יעשה לי ממוצע של שורות ההזמנה למה? עוד פעם, כי האמאונט הוא ברמת שורת הזמנה וזה לא מה שאני רוצה אז צריך גם לשים לב לחישובים שלנו האם הם באמת מתאימים לבנה הנתונים.
אז אני לא יכול לעשות פה Average ומה אני, תכף נראה איך כן עושים, מה אני כן יכול לעשות Average. אני יכול בוא נראה אם יש לי משהו כן ברמת ה-Order.
האמת שיש לי Total amount בוא נראה יש לי דווקא Total amount אז אם אני אעשה את ה-Average שלי על ה-Total amount זה יעבוד למה כי זה ברמת השורה ברמת סליחה ההזמנה אבל דרך אגב לא תמיד יהיה לי Total amount אז בוא נעשה את שתי האופציות.
אני אעשה פעם אחת average על total amount שזה כן תקין כי זה ברמת orders וגם אני אראה את השיטה מה עושים אם יש לי זה רק ברמת השורות אמרנו כיוון שיש לי את הtotal amount אני יכול להפעיל על פונקציית average פשוטה אל קולינג מאז'ר average של
אני אקרא לזה ואתם רואים שגם פה הפורמט לא לעניין אז אנחנו נעשה עליו גם כן נהנה אני רוצה להראות עוד שיטה האמת לעשות פורמט לא מתוך ה depression אלא ממש פה מתוך הבחירות באופציה של נאמבר פורמטים אמרתי שזו אופציה עדיפה בדרך כלל, אני אומר זה נאמבר ואתם רואים שהוא נתן לי איזשהו פורמט פשוט שזה עם פסיקים אבל עם
נקודה עשרונית ושתי ספרות, אני לא רוצה ואני יכול לשנות את זה לפורמט הזה, אז תורנו שננקם את אותה תוצאה מתי בכל זאת עדיף להשתמש בפסחה בשביל לפרמט מספר? קודם כל אין פה את כל האופציות, כל מספר האופציות תומצם יחסית, דבר שני כשנלמד בהמשך על משתנים
ונוסחאות יותר דינמיות אז בעצם יכול להיות מצב שבאותה עמודה יכול להיות לי סוגים שונים של מספרים. זאת אומרת נניח אני אתן למשתמש לבחור בעמודה האחרונה האם להציג את הממוצע או להציג את כמות ההזמנות או להציג את המחיר האחרון נניח שלוש אופציות באותה עמודה זה מתחלף.
עכשיו פה אני לא יכול לשים לבחור פה את הפורמט כי אני רוצה שהפורמט ישתנה לי לפי מה שהמשתמש בחר אני לא יכול לשלוט בזה ברמה פה בבחירה ולכן אני אעשה את זה בתוך הביטוי של הפונקציה ושם כן אפשר לשלוט בזה אבל אני מקווה שנראה את זה בהמשך. בכל אופן אז עשיתי אברנד של אמאונט
אני רואה את ממוצע להזמנה ועכשיו אני רוצה לעשות את השיטה השנייה על הצדה של תעודת אורדר אייטם בסדר על האמאונט אז מה שאני עושה אם תחשבו על זה מה זה בעצם מה הדרך נוספת לחשב ממוצע חוץ מלהשתמש בפונקציית אברנד
אם יש לי לכל הזמנה אמאונט אז סך הכל אמאונט על כל ההזמנות בעצם מביא לי סך הכל הכמות הסכום של כל ההזמנות אם אני מחלק את זה במספר ההזמנות בקאונט דיסטינקט של אורדר איידי אני בעצם מקבל ממוצע ממוצע להזמנה עוד פעם אני אומר סכום ההזמנות לחלק למספר ההזמנות מבחינה מתמטית זה ממוצע זה נותן לי הזמנה ממוצע אז בוא נעשה
את זה גם כן יהיה מעניין לראות אם הם ימצאו אותו דבר לא בטוח למה כי לפעמים יש זה כבר קשור צריך להכיר את הדאטה הספציפית עצמה אבל לפעמים יש תקום להזמנה אבל בשורות יש הנחה נוספת או משהו כזה זה זה תלוי יהיה מעניין לראות את זה בכל אופן בוא נעשה את זה עוד add column measure ואני עושה ככה אני עושה sum של amount לחלק ל-account
distinct של orderid ואני כבר יודע שאני רוצה לעשות על זה num הייתי לעשות את זה גם בבחירה אבל נעשה את זה פה של תרגום סולמית פסיק סולמית סולמית אפס זה נראה בול אותו דבר זה על איזה רדג' ביי אורדר איי תראו שיצא בדיוק אותו דבר במקרה הזה באמת לא היה הבדל בכל אופן זה חשוב לדעת את פי הדרכים אז מה עוד אפשר לעשות בוא נסתכל
אם אני אחזור לסך הפונקציות בוא נראה מה יש לנו תחת קבוצת אגרגיישן פונקשן פונקשן אני בוחר אגרגיישן פונקשן יש לי את ה-average שראינו אני לא אעבור על כולם ממש לא קאונט דיברנו, מקס דיברנו, אוקיי מקס סטרינג זה כמו מקס אבל הוא חל על טקסטים, אני רוצה לחשוב על איזושהי דוגמה,
נניח שמחלקים את הלקוחות לפי הסוכנים השונים, לכל סוכן יש את הלקוחות שלו, ואז רוצים לדעת לכל סוכן מי הלקוח הראשון שלו באלף בית כדי לדעת נניח למי הוא הולך ראשון, טוב,