Forum Discussion

RichardT_78's avatar
RichardT_78
Helper I
3 years ago
Solved

Filting

Shop1 has 2 areas A or B so i need to be able to create a messure to seperate this 

areaCode shop 1shop 2shop 3
A3111  
B3111  
A311111
B234 1 
A1121 1
B1121  

 

Epected results 

 

A311Shop 1 2
B311Shop 1 1
A112Shop 1 1
B112Shop 1 1
B311shop 21
B234shop 21
B311shop31
A112shop31


How can you filter shop1 based on the A&B column ? 

  • Here's one way to do it in the query editor.  To see how it works, just create a blank query, open the Advanced Editor and replace the text there with the M code below.

     

    let
        Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WclTSUTI2NASSIKwAxrE60UpOOMRR1UMwTL2RsQlUrSGKekNDIyRzEOpRxYHqYwE=", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [area = _t, #"Code " = _t, #"shop 1" = _t, #"shop 2" = _t, #"shop 3" = _t]),
        #"Changed Type" = Table.TransformColumnTypes(Source,{{"area", type text}, {"Code ", Int64.Type}, {"shop 1", Int64.Type}, {"shop 2", Int64.Type}, {"shop 3", Int64.Type}}),
        #"Unpivoted Other Columns" = Table.UnpivotOtherColumns(#"Changed Type", {"area", "Code "}, "Attribute", "Value"),
        #"Grouped Rows" = Table.Group(#"Unpivoted Other Columns", {"area", "Code ", "Attribute"}, {{"Count", each List.Sum([Value]), type number}})
    in
        #"Grouped Rows"

     

    FYI that, if you don't want to group the rows to create the count column, you can delete that step in the query and generate same result with a simple measure (in case you need to do other analyses).

     

    Pat

2 Replies

  • ppm1's avatar
    ppm1
    Solution Sage

    Here's one way to do it in the query editor.  To see how it works, just create a blank query, open the Advanced Editor and replace the text there with the M code below.

     

    let
        Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WclTSUTI2NASSIKwAxrE60UpOOMRR1UMwTL2RsQlUrSGKekNDIyRzEOpRxYHqYwE=", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [area = _t, #"Code " = _t, #"shop 1" = _t, #"shop 2" = _t, #"shop 3" = _t]),
        #"Changed Type" = Table.TransformColumnTypes(Source,{{"area", type text}, {"Code ", Int64.Type}, {"shop 1", Int64.Type}, {"shop 2", Int64.Type}, {"shop 3", Int64.Type}}),
        #"Unpivoted Other Columns" = Table.UnpivotOtherColumns(#"Changed Type", {"area", "Code "}, "Attribute", "Value"),
        #"Grouped Rows" = Table.Group(#"Unpivoted Other Columns", {"area", "Code ", "Attribute"}, {{"Count", each List.Sum([Value]), type number}})
    in
        #"Grouped Rows"

     

    FYI that, if you don't want to group the rows to create the count column, you can delete that step in the query and generate same result with a simple measure (in case you need to do other analyses).

     

    Pat