Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

The Power BI Data Visualization World Championships is back! Get ahead of the game and start preparing now! Learn more

Reply
synaptical
Helper I
Helper I

Suddenly wrong dates in PowerBI

Dear community


I have to admit that I am quite irritated. Until a few days ago, my PowerBI dashboard always showed the correct date in my date columns. Suddenly everything is different.

 

  • My data source is a SharePoint list (not SharePoint online). In SharePoint, for example, the date "Start" is shown in an item as 16.01.2026.
  • My time zone is UTC +1, which is also the case on my computer.
  • In Power BI PowerQuery I now see that the date - for whatever reason - is suddenly displayed as: 15.01.2026 00:00:00 +1

This means that the date in my dashboard is now one day earlier than the date displayed in SharePoint.

I have done many web searches and can easily fix the problem with new Calculated Columns, but actually I would like to know why this suddenly happens after 2 years of the dashboard being in operation.

 

The following changes have been made recently:

  • New entries in the SharePoint list are now created automatically via Power Automate (I don't know the flow for this).
  • In Power BI, another SharePoint list of the same SharePoint was loaded into the data model.

Can someone enlighten me as to what is going on and why I now have these UTC issues? I did a test today with an employee of the same company, if he selects the SharePoint list as data source in Power BI and then transforms the date column as Date only, everything is correct.

 

Many thanks in advance to anyone who can help.

14 REPLIES 14
v-pnaroju-msft
Community Support
Community Support

Hi synaptical,

We are following up to see if what we shared solved your issue. If you need more support, please reach out to the Microsoft Fabric community.

Thank you.

v-pnaroju-msft
Community Support
Community Support

Thankyou, @lbendlin and @HarishKM for your responses.

Hi synaptical,

We appreciate your inquiry through the Microsoft Fabric Community Forum.

We would like to inquire whether have you got the chance to check the solutions provided by @lbendlin and @HarishKMto resolve the issue. We hope the information provided helps to clear the query. Should you have any further queries, kindly feel free to contact the Microsoft Fabric community.

Thank you.

HarishKM
Memorable Member
Memorable Member

@synaptical Hey,
Kindly refer below cause for sudden date change.

a) SharePoint stores Date/Time in UTC; the UI shows it in the site’s time zone.

b) Your new Power Automate flow is probably writing a DateTime (with UTC “Z” or a zone) into a “Date only” column, so Power Query now sees a DateTime/Zone and applies your local offset, shifting the day.

c) Colleague “sees it right” because they immediately cast to Date (dropping time/zone) or use a different connector/transform.

 

Quick checks for your issue

a) In Power Query, inspect the Source/Navigation step: does the JSON show ...T23:00:00Z or a +00:00 offset? If yes, it’s a UTC-write issue from Flow.

b) Confirm SharePoint column is “Date only” (not “Date & Time”) and site time zone is correct.

c )Verify the Flow action: write yyyy-MM-dd (string) into Date-only fields; don’t send a DateTime or use Convert time zone.

Power Query fixes (pick one, apply early in the query)

  • Treat as pure date (ignore zone/time):


Table.TransformColumns(Prev, {{"Start", each Date.From(DateTimeZone.RemoveZone(_)), type date}})

  • Localize then take date (aligns with site/local time zone):


Table.TransformColumns(Prev, {{"Start", each Date.From(DateTimeZone.ToLocal(_)), type date}})

  • If the value is already local but flagged with wrong zone, normalize to UTC before date:


Table.TransformColumns(Prev, {{"Start", each Date.From(DateTimeZone.SwitchZone(_, 0)), type date}})

Best practices

  • Keep SharePoint column = Date only.
  • In Power Automate, write formatDateTime(..., 'yyyy-MM-dd') to the field (no time zone).
  • Use the SharePoint List connector (not OData/Web) and avoid “Using locale” conversions for dates.
  • Apply the Date conversion in PQ immediately after the Navigation step to prevent downstream shifts.

 


Thanks

Haish K 

If I resolve your issue. Kindly give kudos to this post and accept it as a solution so other can refer this.

HarishKM
Memorable Member
Memorable Member

@synaptical Hey,
Kindly refer below cause for sudden date change.

a) SharePoint stores Date/Time in UTC; the UI shows it in the site’s time zone.

b) Your new Power Automate flow is probably writing a DateTime (with UTC “Z” or a zone) into a “Date only” column, so Power Query now sees a DateTime/Zone and applies your local offset, shifting the day.

c) Colleague “sees it right” because they immediately cast to Date (dropping time/zone) or use a different connector/transform.

 

Quick checks for your issue

a) In Power Query, inspect the Source/Navigation step: does the JSON show ...T23:00:00Z or a +00:00 offset? If yes, it’s a UTC-write issue from Flow.

