יצירת תאריך ריענון אחרון ב 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 אצלך באירגון צור קשר למייל courses@uniquetech.co.il

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

Scroll to Top