כיצד נמזג טבלאות נתונים לטבלה אחת, על פי עמודת מפתח
כאשר המידע שלנו מתפרש על פני מספר טבלאות, כשכל טבלה מכילה סוג אחר של מידע, אך כוללת גם מידע משותף (מפתח)
ואנו מעוניינים לאחד אותו לטבלה אחת, יהיה עלינו למזג את הטבלאות.
ראשית, נביט בטבלאות העבודה:
1. טבלת העובדים עם מספר העובד, המחלקה, התפקיד והמשכורת:
2. טבלת שיוך מחלקות לאגפים
אנחנו מעוניינים ליצור טבלה אחת שתכיל את כל המידע, אך בניגוד לצירוף שמוסיף את הנתונים כרשומות (שורות) נוספות בטבלה,
כלומר – מגדיל את הטבלה לאורך, הרי שמיזוג מוסיף מידע לרשומות (שורות) הקיימות, כעמודות נוספות בטבלה, כלומר – מגדיל את הטבלה לרוחב.
כאשר אנחנו עובדים עם אקסל, נשתמש בפונקציה Vlookup. בואו נראה איך עושים זאת עם Power Query:
בשלב הראשון נטען את שתי הטבלאות אל העורך.
בשלב השני נבקש למזג את השאילתות:
באקסל 365 נבחר ב 'קבל נתונים' (Get Data) > 'שלב שאילתות' (Combine Queries) >'מזג' (Merge):
באקסל 2016 נבחר ב'שאילתה חדשה' (New Query) > 'שלב שאילתות' (Combine Queries) >'מזג' (Merge):
באקסל 2013 בכרטיסיית 'Power Query' בחרו ב'מזג' (Merge):
ב Power BI Desktop בכרטיסיית Home בחרו ב Merge Queries:
יפתח החלון שבו נבחר את הטבלאות וכן את סוג הצירוף:
כעת עלינו לסמן את העמודות המשותפות, כלומר – העמודות שבאמצעותן נוכל לזהות רשומה בטבלה אחת על פי המידע שבטבלה האחרת:
נלחץ על כותרת המחלקה בכל אחת משתי הטבלאות, ובתחתית המסך נבחר את סוג הצירוף:
לסיום נלחץ על 'אישור'.
העורך יפתח:
נוכל לראות שנלקחו כל העמודות מטבלת Emp, ונוספה עמודה אחת של טבלת Dep שמכילה בכל הרשומות את המילה Table.
המשמעות היא שהעמודה Dep מכילה אובייקט מסוג טבלה.
להצגת המידע, יש ללחוץ על הלחצן שליד כותרת עמודת Dep.
תיפתח חלונית שתאפשר לבחור את העמודות שאותן נרצה להציג, במקרה שלנו, מכיוון שהמחלקה כבר קיימת (זהו השדה המשותף), נבקש להציג רק את האגף:
אם נסמן V על 'השתמש בשם העמודה המקורי כקידומת' נוכל לדעת מהיכן הגיעו הנתונים.
לסיום נלחץ על 'אישור'.
תתקבל הטבלה הבאה:
אנחנו יכולים לראות את 4 ארבע העמודות שהגיעו מטבלת Emp ואת עמודת האגף הרלוונטית מתוך טבלת Dep.
לסיום, נטען את הנתונים.
נקבל טבלה שלישית, שהיא צירוף של שתי הטבלאות המקוריות.
התאמה חלקית
בדוגמה שלעיל מספר העובד הוא מזהה חד חד ערכי, אולם קיימים מקרים שבהם ההתאמה אינה ודאית,
לדוגמה – טבלה שמכילה שמות עובדים וטבלה אחרת שמכילה את המשכורות שלהם.
אלו טבלאות שהוקלדו ידנית, ולכן יכולים להיות שינויים קטנים (או גדולים…) בדרך שבה הם הוקלדו:
שימו לב שבטבלה הימנית מופיע העובד 'אבי' ואילו בטבלה השמאלית 'אברהם'.
בטבלה הימנית השם 'דנה' הוקלד עם רווח לפניו, ואילו בטבלה השמאלית הוא הוקלד כראוי.
נטען את שתי הטבלאות אל העורך, ונמזג ביניהן:
אנחנו יכולים לראות שרק שתיים מתוך ארבע הרשומות תואמות
כדי לאפשר התאמה חלקית, נסמן V על 'אפשרויות התאמה חלקית':
ונבחר בסף הדימיון. במקרה שלי, בחרתי ב 0.8 שהם 80%
אנחנו יכולים לראות שהעורך זיהה את השם דנה, אך לא זיהה את אבי/אברהם.
אפשר לשחק עם סף הדימיון עד שנגיע להתאמה, אך עדיף כמובן לדאוג לטיוב הנתונים מבעוד מועד, ולחסוך את הבעייתיות שיכולה להגרם על ידי התאמה חלקית.
וכמה מילים על סוג הצירוף:
סוג הצירוף קובע אילו נתונים ניקח מכל אחת מהטבלאות, לדוגמה – את כל הנתונים מהטבלה הראשונה, ורק את הנתונים התואמים מהטבלה השנייה.
בדוגמה שלנו, מיקמנו בטבלה העליונה את Emp ובתחתונה את Dep ולכן בחרתי בסוג צירוף חיצוני שמאלי (הכל מהטבלה הראשונה, תואמים מהשנייה).
לו הייתי ממקמת בטבלה העליונה את טבלת Dep ובתחתונה את Emp, כדי לקבל את אותה התוצאה,
הייתי בוחרת בסוג צירוף חיצוני ימני (הכל מהטבלה השנייה, תואמים מהראשונה).
וכמה מילות הרגעה – אתם לא צריכים להבין מה המשמעות של צירוף חיצוני שמאלי או ימני.
אלה מונחים מתחום מסדי הנתונים. כל שעליכם לעשות הוא לקרוא את הכתוב בתוך הסוגריים כדי לדעת איזה סוג צירוף לבחור:
בדוגמה לעיל בחרנו בצירוף חיצוני שמאלי, כאשר מה שכתוב בתוך הסוגריים מסביר שהכוונה היא לכל הנתונים מהטבלה הראשונה ונתונים תואמים בלבד מהטבלה השנייה.
באקסל אפשר למזג שאילתות גם מתוך העורך בכרטיסיית 'דף הבית' > 'מזג שאילתות'
מיזוג וצבירה:
נבחר במיזוג שאילתות, כשהפעם נבחר במחלקות כטבלה העליונה ובעובדים כטבלה התחתונה. נסמן את המחלקה כשדה המשותף בלחיצה על הכותרות המתאימות:
תתקבל הטבלה הבאה:
נלחץ על הלחצן שליד כותרת טבלת Emp.
הפעם, במקום 'הרחבה' (Expand) נבחר ב'צבירה' (Aggregate) ונסמן את הפעולה שאנו מעוניינים לערוך, במקרה שלנו – לסכום את המשכורות.
לסיום נלחץ על 'אישור'.
תתקבל הטבלה הבאה, שמציגה את סך המשכורות שנמצאות בטבלת Emp, על פי המחלקות שמופיעות בטבלת Dep!