הוספת תאריך לטבלת שערי המטבע מבנק ישראל
במאמרים האלה למדנו כיצד לשלוף את שערי המטבע העדכניים מבנק ישראל:
כאן למדנו כיצד ליצור שאילתת אינטרנט
כאן ראינו איך להתגבר על בעיית הכותרת בתאריך
וכאן ראינו כיצד להתגבר על בעיית כותרת בתאריך, בטבלה המעודכנת של בנק ישראל
אבל באף אחד מהמקרים תאריך העדכון לא מופיע כחלק מהטבלה עצמה.
במאמר הזה נלמד כיצד לשלוף את התאריך ולהוסיף אותו כעמודה בתוך הטבלה.
ראשית נלמד כיצד לשלוף את התאריך לשאילתה נפרדת ובהמשך נראה כיצד ליצור הכל באותה השאילתה.
שליפת התאריך
בשלב הראשון ניצור שאילתת אינטרנט ונשלוף את שערי המטבע.
כך נראית הטבלה:
ואלו השלבים האוטומטיים שהוחלו:
מכיוון שאני מעוניינת שהתאריך יופיע כחלק מטבלת הנתונים ולא בכותרת, אמחק את השלב של קידום הכותרת, ואת שלב שינוי הסוג, שכרגע לא רלוונטי לטבלה שלנו, וכך נראית הטבלה:
כעת אסיר את כל העמודות פרט ל Column3, ואת כל השורות פרט לשורה הראשונה.
קיבלתי את הטבלה הבאה שמכילה תא אחד בלבד ובו התאריך:
בשלב הזה אחלץ את התאריך בכרטיסיית 'המר' > 'חלץ' > 'טקסט אחרי מפריד' ואקליד נקודתיים ורווח:
וכל שנותר הוא לעצב את העמודה שהתקבלה כתאריך:
ניתן לשאילתה שם משמעותי. אני בחרתי לתת לה את השם Date, ונשמור אותה כחיבור בלבד.
הערה: בטבלה הזו התאריך מופיע גם בשורה האחרונה בטבלה. אם נוח לכם יותר, תוכלו לערוך עליה את המניפולציות כדי לשלוף ממנה את התאריך.
מיטיבי לכת יכולים לכתוב נוסחה בשפת M:
לצורך הנוחות נשנה את שם השלב ExtractedTableFromHtmlל-Strt (בחרתי בשם הזה כי הוא יהווה את השלב שאליו אחזור בהמשך, וממנו מתחילה בעצם טבלת הנתונים), ונכתוב את הנוסחה:
= Strt{0}[Column3]
הוספת התאריך לשערי המטבע
כעת ניצור שאילתת אינטרנט נוספת שתשלוף את שערי המטבע מאתר בנק ישראל, כפי שלמדנו במאמר הזה.
זו הטבלה שהתקבלה:
כעת נוסיף עמודה מותאמת אישית, ובנוסחה נפנה אל השאילתה Date שיצרנו קודם:
נפתח את אובייקט הטבלה שהתקבל, ונבחר את העמודה היחידה שקיימת בו:
נעצב את העמודה כתאריך, נשנה את הסוג, וקיבלנו את התאריך הרלוונטי, כערך בטבלה עצמה:
הוספת התאריך ללא שאילתות עזר
בחלקו הראשון של המאמר ראינו איך ליצור שאילתה ששומרת את התאריך, וכיצד לפנות אליה מתוך השאילתה שמיועדת להצגת שערי המטבע.
אולם, אם תרצו, תוכלו לעבוד עם שאילתה אחת בלבד, באופן הבא:
ניצור שאילתת אינטרנט, כפי שלמדנו במאמר, עד לשלב שבו אני מסירים את העמודות המיותרות:
ואלה השלבים שהוחלו:
לצורך הנוחות אשנה את שמו של השלב הזה ל Start, שם שמורכב ממילה אחת, ויהווה מזהה אליו אוכל לחזור בקלות בהמשך.
כעת אבצע את כל השלבים שלמדנו קודם, עד שאגיע למצב של תא בודד שמכיל את התאריך:
אשנה את שם השלב ל Date, כדי שאוכל לזהותו בקלות
החזרת הטבלה לנקודת ההתחלה:
נלחץ על fx להוספת שלב, ובשורת הנוסחאות נפנה אל השלב ששמרנו בשם Start
הטבלה חזרה לשלב ממנו נמשיך את העבודה:
כעת נתקן את הנתונים כפי שעשינו בחלקו הראשון של המאמר, נוסיף עמודה מותאמת אישית שמפנה אל השלב Date, נרחיב את הטבלה, נערוך עליה את המניפולציות הרצויות, ונקבל את אותה התוצאה, אך הפעם בשאילתה אחת בלבד!