Forum Discussion

zachtatum's avatar
zachtatum
Frequent Visitor
3 years ago
Solved

table to bar chart

I'm confused about how to reorganize this data. 

 

I would like to show a bar chart. Each bar is a year, and shows the total GRAC contribution from the projects. I suspect that I need to create a virtual table...

 

x-axis = year

y-axis = sum of GRAC for that year

 

Here's what my data looks like.

 

ProjectNameGRaC 2023GRaC 2024GRaC 2025GRaC 2026GRaC 2027GRaC 2028
project apple2.152.493.031.22  
project orange03.456.977.53  
project bananna 0.753.23.823.82 
project watermelon 7.819.6310.290.29 
project tangerine 0.646.586.624.9 
  • First step is to unpivot the data to bring it into a usable form

     

    let
        Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("bY7LCgIxDEV/Zeh6CH0/vmWYRZQiytiWUvD3bUNRB1wkZ5Gc5G4bKzU/4rUtWMoR2cokCEPQoUMBVx0CpOxYqPb1a+WK6TY0Tst6qBaC63Bg1F/ngglTwjnj4Ay5krr/wVl7YYv1GY+cpunAi44AliJykIHuEc5uGynrPcXPU6spqfEEO95pmOL+Bg==", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [ProjectName = _t, #"GRaC 2023" = _t, #"GRaC 2024" = _t, #"GRaC 2025" = _t, #"GRaC 2026" = _t, #"GRaC 2027" = _t, #"GRaC 2028" = _t]),
        #"Unpivoted Other Columns" = Table.UnpivotOtherColumns(Source, {"ProjectName"}, "Attribute", "Value"),
        #"Changed Type" = Table.TransformColumnTypes(#"Unpivoted Other Columns",{{"Value", Currency.Type}})
    in
        #"Changed Type"

     

    Then the visual writes itself.

     

     

  • lbendlin's avatar
    lbendlin
    3 years ago

    Yes, you do the unpivoting as part of the ETL in Power Query. 

4 Replies

  • First step is to unpivot the data to bring it into a usable form

     

    let
        Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("bY7LCgIxDEV/Zeh6CH0/vmWYRZQiytiWUvD3bUNRB1wkZ5Gc5G4bKzU/4rUtWMoR2cokCEPQoUMBVx0CpOxYqPb1a+WK6TY0Tst6qBaC63Bg1F/ngglTwjnj4Ay5krr/wVl7YYv1GY+cpunAi44AliJykIHuEc5uGynrPcXPU6spqfEEO95pmOL+Bg==", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [ProjectName = _t, #"GRaC 2023" = _t, #"GRaC 2024" = _t, #"GRaC 2025" = _t, #"GRaC 2026" = _t, #"GRaC 2027" = _t, #"GRaC 2028" = _t]),
        #"Unpivoted Other Columns" = Table.UnpivotOtherColumns(Source, {"ProjectName"}, "Attribute", "Value"),
        #"Changed Type" = Table.TransformColumnTypes(#"Unpivoted Other Columns",{{"Value", Currency.Type}})
    in
        #"Changed Type"

     

    Then the visual writes itself.

     

     

    • zachtatum's avatar
      zachtatum
      Frequent Visitor

      Thank you.

       

      It worked.

       

      Is there a way that I can unpivot to a new table like you propose, but also still keep the new unpivoted table synced to the source table?

      • lbendlin's avatar
        lbendlin
        Icon for Super User rankSuper User

        Yes, you do the unpivoting as part of the ETL in Power Query.