Join us at FabCon Atlanta from March 16 - 20, 2026, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.
Register now!The Power BI Data Visualization World Championships is back! Get ahead of the game and start preparing now! Learn more
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.
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:
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.
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.
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.
@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)
Table.TransformColumns(Prev, {{"Start", each Date.From(DateTimeZone.RemoveZone(_)), type date}})
Table.TransformColumns(Prev, {{"Start", each Date.From(DateTimeZone.ToLocal(_)), type date}})
Table.TransformColumns(Prev, {{"Start", each Date.From(DateTimeZone.SwitchZone(_, 0)), type date}})
Best practices
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.
@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)
Table.TransformColumns(Prev, {{"Start", each Date.From(DateTimeZone.RemoveZone(_)), type date}})
Table.TransformColumns(Prev, {{"Start", each Date.From(DateTimeZone.ToLocal(_)), type date}})
Table.TransformColumns(Prev, {{"Start", each Date.From(DateTimeZone.SwitchZone(_, 0)), type date}})
Best practices
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
- 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
- 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.
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)
- #"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
- #"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
- 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
Example full snippet (edit names as needed):
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
6) Common pitfalls checklist
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:
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.
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
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.
The Power BI Data Visualization World Championships is back! Get ahead of the game and start preparing now!
| User | Count |
|---|---|
| 38 | |
| 36 | |
| 33 | |
| 33 | |
| 29 |
| User | Count |
|---|---|
| 134 | |
| 96 | |
| 78 | |
| 67 | |
| 65 |