PracticU

שרשור טבלאות - Qlik concatenate

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

שרשור טבלאות - Qlik concatenate
בשיעור הקודם שרשרנו טבלה אחת לשנייה בעזרת Concatenate. ב-Qlik שרשור כזה קורה גם בלי לבקש, כשהשדות של שתי טבלאות זהים לחלוטין, ולכן צריך לדעת לבטל אותו.
שרשור אוטומטי וביטולו
1. שרשור אוטומטי: שתי טבלאות עם אותם שדות מתאחדות לטבלה אחת, גם בלי פקודה מפורשת.
2. NoConcatenate: כשרוצים לשמור טבלאות נפרדות עם מבנה זהה, כותבים את הפקודה לפני הטעינה, והטבלאות נשארות נפרדות.
3. שינוי ערכים: דוגמה לתיקון של שם מוצר, שבו סימני שאלה מוחלפים באות בעזרת replace.
4. טבלה זמנית: כשהשדה נטען בטעינה הראשונה והתיקון נעשה בטעינה הבאה, מעבירים את הטבלה לטבלה זמנית (Product temp), מבצעים את ההחלפה בטבלה הסופית ומוחקים את הזמנית עם drop table.
מה קורה בלי הבקרה
אם לא מבטלים שרשור אוטומטי, כל הנתונים מופיעים פעמיים בטבלה, והמספרים מתעוותים. לפני שטוענים טבלה כדאי לבדוק אם השדות שלה זהים לשדות של טבלה אחרת, ואם כן להחליט במפורש אם לשרשר.
השיעור הבא בקורס: עבודה עם קבצים של אקסל בתוך Qlik - חלק 1

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

  1. 00:00

    חזרה על Concatenate ושרשור טבלאות

  2. 00:53

    הפונקציה no concatenate

  3. 01:36

    החלפת תווים שגויים עם replace

  4. 02:16

    שינוי שם מוצר בטעינה נפרדת

  5. 02:56

    Left Join עצמי לשם מוצר נקי

  6. 03:57

    בעיית Join על יותר משדה אחד

  7. 04:30

    שימוש בטבלה זמנית לפתרון

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

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

  1. 00:02

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

  2. 00:18

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

  3. 00:29

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

  4. 00:50

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

  5. 01:10

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

  6. 01:40

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

  7. 01:48

    אז בעצם אנחנו נשתמש בפונקציית replace. אז בעצם, אם אני רוצה לאתר את טבלת product, היא נמצאת פה, אוקיי? ופה בעצם יש לנו את ה-pure charge הזה, שמביא את הפרודקט ניים קלין, למעשה ביצענו את זה כבר קודם, אבל שימו לב ששמנו את זה בשדה אחר.

  8. 02:15

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

  9. 02:28

    עכשיו נניח שאנחנו לא רוצים לבצע את זה בטעינה הראשונה, בגלל כל מיני סיבות לא ניכנס אליהן כרגע, רוצים בעצם להחליף את השדה Product Name לא ב-load הראשוני אלא ב-load הבא במחוזת שהיא נקייה שהיא בעצם, כמו שאמרתי, נחליף לה את הסימני שלה בסימן E. קודם כל נבטל את זה, לא צריכים את זה כבר.

  10. 02:50

    זאת אומרת, אני בעצם רוצה לבצע קריאה נוספת של טבלת Product שבה ה-Product Name הוא נקי. עכשיו, בעצם יכולתי לעשות Left Joint כמו שלמדנו, Left Joint של פרודקטס לעצמו, עם השדה המזעה של פרודקט איי-די ונעשה את הריפלייס של פרודקט ניים, אמרנו שיחליף את כל הסימני שאלה בתו אי.

  11. 03:38

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

  12. 04:00

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

  13. 04:19

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

  14. 04:47

    ומה שאני אעשה, אני אעתיק את כל השדה, פרודקט ID יש לי, פרודקט name יש לי, נעתיק את כל שאר השדות, פה אני לא צריך לעשות את זה שוב, כבר יש לי את השדה מוכן, ואז resident product temp, זאת אומרת, אם אני מסביר מה שעשיתי, בעצם הפכתי את פרודקט המקורי לטבלה זמנית, שבו עדיין לא טיפלתי בפרודקט name, לא רציתי,

  15. 05:15

    ואז טבלת פרודקט האמיתית קוראת מטבלת פרודקט

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

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

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

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

  • יצירת טבלאות ב-SQL
  • שימוש ב-Cache עבור טבלאות של MySQL
  • מאפייני ניווט בין טבלאות - Entity Framework Core

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

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