PracticU

קשרים בין הטבלאות בתוך Qlik Sense - חלק 3

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

קשרים בין הטבלאות בתוך Qlik Sense - חלק 3
השיעור משלים את חמש הטבלאות ומתקן את הקשרים הסינתטיים שנוצרו בשיעור הקודם.
טבלת הספקים
טבלת suppliers מתווספת, ושדה ה-ID שלה מתורגם ל-SupplierID. המרצה ממליץ לא להשתמש ב-SELECT *, אלא לציין את השדות במפורש, כדי לשמור על שליטה בשמות שלהם.
מפתח סינתטי נוסף
השדות City ו-Country קיימים גם בלקוחות וגם בספקים, ולכן נוצר מפתח סינתטי ולולאה. הפתרון הוא לתת שמות מפורשים: CustomerCity, CustomerCountry, SupplierCity ו-SupplierCountry. המרצה מדגיש שאין קשר בין מדינת הלקוח למדינת הספק, ולכן הקשר האוטומטי אינו נכון.
שדה פקס
שדה הפקס של הספקים אינו נחוץ כרגע לניתוח. לכן הוא מוגדר כהערה (comment) ולא נמחק, כדי שיהיה קל לחזור אליו בהמשך.
המודל הסופי
customers מקושרת ל-orders, orders ל-order items, order items ל-products, ו-products ל-suppliers. הקשרים משקפים את העסק: לקוח מבצע הזמנה, כל שורת הזמנה מכילה מוצר, וכל מוצר מסופק על ידי ספק.
עכשיו אפשר לבנות גרפים ודוחות על כל חמש הטבלאות, ולשלוף נתונים מטבלה אחת לפי שדות בטבלה אחרת.
השיעור הבא בקורס: בניית מודל

פרקי ההרצאה: קשרים בין הטבלאות בתוך Qlik Sense - חלק 3

  1. 00:00

    מבוא: הוספת טבלת הספקים למודל

  2. 00:42

    למה לא להשתמש בכוכבית ב-SELECT

  3. 01:30

    הוספת טבלת Suppliers והתאמת השדות

  4. 02:16

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

  5. 03:06

    שמות מלאים לשדות עיר ומדינה

  6. 03:54

    למה לא לקשר לפי מדינה ועיר של הספק

  7. 05:02

    הלופ נעלם והמודל נראה נכון

  8. 05:40

    המשמעות העסקית של המודל

תמלול ההרצאה: קשרים בין הטבלאות בתוך Qlik Sense - חלק 3

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

  1. 00:02

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

  2. 00:23

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

  3. 00:58

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

  4. 01:57

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

  5. 02:47

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

  6. 03:08

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

  7. 03:50

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

  8. 04:12

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

  9. 04:31

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

  10. 04:45

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

  11. 04:55

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

  12. 05:15

    אוקיי, ועכשיו בעצם זה כבר נראה מושלם. בוא נסדר את זה יפה, Customers, Orders, Order Items, בסדר, לפי הקשר האמיתי, Products ו-Supplies.

  13. 05:31

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

  14. 05:57

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

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

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

ההרצאה הבאה: בניית מודל

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

  • תנאי בתוך תנאי
  • יצירת מחלקות - Model Classes - לתיאור הטבלאות שבמסד הנתונים
  • פקודת Select בתוך Select
  • אובייקט בתוך אובייקט ב-PowerShell

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

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