יצירת תאריך ריענון אחרון ב Power BI – בהתחשב בשעון קיץ ובשעון חורף בישראל

יצירת תאריך ריענון בהתחשב בשעון קיץ ובשעון חורף

סרטון הסבר המבוסס על מאמר זה:

הסרטון והמאמר מבוסס על סרטון של ריק דה גרוט. קישור לסרטון ביוטיוב >> כאן <<

ניתן להוריד את הקובץ המוכן >> מכאן <<

נתחיל בנוסחה הבאה, בשאילתה ריקה:

= DateTime.LocalNow()

נבחין כי הנוסחה לא מתעדכנת בצורה נכונה בסרוויס כיוון שהקובץ שמאוכסן בסרוויס נמצא במדינה אחרת מישראל.

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

מועדי שעון חורף

עפ"י האתר הזה >> כאן << החוק בישראל קובע מתי מתחיל שעון חורף (מתי עוברים אליו) ומתי הוא מסתיים ועוברים לשעון קיץ.

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

להלן התאריכים והמועדים לפי שנים בישראל:

שנהמועד תחילהמועד סיום
שעון חורף 2025יום ראשון 26.10.2025 ב-02:00יום שישי 27.03.2026 ב-02:00
שעון חורף 2024יום ראשון 27.10.2024 ב-02:00יום שישי 28.03.2025 ב-02:00
שעון חורף 2023יום ראשון 29.10.2023 ב-02:00יום שישי 29.03.2024 ב-02:00
שעון חורף 2022יום ראשון 30.10.2022 ב-02:00יום שישי 24.03.2023 ב-02:00
שעון חורף 2021יום ראשון 31.10.2021 ב-02:00יום שישי 25.03.2022 ב-02:00
שעון חורף 2020יום ראשון 25.10.2020 ב-02:00יום שישי 26.03.2021 ב-02:00
שעון חורף 2019יום ראשון 27.10.2019 ב-02:00יום שישי 27.03.2020 ב-02:00

 

הזמן בישראל מבוסס לפי זמן יקום מתואם (Coordinated Universal Time – UTC (INPL)). כלומר, בסיס הזמן המקובל בעולם לעניינים הקשורים לחוק ומשפט, וכן לתיאום בין לאומי, מבוסס על קצב השתנות זמן אטומי, תוך התאמה לתנועת כדור הארץ.

ולכן נשתמש בנוסחה אחרת שמחזירה את הזמן לפי ה UTC

נשנה את השם למשהו יותר הגיוני:

בואו נוסיף שלב ששולף רק את התאריך.

נלחץ על ה FX כדי להוסיף שלב:

נעטוף את השלב הקודם בנוסחה ששולפת רק את התאריך:

= Date.From(UTC_DateTimeZone)

נשנה את השם כיוון שאנחנו נתייחס לשם הזה בשלבים הבאים:

מזכיר כי שעון החורף חל בין התאריכים יום ראשון האחרון בחודש אוקטובר בשעה 02:00 לבין יום שישי שלפני יום ראשון האחרון בחודש מרץ בשעה 02:00.

ניצור צעד נוסף ונעטוף את UTC_Date בנוסחה הבאה כדי להגיע לתאריך תחילת שעון החורף:

= Date.StartOfWeek( #date(Date.Year(UTC_Date),10,30),Day.Sunday)

ניצור צעד נוסף ונעטוף את UTC_Date בנוסחה הבאה כדי להגיע לתאריך סוף שעון החורף:

= Date.AddDays(Date.StartOfWeek(#date(Date.Year(UTC_Date), 3, 31), Day.Sunday), -3)

כעת, כשיש לנו את תאריך התחלת שעון החורף ותאריך סיום שעון החורף, ואנחנו יודעים שבשעון חורף יש להוסיף שעתיים לזמן ה UTC (כלומר, UTC+2) ולשעון הקיץ יש להוסיף 3 שעות לUTC (כלומר, UTC+3), נוכל ליצור שלב עם נוסחת תנאי שבודקת את התאריך של היום ומוסיפה את השעות בצורה דינמית, בהתאם:

= if UTC_Date >= StartWinterDate and UTC_Date <= EndWinterDate then 2 else 3

שלב אחרון:

= DateTimeZone.SwitchZone(UTC_DateTimeZone, offset)

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

כותב הפוסט הוא מייקרוסופט MVP אשר מעביר הדרכות פנים ארגוניות, בחברות ואירגונים.
להדרכות אקסל/Power BI אצלך באירגון צור קשר למייל [email protected]

או לנייד: 054-310-7-313

השבה למייל עם הקבצים המצורפים

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

קרא עוד »

האבולציה של דוחות BI – ממצב סטטי לסוכני AI שנותנים תובנות ומבצעים את פעולות אקטיביות הנחוצות

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

קרא עוד »
Scroll to Top