Forum Discussion

ArchStanton's avatar
ArchStanton
Icon for Power Participant rankPower Participant
12 days ago

Refresh Time Disparity

Hi

I'm having trouble trying to get my refresh times accurate. The scheduled refresh on my report is for 0130hrs but the refresh time measure in my report shows it is happening an hour earlier at 0030hrs.

I don't know which one is correct and how to make them run at 0030hrs from now on. If I changed Fig.1. to 2330hrs I'd be worried that I'm scheduling the refresh too early?

Fig1.

 

Fig.2.

 

 

Fig.3

 

7 Replies

  • v-aatheeque's avatar
    v-aatheeque
    Icon for Community Support rankCommunity Support

    Hi ArchStanton​ 

    Thanks for reaching out to Fabric Community Forum.

    The discrepancy is most likely caused by the difference between the timezone used by the scheduled refresh and the timezone used in your Power Query timestamp. Power BI Service executes scheduled refreshes in UTC, so your 00:30 UTC slot corresponds to 01:30 UK local time during daylight saving.

    In your query, although AdjustedDateTime adds one hour, that value isn’t actually used in the output table, the table is built from AsDateTime. That’s why Fig. 3 doesn’t reflect the adjustment.

    If the business requirement is 01:30 UK time, configure the refresh timezone to UK and schedule it for 01:30. Power BI will automatically align UTC vs BST/GMT.

    Finally, use the dataset’s Refresh history in the Service to confirm the actual refresh start time. This is more reliable than relying on the custom “Last Refresh Date” field in the report.

    Useful Links:  https://learn.microsoft.com/en-us/power-bi/connect-data/refresh-scheduled-refresh

    https://learn.microsoft.com/en-us/powerquery-m/m-local-fixed-utc-variants

    Hope this helps!!

    Thank You.

     

    • ArchStanton's avatar
      ArchStanton
      Icon for Power Participant rankPower Participant

      Thanks for the detailed explanation, I checked Service and the report was indeed refreshed at 0130hrs and the Timezone is set as UTC Coordinated Universal Time.

      In order for this to refresh an hour earlier I am thinking of selecting UTC -01.00 or should I configure to UTC Dublin, Edinburgh, London, I don't see that bringing it back 1 hour?

  • ArchStanton's avatar
    ArchStanton
    Icon for Power Participant rankPower Participant

    Here is the code for it:

    let     Source           = DateTimeZone.UtcNow(),     UKTime           = DateTimeZone.SwitchZone( Source, 0, 0 ),     UKAdjusted       = DateTimeZone.ToLocal( Source ),     AsDateTime       = DateTimeZone.RemoveZone( UKAdjusted ),     AdjustedDateTime = AsDateTime + #duration(0, 1, 0, 0),     AsTable          = #table( 1, {{ AsDateTime }} ),     RenamedCols      = Table.RenameColumns( AsTable, {{"Column1", "DateTime"}} ),     ChangedType      = Table.TransformColumnTypes( RenamedCols, {{"DateTime", type datetime}} ),     WithDate         = Table.AddColumn( ChangedType, "Date", each DateTime.Date( [DateTime] ), type date ),     WithTime         = Table.AddColumn( WithDate, "Time", each DateTime.Time( [DateTime] ), type time ) in     WithTime

     

  • ArchStanton's avatar
    ArchStanton
    Icon for Power Participant rankPower Participant

    Pasting it again because the Insert Code feature is broken:



    let

    Source = DateTimeZone.UtcNow(),

    UKTime = DateTimeZone.SwitchZone( Source, 0, 0 ),

    UKAdjusted = DateTimeZone.ToLocal( Source ),

    AsDateTime = DateTimeZone.RemoveZone( UKAdjusted ),

    AdjustedDateTime = AsDateTime + #duration(0, 1, 0, 0),

    AsTable = #table( 1, {{ AsDateTime }} ),

    RenamedCols = Table.RenameColumns( AsTable, {{"Column1", "DateTime"}} ),

    ChangedType = Table.TransformColumnTypes( RenamedCols, {{"DateTime", type datetime}} ),

    WithDate = Table.AddColumn( ChangedType, "Date", each DateTime.Date( [DateTime] ), type date ),

    WithTime = Table.AddColumn( WithDate, "Time", each DateTime.Time( [DateTime] ), type time )

    in

    WithTime

  • v-aatheeque's avatar
    v-aatheeque
    Icon for Community Support rankCommunity Support

    Hi ArchStanton​ 

    If you want the refresh to run one hour earlier (00:30 UTC), keep the timezone set to UTC and simply change the scheduled time to 00:30.

    Do not select UTC-01:00, as this would shift the equivalent UTC execution time later, rather than earlier.

    If your goal is to keep the refresh at 01:30 UK local time, select Dublin, Edinburgh, Lisbon, London (UTC+00:00). This timezone automatically accounts for daylight saving time, so the refresh will run at 01:30 GMT during winter and 01:30 BST during summer.

  • v-aatheeque's avatar
    v-aatheeque
    Icon for Community Support rankCommunity Support

    Hi ArchStanton​ 

    Have you had a chance to look through the responses shared earlier? If anything is still unclear, we’ll be happy to provide additional support.

    • v-aatheeque's avatar
      v-aatheeque
      Icon for Community Support rankCommunity Support

      Hi ArchStanton​ 

      Following up to confirm if the earlier responses addressed your query. If not, please share your questions and we’ll assist further.