PracticU

Qlik Join - חלק 7

בלי כתוביותעם כתוביות
PracticU › קורס BI - ניתוח מסדי נתונים - Qlik Sense › Qlik Join - חלק 7
מילון מושגים:
Qlik - פלטפורמה לניתוח נתונים ולהצגתם בלוחות מחוונים אינטראקטיביים (Business Intelligence).
Join - פעולת SQL שמשלבת שורות משתי טבלאות או יותר על בסיס קשר ביניהן.
רשומה - שורה בטבלת מסד נתונים שמרכזת את כל השדות של פריט אחד, למשל כל הפרטים של לקוח יחיד.
פונקציה - קטע קוד בעל שם שמבצע משימה מוגדרת, מקבל ערכי קלט (פרמטרים) ויכול להחזיר תוצאה. מאפשרת לארגן קוד ולהשתמש בו שוב.
טבלה - מבנה במסד נתונים שמאחסן נתונים בשורות ועמודות. כל שורה היא רשומה וכל עמודה היא שדה.
תנאי - ביטוי לוגי בקוד שתוצאתו אמת או שקר, וקובע אילו פקודות יתבצעו בהתאם לערכו.

Qlik Join - חלק 7
בשיעור הזה מוסיפים טבלת החזרות לטבלת ההזמנות המאוחדת, כך שיהיה מקור פקט אחד.
שרשור רשומות
1. Concatenate: הפונקציה מוסיפה רשומות מתחת לטבלה הקיימת. השדות חייבים להיות זהים לשדות של הטבלה הראשונה, וכשהם מתאימים הרשומות נכנסות ישר לאותה טבלה.
2. שדה Fact Type: שדה ידני שמסמן אם הרשומה היא order או return. בלעדיו אי אפשר להבחין בין הזמנה להחזרה.
3. שדה תאריך משותף: מכיוון ששדה התאריך מכיל גם תאריך של החזרה, שמים לו שם כללי יותר בעזרת rename field.
חישוב נכון
1. סכום כמות של הזמנות בלבד: מחשבים סכום של Quantity רק לרשומות מסוג order, והוא היה 51,317.
2. הפחתת ההחזרות: מוסיפים תנאי שמפחית את הכמויות מסוג return, והסכום יורד ל-51,309.
בלי ההבחנה בין סוגי הרשומות לא היה אפשר לחשב את המדד הזה נכון. כך גם אפשר לטעון את כל הנתונים באותה טבלה ולהמשיך לחשב עליה.
השיעור הבא בקורס: שרשור טבלאות - Qlik concatenate

פרקי ההרצאה: Qlik Join - חלק 7

  1. 00:00

    יצירת טבלת החזרות בסקריפט

  2. 01:11

    הזנת החזרות לדוגמה ב-inline

  3. 01:57

    הכנסת נתוני ההחזרות לשדות

  4. 03:17

    concatenate לשרשור הרשומות

  5. 04:32

    שדה Fact type להבחנה בין הרשומות

  6. 05:11

    הוספת השדה Fact type לטבלת Orders

  7. 05:47

    סינון לפי Fact type: החזרה לעומת הזמנה

תמלול ההרצאה: Qlik Join - חלק 7

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

  1. 00:02

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

  2. 00:31

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

  3. 01:11

    מספר 1 2 ו3 סתם נמציא תאריכים באזור שנת 2013-2014, מוצרים ניקח גם כן, תכף נראה, בואו נרכיב את הטבלה הזאת, נעשה מקטע חדש, כרגע אני קורא לה returns, אבל אחרי זה אנחנו נשרשר אותה, בואו נעשה load*inline ואנחנו צריכים את השדות

  4. 01:38

    האלו, customerid, orderdate, productid, bt, בואו נקווה שאני רושם את זה כמו שצריך, בסדר, ונתחיל להכניס נתונים, אז customerid אמרנו, בוא נעשה אחד, שתיים, שלוש.

  5. 02:10

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

  6. 02:31

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

  7. 03:05

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

  8. 03:26

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

  9. 03:43

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

  10. 03:56

    הרי אנחנו, יש לנו את טבלת orders ואנחנו רוצים להוסיף מתחת לרשומות של orders את הרשומות של ההחזרות. אז אנחנו עושים פה concatenate, ישרשר את הנתונים האלו מתחת לטבלת orders.

  11. 04:09

    גם פה צריך לרשום, כמו ב-join, לאיזה טבלה אני רוצה לשרשר, אני רוצה לטבלת orders החדשה שלי, ובואו נריץ.

  12. 04:20

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

  13. 04:34

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

  14. 04:47

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

  15. 05:01

    בטבלת ה-orders המקורית בוא נלך אליה, אני פשוט מוסיף פה פסיק טקסט, אני קורא לו, לשדה יקראו fact type, אני רוצה גם את השם, טוב את השם לא נשלה עכשיו, fact type, ועכשיו פה עוד יש לי רק רשומות של order, אז פה אני אקרא לזה, הטקסט יכיל order, זאת אומרת כל הרשומות שמגיעות לי מטבלת, מהqvd של order, זה מה שבעצם קורה פה,

  16. 05:33

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

  17. 06:06

    בעצם יצרתי ככה לעצמי את ההבחנה בין רשומות שהן הזמנה לרשומות שהן החזרה בוא נוסיף לפה את השדה החדש שלי fact table fact type סליחה והנה אתם רואים בוא נמעיין לפי זה הנה הארבע השלוש שורות של ה-return שעשיתי אוקיי ומתחת ההזמנה זה מאוד מאוד חשוב כי למשל, נניח שאני רוצה לחשב את הסכום של כמויות שקנו פחות ההחזרים.

  18. 06:36

    אני חייב לדעת להבחין בין הרשומות. בואו נעשה

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

ההרצאה הקודמת: Qlik Join - חלק 6

ההרצאה הבאה: שרשור טבלאות - Qlik concatenate

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

  • פקודת Select עם Join
  • שליפת קטגוריה עם כל המוצרים שלה - MongoDB Join

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

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