Forum Discussion

vynguyen's avatar
vynguyen
Frequent Visitor
2 years ago
Solved

How to create Calculated table?

Current table:

I want my table to look like the one below, what formula should I use?

Tks

  • vynguyen 
    Here is Power Query solution which you can paste in advanced editor, just use your source.
    Or take step by step.

    Here are steps:
    1) in power query select column State > Transform > unpivot other columns

     


    2) rename collumn "Attribute" to "Product"

     


    3) go to Transform > Group By and add these settings:

     

    4) Last, filter out if value = 0

     

    Result:

     




    let
    Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WclTSUTIEYgOlWJ1oJScwS0fJCMxDlXOEyhkqxcYCAA==", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [State = _t, #"Product 1" = _t, #"Product 2" = _t]),
    #"Changed Type" = Table.TransformColumnTypes(Source,{{"State", type text}, {"Product 1", Int64.Type}, {"Product 2", Int64.Type}}),
    #"Unpivoted Other Columns" = Table.UnpivotOtherColumns(#"Changed Type", {"State"}, "Attribute", "Value"),
    #"Renamed Columns" = Table.RenameColumns(#"Unpivoted Other Columns",{{"Attribute", "Product"}}),
    #"Grouped Rows" = Table.Group(#"Renamed Columns", {"State", "Product"}, {{"Quantity", each List.Sum([Value]), type number}}),
    #"Filtered Rows" = Table.SelectRows(#"Grouped Rows", each ([Quantity] <> 0))
    in
    #"Filtered Rows"

    Cheers,
    Nemanja Andic

2 Replies

  • nandic's avatar
    nandic
    Resident Rockstar

    vynguyen 
    Here is Power Query solution which you can paste in advanced editor, just use your source.
    Or take step by step.

    Here are steps:
    1) in power query select column State > Transform > unpivot other columns

     


    2) rename collumn "Attribute" to "Product"

     


    3) go to Transform > Group By and add these settings:

     

    4) Last, filter out if value = 0

     

    Result:

     




    let
    Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WclTSUTIEYgOlWJ1oJScwS0fJCMxDlXOEyhkqxcYCAA==", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [State = _t, #"Product 1" = _t, #"Product 2" = _t]),
    #"Changed Type" = Table.TransformColumnTypes(Source,{{"State", type text}, {"Product 1", Int64.Type}, {"Product 2", Int64.Type}}),
    #"Unpivoted Other Columns" = Table.UnpivotOtherColumns(#"Changed Type", {"State"}, "Attribute", "Value"),
    #"Renamed Columns" = Table.RenameColumns(#"Unpivoted Other Columns",{{"Attribute", "Product"}}),
    #"Grouped Rows" = Table.Group(#"Renamed Columns", {"State", "Product"}, {{"Quantity", each List.Sum([Value]), type number}}),
    #"Filtered Rows" = Table.SelectRows(#"Grouped Rows", each ([Quantity] <> 0))
    in
    #"Filtered Rows"

    Cheers,
    Nemanja Andic