Reply
DMB90
Helper I
Helper I

Adjust Power BI Query Time to be Dynamic with Daylight Savings Begins/Ends Formulas

I'm attempting to account for Daylight Savings Begins/Ends in my Time Refresher and was successful until I got to this part. I use Pacific Standard Time (United States) so need to subtract hours instead of adding. 

 

I used this video and was successful until this part at the 13 minute mark. This person is using time outside of the US.

 

What I think my formula should look like.

Time Refresh.png

 

Can I possibly edit CurrentDateTime here to be minus, so then I can just add hours to my if CurrentDateTime formula.

 

CurrentDateTime.png

1 ACCEPTED SOLUTION
jgeddes
Super User
Super User

DateTimeZone.SwitchZone() will accept negative numbers.
Here is a small example...

let
    spring_forward_utc = #datetimezone(2025,3,9,10,0,0,0,0),
    example_table =
    #table(
        {"dateTimeUTC"},
        {
            {#datetimezone(2025,3,9,09,59,32,0,0)},
            {#datetimezone(2025,3,9,10,00,35,0,0)}
        }
    ),
    change_type = 
    Table.TransformColumnTypes(
        example_table,
        {{"dateTimeUTC", type datetimezone}}
    ),
    add_local = 
    Table.AddColumn(
        change_type, 
        "Local Time", 
        each 
        if [dateTimeUTC] >= spring_forward_utc
            then DateTimeZone.SwitchZone([dateTimeUTC], -7)
            else DateTimeZone.SwitchZone([dateTimeUTC], -8),
        type datetimezone
    )
in
    add_local




Did I answer your question? Mark my post as a solution!

Proud to be a Super User!





View solution in original post

1 REPLY 1
jgeddes
Super User
Super User

DateTimeZone.SwitchZone() will accept negative numbers.
Here is a small example...

let
    spring_forward_utc = #datetimezone(2025,3,9,10,0,0,0,0),
    example_table =
    #table(
        {"dateTimeUTC"},
        {
            {#datetimezone(2025,3,9,09,59,32,0,0)},
            {#datetimezone(2025,3,9,10,00,35,0,0)}
        }
    ),
    change_type = 
    Table.TransformColumnTypes(
        example_table,
        {{"dateTimeUTC", type datetimezone}}
    ),
    add_local = 
    Table.AddColumn(
        change_type, 
        "Local Time", 
        each 
        if [dateTimeUTC] >= spring_forward_utc
            then DateTimeZone.SwitchZone([dateTimeUTC], -7)
            else DateTimeZone.SwitchZone([dateTimeUTC], -8),
        type datetimezone
    )
in
    add_local




Did I answer your question? Mark my post as a solution!

Proud to be a Super User!





avatar user

Helpful resources

Announcements
Las Vegas 2025

Join us at the Microsoft Fabric Community Conference

March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount!

FebPBI_Carousel

Power BI Monthly Update - February 2025

Check out the February 2025 Power BI update to learn about new features.

Feb2025 NL Carousel

Fabric Community Update - February 2025

Find out what's new and trending in the Fabric community.

Top Solution Authors (Last Month)
Top Kudoed Authors (Last Month)