Forum Discussion

SeckinYilmaz's avatar
SeckinYilmaz
Frequent Visitor
3 years ago
Solved

Create new monthly table from one value

My table as below.

Name Date         Value

A         1.1.2021    1

B         1.1.2021    2

A         1.1.2022   4

 

But I want to dublicate date and cover all months as I mentioned below.

Name Date         Value

A         1.1.2021    1

.

.

A         1.12.2021    1

B         1.1.2021      2

.

.

B         1.12.2021   2

A         1.1.2022    4

.

.

A         1.12.2022   4

 

Is there any way for it?

 

Thank you for your interest.

 

  • SeckinYilmaz - Easiest way I could think was using Power Query

    let
        Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WclTSUTLUN9Q3MjAyBDGVYnWilZxQBY3AgkgqjYBME6XYWAA=", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [Name = _t, Date = _t, Value = _t]),
        #"Changed Type" = Table.TransformColumnTypes(Source,{{"Name", type text}, {"Date", type date}, {"Value", Int64.Type}}),
        #"Added Custom" = Table.AddColumn(#"Changed Type", "Generated Months", each List.Transform({1 ..12}, each Number.From(_))),
        #"Expanded Custom" = Table.ExpandListColumn(#"Added Custom", "Generated Months"),
        #"Added Custom1" = Table.AddColumn(#"Expanded Custom", "Created Month", each #date(Date.Year([Date]),[Generated Months],Date.Day([Date]))),
        #"Changed Type1" = Table.TransformColumnTypes(#"Added Custom1",{{"Created Month", type date}}),
        #"Removed Columns" = Table.RemoveColumns(#"Changed Type1",{"Date", "Generated Months"})
    in
        #"Removed Columns"

1 Reply

  • ChrisMendoza's avatar
    ChrisMendoza
    Resident Rockstar

    SeckinYilmaz - Easiest way I could think was using Power Query

    let
        Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WclTSUTLUN9Q3MjAyBDGVYnWilZxQBY3AgkgqjYBME6XYWAA=", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [Name = _t, Date = _t, Value = _t]),
        #"Changed Type" = Table.TransformColumnTypes(Source,{{"Name", type text}, {"Date", type date}, {"Value", Int64.Type}}),
        #"Added Custom" = Table.AddColumn(#"Changed Type", "Generated Months", each List.Transform({1 ..12}, each Number.From(_))),
        #"Expanded Custom" = Table.ExpandListColumn(#"Added Custom", "Generated Months"),
        #"Added Custom1" = Table.AddColumn(#"Expanded Custom", "Created Month", each #date(Date.Year([Date]),[Generated Months],Date.Day([Date]))),
        #"Changed Type1" = Table.TransformColumnTypes(#"Added Custom1",{{"Created Month", type date}}),
        #"Removed Columns" = Table.RemoveColumns(#"Changed Type1",{"Date", "Generated Months"})
    in
        #"Removed Columns"