b) Confirm SharePoint column is “Date only” (not “Date & Time”) and site time zone is correct.

c )Verify the Flow action: write yyyy-MM-dd (string) into Date-only fields; don’t send a DateTime or use Convert time zone.

Power Query fixes (pick one, apply early in the query)

  • Treat as pure date (ignore zone/time):


Table.TransformColumns(Prev, {{"Start", each Date.From(DateTimeZone.RemoveZone(_)), type date}})

  • Localize then take date (aligns with site/local time zone):


Table.TransformColumns(Prev, {{"Start", each Date.From(DateTimeZone.ToLocal(_)), type date}})

  • If the value is already local but flagged with wrong zone, normalize to UTC before date:


Table.TransformColumns(Prev, {{"Start", each Date.From(DateTimeZone.SwitchZone(_, 0)), type date}})

Best practices

  • Keep SharePoint column = Date only.
  • In Power Automate, write formatDateTime(..., 'yyyy-MM-dd') to the field (no time zone).
  • Use the SharePoint List connector (not OData/Web) and avoid “Using locale” conversions for dates.
  • Apply the Date conversion in PQ immediately after the Navigation step to prevent downstream shifts.

 


Thanks

Haish K 

If I resolve your issue. Kindly give kudos to this post and accept it as a solution so other can refer this.

Thank you for your detailed reply! I have quite a lot of questions, as I am not really experienced in Power Query. I tried my best and checked the following:

SharePoint: All Dates are configured as Date only
Power Automate Flow: As I am not the owner of it and the guy is on holidays, I cannot check. However, in Power Query before any transformation to type date or so, the entries are as follows for example: 15.01.2026 23:00:00. When changed to date/time/timezone it would show 15.01.2026 23:00:00 +01:00
Colleague “sees it right” because they immediately cast to Date (dropping time/zone) or use a different connector/transform: They connected the same way in Power BI (Sharepoint list) but get the correct date - so I don't understand why they see it right?

a) In Power Query, inspect the Source/Navigation step: does the JSON show ...T23:00:00Z or a +00:00 offset? If yes, it’s a UTC-write issue from Flow.
I couldn't find something like this so I assume I might not looking at the right place. May you tell me exactly where to inspect the JSON?

Power Query fixes (pick one, apply early in the query)
I am not sure I understand that right, I copied it in as a new step, adjusted Prev to my table name and Start to my column name but it didn't work.

Thank you very much in advance.

@synaptical Hey,
Try below steps too. I believe you are very close solve this issue.

 

1) Where to inspect the “JSON”/raw timezone in Power Query

  • With the standard “SharePoint Online List” connector you won’t see literal JSON like ...T23:00:00Z inside the Source/Navigation step; Power Query materializes values into types (date/datetime/datetimezone).
  • Quick way to check the actual timezone:


- In Power Query Editor, Add Column > Custom Column
- Name: CheckZone
- Formula:
- If your column is Start:
- try DateTimeZone.ToText([Start]) otherwise try DateTime.ToText([Start]) otherwise [Start]
- This will show whether values include an offset (e.g., +00:00, +01:00). If you consistently see +00:00 or values that resolve to UTC midnight, you likely have a UTC-write issue from Flow.

Tip: If you absolutely need to see literal JSON from SharePoint, you’d use Web.Contents against the REST API (advanced), but for 99% of BI scenarios, the text conversion above is enough to reveal the timezone/offset being carried.

2) Why your colleague sees the “right” date

  • They likely:


- Cast to Date immediately (dropping time and timezone) OR
- Use Date.From on a UTC-normalized value OR
- Use a different connector/step ordering that normalizes UTC before dropping the time.

  • The key is to normalize first, then drop the time, and to do it early in the query (right after Navigation).

3) Plug‑and‑play fixes (add one of these right after “Navigation”)
Pick the one that matches your situation. Replace "Start" with your actual column name. If you have multiple date columns, apply the transform to each.

A) If Flow wrote Date-only as UTC midnight (classic cause of “previous day” in local time)

  • Normalize to UTC, then drop time:


- #"Fix dates (UTC)" = Table.TransformColumns(#"Navigation", {{"Start", each Date.From(DateTimeZone.SwitchZone(_, 0)), type date}})

Result: A value like 2026-01-16T00:00:00Z will become date 2026-01-16, regardless of your local offset.

B) If values are true local datetimes and you just want the local date

  • Convert to local time, then drop time:


- #"Fix dates (Local)" = Table.TransformColumns(#"Navigation", {{"Start", each Date.From(DateTimeZone.ToLocal(_)), type date}})

C) If the column type varies (datetimezone/datetime/text) — robust one-liner

  • Handles mixed types and casts to date:


