Forum Discussion

daez12's avatar
daez12
Frequent Visitor
3 years ago
Solved

Unpivot Date Column - First Post

Hi Power BI Community!   This is my first post to this forum, so please let me know if I need to make any adjustments.    Essentially what I'm trying to do is take each unique ATM ID and show sta...
  • wdx223_Daniel's avatar
    wdx223_Daniel
    3 years ago

    let
    Source = Sql.Database("pmgsql.database.windows.net", "btmdata"),
    dbo_MachineStatusSnapshots = Source{[Schema="dbo",Item="MachineStatusSnapshots"]}[Data],
    #"Filtered Rows" = Table.SelectRows(dbo_MachineStatusSnapshots, each Date.IsInPreviousNDays([Snapshot], 30)),
    #"Removed Other Columns" = Table.SelectColumns(#"Filtered Rows",{"AtmId", "Status", "Snapshot"}),
    #"Inserted Date" = Table.AddColumn(#"Removed Other Columns", "Date", each Date.From([Snapshot]), type date),
    #"Removed Columns" = Table.RemoveColumns(#"Inserted Date",{"Date"}),

    NewStep=Table.FromRecords(Table.Group(PreviousStepName,"Atmid",{"n",each let a=Date.From(DateTime.LocalNow()),b=Table.TransformColumns(_,{"Snapshot",Date.From}) in Record.FromTable(Table.FillDown(#table({"Name","Value"],{{"Atmid",a[Atmid]{0}}}& List.TransformMany({0..29},each {"Date","Status"},(x,y)=>{y&" "&Text.From(30-x)&" Days Ago",if y="Date" then Date.AddDays(a,x-30) else b{[Snapshot=Date.AddDays(a,x-30)]}?[Status]?})),{"Value"}))})[n])
    in
    NewStep