Forum Discussion

Anonymous's avatar
Anonymous
Not applicable
2 years ago
Solved

Converting python code to PowerBI

I have a table in PowerBI which I want to transform using PowerQuery. I am trying to do the PowerQuery equivalent of applying the python function value_counts() to every column in the dataframe. However, I cannot find a way to do it.

 

 

df.apply(pd.Series.value_counts)

 

 

 As an example, I have this dataframe:

When I apply the python code to it, it results in this dataframe:

 

I would be grateful for any ideas, thank you

  • Hi Anonymous 

     

    You can use this code in Power Query, just update the Source:

    let
        Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WKkvMKU2NN1TSgbKM4CwTOMsUiRWrg08PdnOw6UGwjLGy8NtjjNWV+O3BZiPQbbEA", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [#"Day 1" = _t, #"Day 2" = _t, #"Day 3" = _t, #"Day 4" = _t, #"Day 5" = _t]),
        UnpivotedColumns = Table.UnpivotOtherColumns(Source, {}, "Attribute", "Value"),
        GroupedRows = Table.Group(UnpivotedColumns, {"Attribute", "Value"}, {{"Count", each Table.RowCount(_), type number}}),
        #"Pivoted Column" = Table.Pivot(GroupedRows, List.Distinct(GroupedRows[Attribute]), "Attribute", "Count", List.Sum)
    in
        #"Pivoted Column"

     

    The sample file is attached.

     

    If this post helps, please consider accepting it as the solution to help the other members find it more quickly.

    Appreciate your Kudos!! 

    LinkedIn | Twitter | Blog | YouTube 

3 Replies

  • Hi Anonymous 

     

    You can use this code in Power Query, just update the Source:

    let
        Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WKkvMKU2NN1TSgbKM4CwTOMsUiRWrg08PdnOw6UGwjLGy8NtjjNWV+O3BZiPQbbEA", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [#"Day 1" = _t, #"Day 2" = _t, #"Day 3" = _t, #"Day 4" = _t, #"Day 5" = _t]),
        UnpivotedColumns = Table.UnpivotOtherColumns(Source, {}, "Attribute", "Value"),
        GroupedRows = Table.Group(UnpivotedColumns, {"Attribute", "Value"}, {{"Count", each Table.RowCount(_), type number}}),
        #"Pivoted Column" = Table.Pivot(GroupedRows, List.Distinct(GroupedRows[Attribute]), "Attribute", "Count", List.Sum)
    in
        #"Pivoted Column"

     

    The sample file is attached.

     

    If this post helps, please consider accepting it as the solution to help the other members find it more quickly.

    Appreciate your Kudos!! 

    LinkedIn | Twitter | Blog | YouTube 

    • Anonymous's avatar
      Anonymous
      Not applicable

      Perfect this worked, thank you!

  • some_bih's avatar
    some_bih
    Community Champion

    Hi Anonymous one options to get results like in jupyter cells view outuput for single column

    Powerquery, Tab Transform and picture below