Forum Discussion

JS's avatar
JS
Helper II
8 years ago
Solved

Data transformation help

Hello all experts. 

 

I have the data below 

 

1/1/20182424000

 

I would like to transform it into 

 

Start DateAmount
1/1/20181000
2/1/20181000
3/1/20181000
4/1/20181000
5/1/20181000
6/1/20181000
7/1/20181000
8/1/20181000
9/1/20181000
10/1/20181000
11/1/20181000
12/1/20181000
1/1/20191000
2/1/20191000
3/1/20191000
4/1/20191000
5/1/20191000
6/1/20191000
7/1/20191000
8/1/20191000
9/1/20191000
10/1/20191000
11/1/20191000
12/1/20191000

 

Is there anyway that this can be achieved? 

 

Thanks!

JS

  • Hi JS,

     

    You can do that like this

     

    let
        Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WMtQ11DUyMLRQ0lEyMgETBgYGSrGxAA==", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type text) meta [Serialized.Text = true]) in type table [Column1 = _t, Column2 = _t, Column3 = _t]),
        #"Changed Type" = Table.TransformColumnTypes(Source,{{"Column1", type date}, {"Column2", Int64.Type}, {"Column3", Int64.Type}}),
        #"Added Custom" = Table.AddColumn(#"Changed Type", "List", each List.Range({0..[Column2]},1)),
        #"Expanded List" = Table.ExpandListColumn(#"Added Custom", "List"),
        #"Added Custom1" = Table.AddColumn(#"Expanded List", "Custom", each [Column3]/[Column2]),
        #"Added Custom2" = Table.AddColumn(#"Added Custom1", "Custom.1", each Date.AddMonths([Column1], [List]-1))
    in
        #"Added Custom2"

    The Source is just the table I have create to hold the data example

     

    /Erik

1 Reply

  • donsvensen's avatar
    donsvensen
    Skilled Sharer

    Hi JS,

     

    You can do that like this

     

    let
        Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WMtQ11DUyMLRQ0lEyMgETBgYGSrGxAA==", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type text) meta [Serialized.Text = true]) in type table [Column1 = _t, Column2 = _t, Column3 = _t]),
        #"Changed Type" = Table.TransformColumnTypes(Source,{{"Column1", type date}, {"Column2", Int64.Type}, {"Column3", Int64.Type}}),
        #"Added Custom" = Table.AddColumn(#"Changed Type", "List", each List.Range({0..[Column2]},1)),
        #"Expanded List" = Table.ExpandListColumn(#"Added Custom", "List"),
        #"Added Custom1" = Table.AddColumn(#"Expanded List", "Custom", each [Column3]/[Column2]),
        #"Added Custom2" = Table.AddColumn(#"Added Custom1", "Custom.1", each Date.AddMonths([Column1], [List]-1))
    in
        #"Added Custom2"

    The Source is just the table I have create to hold the data example

     

    /Erik