התקשרו אלינו: 052-2928949
ימים א'-ה' בין השעות 9:00-17:00

התקשרו אלינו: 052-2928949 א-ה 9:00-17:00

שליפת שערי מטבע, גם כשהכותרת מכילה תאריך

Power Query

שליפת שערי מטבע, גם כשהכותרת מכילה תאריך

Power Query

שליפת שערי מטבע מהאינטרנט

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

אם נטען את הדף לעורך, נקבל את הטבלה הבאה:


ומה הבעיה?

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

כשנרענן את השאילתה, היא תחפש עמודה בשם 'שער יציג עדכני ל: 18/10' ולא תמצא אותה,
כי הטבלה החדשה תכיל את הכותרת 'שער יציג עדכני ל:19/10' (בתלות בתאריך הרענון, כמובן), ולכן נקבל הודעת שגיאה:

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

אז מה הפתרון?

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

שלב ראשון – טעינת הנתונים

מתוך האקסל נבקש לטעון נתונים מהאינטרנט ונדביק את הכתובת של שערי המטבע באתר בנק ישראל:

העורך יפתח:

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

שלב שני – הסרת עמודות מיותרות

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

שימו לב לפונקציה:

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

שלב שלישי – UNPIVOT

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

תתקבל הטבלה הבאה:

ולמה זה עובד?

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

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

שלב אחרון – תיקונים ושיפצורים

אז עכשיו נותר לנו למחוק את עמודת ה'תכונה' שנוצרה ולהוסיף כותרת משמעותית לסימן המטבע, וזו התוצאה:

לסיום, נטען את הטבלה אל האקסל:

ואחרי שנת הלילה…

נרענן את הטבלה ונקבל את שערי המטבע העדכניים!
image.png

 

דילוג לתוכן