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

Get certified in Microsoft Fabric—for free! For a limited time, get a free DP-600 exam voucher to use by the end of 2024. Register now

Reply
matherhorn64
Frequent Visitor

Table transformation - create rows for dates between - power query

Hi guys,

 

Current situation - I have this input table:

11.PNG

 

Desired situation - 

22.PNG

 

So the idea is that power query transforms the input table:

1) gets the product from product column

2) creates the date column, where the first date is [From] and the last is [To] - and between these dates there are consecutive days

3) each unique combination of [product + price + from + to] appends to each other - oucome is the desired table.

 

Do you guys think it is possible to perform that transformation in power query?

 

 

1 ACCEPTED SOLUTION
MarcelBeug
Community Champion
Community Champion

It is quite easy if you convert the dates to numbers, add a column with nested lists with all numbers representing the from..to dates,

remove the From/To columns, expand the new column and adjust the data type to date.

 

let
    Source = InputTable,
    #"Changed Type" = Table.TransformColumnTypes(Source,{{"From", Int64.Type}, {"To", Int64.Type}}),
    #"Added Custom" = Table.AddColumn(#"Changed Type", "Date", each {[From]..[To]}),
    #"Removed Columns" = Table.RemoveColumns(#"Added Custom",{"From", "To"}),
    #"Expanded Date" = Table.ExpandListColumn(#"Removed Columns", "Date"),
    #"Changed Type1" = Table.TransformColumnTypes(#"Expanded Date",{{"Date", type date}})
in
    #"Changed Type1"
Specializing in Power Query Formula Language (M)

View solution in original post

2 REPLIES 2
MarcelBeug
Community Champion
Community Champion

It is quite easy if you convert the dates to numbers, add a column with nested lists with all numbers representing the from..to dates,

remove the From/To columns, expand the new column and adjust the data type to date.

 

let
    Source = InputTable,
    #"Changed Type" = Table.TransformColumnTypes(Source,{{"From", Int64.Type}, {"To", Int64.Type}}),
    #"Added Custom" = Table.AddColumn(#"Changed Type", "Date", each {[From]..[To]}),
    #"Removed Columns" = Table.RemoveColumns(#"Added Custom",{"From", "To"}),
    #"Expanded Date" = Table.ExpandListColumn(#"Removed Columns", "Date"),
    #"Changed Type1" = Table.TransformColumnTypes(#"Expanded Date",{{"Date", type date}})
in
    #"Changed Type1"
Specializing in Power Query Formula Language (M)

Brilliant, thanks kind sir!

Helpful resources

Announcements
November Carousel

Fabric Community Update - November 2024

Find out what's new and trending in the Fabric Community.

Live Sessions with Fabric DB

Be one of the first to start using Fabric Databases

Starting December 3, join live sessions with database experts and the Fabric product team to learn just how easy it is to get started.

Las Vegas 2025

Join us at the Microsoft Fabric Community Conference

March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount! Early Bird pricing ends December 9th.

Nov PBI Update Carousel

Power BI Monthly Update - November 2024

Check out the November 2024 Power BI update to learn about new features.