- let
FixDate = (v as any) as date =>
if Value.Is(v, type datetimezone) then Date.From(DateTimeZone.ToLocal(v))
else if Value.Is(v, type datetime) then Date.From(v)
else if Value.Is(v, type date) then v
else if Value.Is(v, type text) then Date.From(DateTime.FromText(v))
else try Date.From(v) otherwise null,
#"Fixed Start" = Table.TransformColumns(#"Navigation", {{"Start", FixDate, type date}})
in
#"Fixed Start"

Swap DateTimeZone.ToLocal(v) for Date.From(DateTimeZone.SwitchZone(v, 0)) if you confirmed a UTC-write scenario and need to keep the intended date.

4) Exactly where to put the step

  • Home > Transform Data > Power Query Editor
  • View > Advanced Editor
  • Find the line with #"Navigation" = ... (or the last step that yields your table)
  • Directly after that, add one of the transforms above
  • If you already have a #"Changed Type" step, insert the fix before Changed Type, or update Changed Type to set type date for your column

Example full snippet (edit names as needed):

  • let


Source = SharePoint.Tables("https://yourtenant.sharepoint.com/sites/yoursite", [Implementation="2.0"]),
#"Navigation" = Source{[Name="YourListName"]}[Items],
// Fix: normalize to UTC then cast to date
#"Fix dates (UTC)" = Table.TransformColumns(#"Navigation", {{"Start", each Date.From(DateTimeZone.SwitchZone(_, 0)), type date}})
in
#"Fix dates (UTC)"

5) Quick validation

  • After the fix, show Start as type date and compare a few rows to what SharePoint shows for “Date only”.
  • If you still see an off-by-one day, switch between the UTC and Local versions and recheck.

6) Common pitfalls checklist

  • Don’t convert to Date after time-zone conversion that shifts across midnight unless you intend that shift.
  • Apply the fix early (right after Navigation) so merges/joins and type changes operate on correct dates.
  • Ensure you are using the “SharePoint Online List” connector (not “SharePoint Folder” or a custom Web.Contents) to match your colleague’s setup.

 

Thanks

Haish K 

If I resolve your issue. Kindly give kudos to this post and accept it as a solution so other can refer this.

Thank you so much for your reply again and sorry for my late anwser as I was offline for several days.

I think I understood your suggestions and approach. If I enter one of the fixes proposed above, by replacing "Start" with my actual column name, I get a 
Expression.SyntaxError: Token ',' expected
error.

I also cannot find a #Navigation step in my file (I connect via SharePoint List, not SharePoint Online).

I exchanged "Start" with my actual column name and #Nagivation by a alphanumeric ID as I do not see a Navigation entry in Power Query.

When first time connecting to the sharepoint list, my initial view in advanced editor looks like this:

initial.png
Do you have a tip what I need to adjust?

Colleague “sees it right” because they immediately cast to Date (dropping time/zone) 

Those things are mutually exclusive unless you want to redefine what "right"  means.

lbendlin
Super User
Super User

for example, the date "Start" is shown in an item as 16.01.2026. My time zone is UTC +1, which is also the case on my computer.
In PowerQuery I now see that the date - for whatever reason - is suddenly displayed as: 15.02.2026 00:00:00 +1
This means that the date in my dashboard is now one day earlier than the date displayed in SharePoint.

You mean 30 days later?

Sorry, typo. Corrected it to 15.01.26 in initial post.

I assume your sharepoint runs on UTC ?

The regional settings of my SharePoint site are UTC +1 but one of our IT staff told me that SharePoint stores the dates "in the background" always as UTC. That would explain to me why I see 15.01.2026 00:00:00 +1 in Power BI PowerQuery (but not why it loads it as 16.01.2026 by another collegue).

SharePoint Site: UTC +1
SharePoint "Background": Assumed UTC
My Windows machine: UTC +1
And to be complet, Power BI Service afterwards is 

your home region is North Europe (Ireland)
Fri Dec 19 2025 08:46:27 GMT+0100 (Central European Standard Time)

That's unfortunate. You shouldn't really set system time to anything other than UTC.

 

Can you correlate the sudden change to a maintenance activity?

Thank you for your reply. What do you exactly mean with system time? To my knowledge, our Sharepoint runs on UTC. We set UTC +1 on the site "only".
I do not know about maintenance activity or any changes. As said, if my colleague connects to the SharePoint list, he gets the correct date and we couldn't figure out regional settings differences.

Helpful resources

Announcements
Power BI DataViz World Championships

Power BI Dataviz World Championships

The Power BI Data Visualization World Championships is back! Get ahead of the game and start preparing now!

December 2025 Power BI Update Carousel

Power BI Monthly Update - December 2025

Check out the December 2025 Power BI Holiday Recap!

FabCon Atlanta 2026 carousel

FabCon Atlanta 2026

Join us at FabCon Atlanta, March 16-20, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.