PracticU

עבודה עם קבצים של אקסל בתוך Qlik - חלק 2

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

עבודה עם קבצים של אקסל בתוך Qlik - חלק 2
בשיעור הקודם טענו קבצי אקסל בכוכבית, והשדות בכל הקבצים היו זהים. בפועל לא תמיד זה המצב, ובשיעור הזה רואים איך מטפלים בקבצים שמבנים שלהם שונה במעט.
עמודה שחסרה בקובץ אחד
1. הבעיה: קובץ אחד מכיל עמודת Notes והשני לא. כשמפרטים את השדות במפורש, הטעינה נופלת על הקובץ שחסר לו השדה.
2. פתרון עם כוכבית לשדות: מחליפים את רשימת השדות בכוכבית, ושדה שלא קיים בקובץ נשאר ריק.
טבלה ראשונה ריקה
1. יצירת בסיס: לפני הטעינה יוצרים טבלת Returns ריקה עם שדה אחד בלבד, כך שהטבלה כבר קיימת כשהקבצים נטענים.
2. הוספה לטבלה: כל טעינה מקובץ מתווספת לאותה טבלה, והשדות שחסרים מתמלאים בריק.
סינון לפי לקוחות מוכרים
1. Exists: מוסיפים where Exists(CustomerID), והטעינה משאירה רק רשומות שהלקוח שלהן כבר קיים בטבלת הלקוחות.
2. בדיקה: לקוח שלא מוכר נעלם מהתוצאה, כשהוא לא מופיע בטבלה הקודמת.
בשיטה הזו אפשר לטעון קבצים עם הבדלים קלים במבנה, ולהשאיר רק נתונים שרלוונטיים לארגון.
השיעור הבא בקורס: עבודה עם קבצים של אקסל בתוך Qlik - חלק 3

פרקי ההרצאה: עבודה עם קבצים של אקסל בתוך Qlik - חלק 2

  1. 00:00

    קריאה מכל הקבצים בעזרת כוכבית

  2. 01:02

    שדה Notes חסר בקובץ השני

  3. 01:48

    הטעינה מצליחה עם שדה Notes

  4. 02:24

    בדיקת טבלת Returns כעצמאית

  5. 03:05

    שתי טבלאות ומפתח סינתטי ביניהן

  6. 04:24

    הבדל במבנה הקבצים והשרשור

  7. 05:00

    יצירת טבלת Returns ריקה מראש

תמלול ההרצאה: עבודה עם קבצים של אקסל בתוך Qlik - חלק 2

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

  1. 00:02

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

  2. 00:15

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

  3. 00:27

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

  4. 00:57

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

  5. 01:11

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

  6. 01:22

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

  7. 01:48

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

  8. 02:38

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

  9. 02:54

    נעשה פה exit script כדי לדוגמה. אז אנחנו לא יכולים להכניס פה orders, בסדר? אנחנו לא רוצים לשרשר את זה, אנחנו רק רוצים לטעון אותה כמו שהיא. ואנחנו עושים את הכוכבית ואת ה-Fact Type, ואחרי זה עוצרים את הסקריפט. בואו נראה מה קורה.

  10. 03:16

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

  11. 03:42

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

  12. 04:15

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

  13. 04:29

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

  14. 04:37

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

  15. 04:55

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

  16. 05:23

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

  17. 06:01

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

  18. 06:12

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

  19. 06:19

    איך זה קרה? פשוט יצרתי לו טבלה ריקה,

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

ההרצאה הקודמת: עבודה עם קבצים של אקסל בתוך Qlik - חלק 1

ההרצאה הבאה: עבודה עם קבצים של אקסל בתוך Qlik - חלק 3

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

  • עבודה עם קבצים ב-Xcode - חלק 1
  • עבודה עם קבצים ב-NodeJS
  • עבודה עם VI - חלק 1
  • סוס טרויני בתוך קובץ אקסל - MacroPack & Kali Metasploit

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

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