Skip to content

Instantly share code, notes, and snippets.

@DeflateAwning
Created June 27, 2022 15:33
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save DeflateAwning/c31fa485854d6a0057e0ac54e03a781b to your computer and use it in GitHub Desktop.
Save DeflateAwning/c31fa485854d6a0057e0ac54e03a781b to your computer and use it in GitHub Desktop.
Power BI - Last Updated Table
let
Source = #table(type table[Refresh Date Time=datetime], {{UTC_to_MountainTime(DateTimeZone.RemoveZone(DateTimeZone.UtcNow()))}}),
#"Add Date Only Col" = Table.AddColumn(Source, "Refresh Date", each Date.From([Refresh Date Time])),
#"Add Date Month Name" = Table.AddColumn(#"Add Date Only Col", "Month Name", each Date.MonthName([Refresh Date])),
#"Add 'Refresh Date Time (UTC)'" = Table.AddColumn(#"Add Date Month Name", "Refresh Date Time (UTC)", each DateTimeZone.RemoveZone(DateTimeZone.FixedUtcNow()))
in
#"Add 'Refresh Date Time (UTC)'"
(datetimecolumn as datetime) =>
let
date = DateTime.Date(datetimecolumn),
time = DateTime.Time(datetimecolumn),
firstSundayOfNovember = Date.StartOfWeek(#date(Date.Year(date), 11, 7), Day.Sunday),
SecondSundayOfMarch = Date.StartOfWeek(#date(Date.Year(date), 3, 14), Day.Sunday),
isSummerTime = (date = SecondSundayOfMarch and time >= #time(1,0,0))
or
(date > SecondSundayOfMarch and date < firstSundayOfNovember)
or
(date = firstSundayOfNovember and time >= #time(1,0,0)),
timeZone = (7 - Number.From(isSummerTime))*-1,
MDT =
DateTime.From(date)
+ #duration(0,Time.Hour(time),Time.Minute(time),Time.Second(time))
+ #duration(0, timeZone, 0, 0)
in
MDT
// Source: https://community.powerbi.com/t5/Power-Query/Convert-Date-Time-in-UTC-to-Local-Time-with-Daylight-savings/td-p/789919
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment