PracticU

Qlik Transform - חלק 1

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

Qlik Transform - חלק 1
בשיעור זה נמשיך לשלב Transform בסקריפט של Qlik Sense: נטען את חמש הטבלאות מקבצי QVD, ונוסיף שדה שנה להזמנות כדי לסנן לפיו.
טעינה מקבצי QVD
1. חמש הטבלאות: לקוחות, הזמנות, פריטי הזמנה, מוצרים וספקים נטענים בפקודת Load מהקבצים, ולא מהמסד.
2. שגיאת ID not found: הכשל נבע משינוי שם שדה (alias) שנעשה בשלב Extract. לכן מבטלים את השינוי בשלב זה, והשם מוגדר רק ב-Transform.
שדה שנה
1. הפונקציה Year: יוצרים שדה חדש בשם OrderYear עם הפונקציה Year על שדה תאריך ההזמנה, בשלב Transform.
2. למה בסקריפט: שדה שנוצר בסקריפט מוכן מראש ומשרת את כל המסכים, ואינו דורש חישוב בזמן הצפייה. לכן חישובים קבועים עדיף לבצע בסקריפט ולא בממשק.
3. סינון בממשק: מוסיפים לתצוגה מסנן לפי השדה, ורואים רק את השנים שקיימות בנתונים, כלומר 2012, 2013 ו-2014.
בשיעור הבא נמשיך להוסיף לוגיקות נוספות לשלב Transform.
השיעור הבא בקורס: Qlik Transform - חלק 2

פרקי ההרצאה: Qlik Transform - חלק 1

  1. 00:00

    מבוא: הפרדה בין אקסטרקט לטרנספורם

  2. 00:59

    חישובים בסקריפט או בתצוגה

  3. 01:36

    שדה שנה לסינון לפי תאריך

  4. 02:47

    החלפת SELECT ב-LOAD מקבצי QVD

  5. 04:30

    שגיאת ID not found ותיקונה

  6. 06:04

    הוספת שדה שנה ופונקציות Qlik

תמלול ההרצאה: Qlik Transform - חלק 1

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

  1. 00:02

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

  2. 00:26

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

  3. 00:52

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

  4. 01:20

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

  5. 01:44

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

  6. 01:58

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

  7. 02:22

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

  8. 02:49

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

  9. 03:15

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

  10. 03:44

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

  11. 04:16

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

  12. 04:42

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

  13. 05:04

    אוקיי, שימו לב מה קרה. פליירס השארתי בטעות את ה-id as supplierid כבר בשלב האקסטרקט, כיוון שאמרנו שזה לא נכון לעשות בשלב האקסטרקט ולכן אני מבטל.

  14. 05:15

    אגב, לכן הוא נכשל, הוא פשוט, מה שהוא עשה, הוא חיפש בקובץ, נחזור רגע לפה, הוא חיפש בקובץ suppliers.qvd שדה לשם id, וזה מה שהפקודה אמרה, אבל כבר אין שדה כזה, מכיוון שכשיצרנו את הטבלה ושמענו ל-qvd כבר קראנו לו ה-supplierid ואין יותר שדה id אלא רק supplierid, מה שצריך לעשות, נבטל את ה-ad הזה.

  15. 05:38

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

  16. 06:04

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

  17. 06:23

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

  18. 06:46

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

  19. 07:07

    ביטוי ביטוי מן הסתם של שדה תאריכי

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

ההרצאה הקודמת: שמירת נתונים בתוך קובץ QVD

ההרצאה הבאה: Qlik Transform - חלק 2

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

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