חישוב ותק מתאריך מסוים ועד סוף השנה
באחד הקורסים, לאחר שלמדנו כיצד לחשב ותק ב Power Query, נשאלתי על ידי אחת התלמידות כיצד אפשר לחשב ותק מתאריך תחילת העבודה ועד לסוף השנה, במקום החישוב הסטנדרטי שמחשב את הותק עד לתאריך הנוכחי.
בזכות השאלה, נכתב המאמר הזה.
אבל קודם כל, אם אתם לא יודעים איך מחשבים ותק, קראו כאן
ועכשיו, בואו נענה לה על השאלה.
טעינת הנתונים:
בשלב הראשון, נטען את הנתונים אל העורך ונשנה את הסוג לתאריך:
הוספת תאריך סוף השנה
מכיוון שתאריך סוף השנה לא קיים בקובץ, נוסיף אותו באמצעות עמודה מותאמת אישית ובה התאריך הרצוי, כשהוא מוקף במרכאות:
נאשר, ונקבל את הטבלה הבאה:
ניתן לעמודה שם רלוונטי ונעצב אותה כתאריך:
כעת נוסיף עמודה מותאמת אישית שבה נחסר את תאריך תחילת העבודה מהתאריך שהוספנו:
תתקבל הטבלה הבאה:
נסמן את העמודה, ובכרטיסיית 'המר' נבחר ב'משך' > 'סה"כ שנים'
וקיבלנו את הוותק מתאריך תחילת העבודה ועד לסוף השנה:
כעת אפשר למחוק את עמודת סוף השנה, לעגל את עמודת הותק ולטעון לגיליון
מיטיבי לכת יכולים להשתמש בעמודה אחת בלבד, ולכתוב את הפונקציה:
Date.From("31/12/2020") – Date.From([תחילת עבודה])
חישוב הותק עד סוף השנה הנוכחית
בחלק הקודם למדנו כיצד לחשב את הותק מתאריך תחילת העבודה, ועד סוף שנה כלשהי. את התאריך הקלדנו ידנית.
כעת נלמד כיצד לחשב את הותק מתחילת העבודה, ועד סוף השנה הנוכחית, כך שהמידע יתעדכן באופן אוטומטי כאשר השנה תתחלף.
לצורך כך, נשתמש בשלוש פונקציות מקטגורית Date:
DateTime.LocalNow() – שמחזירה את התאריך והשעה, על פי איזור הזמן שהוגדר במחשב שלכם.
Date.From – ממירה את הערך שהתקבל קודם לתאריך בלבד, ללא מרכיב השעה.
Date.EndOfYear – מחזירה את היום האחרון בשנה של התאריך הנתון.
נוסיף עמודה מותאמת אישית, ונכתוב בה את הנוסחה הבאה:
=Date.EndOfYear(Date.From(DateTime.LocalNow()))
כלומר, קח את התאריך, הסר ממנו את השעות וחשב את היום האחרון בשנה, על פי התאריך שהתקבל.
ומה אומרת הנוסחה?
ראשית, חשוב לזכור שנוסחאות מחושבות מבפנים החוצה, כלומר – קודם הנוסחאות הפנימיות ורק אחר כך הנוסחאות שמקיפות אותן.
ונכון שעל פניו הפונקציה Date.From מיותרת, אבל אם לא תשתמשו בה, תקבלו את היום הראשון של השנה הבאה, במקום את סוף השנה הנוכחית, ובמקרה הזה, היא נועדה לתיקון הנתונים…