Forum Discussion
Power query
- 4 years ago
I would do it differently.
I did this:
- Seleccted the first 3 columns, then unpivoted other columns
- Filtered the "a" out of the Values column
- Grouped by the first 3 columns and did a CountRows.
I get this:
If you need the original data again, just merge it with the source step.
let Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WqlDSUUoE4lQoDcGxOtFKVVVVQDaUhMoUgDFItqICpBNCwCXAkrEA", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [Column1 = _t, Column2 = _t, Column3 = _t, #"1/1/2021" = _t, #"1/2/2021" = _t, #"1/3/2021" = _t]), #"Unpivoted Other Columns" = Table.UnpivotOtherColumns(Source, {"Column1", "Column2", "Column3"}, "Attribute", "Value"), #"Filtered Rows" = Table.SelectRows(#"Unpivoted Other Columns", each ([Value] = "p")), #"Grouped Rows" = Table.Group(#"Filtered Rows", {"Column1", "Column2", "Column3"}, {{"Count", each Table.RowCount(_), Int64.Type}}), #"Merged Queries" = Table.NestedJoin(Source, {"Column1", "Column2", "Column3"}, #"Grouped Rows", {"Column1", "Column2", "Column3"}, "Grouped Rows", JoinKind.LeftOuter), #"Expanded Grouped Rows" = Table.ExpandTableColumn(#"Merged Queries", "Grouped Rows", {"Count"}, {"Count"}) in #"Expanded Grouped Rows"I would not recommend the final merge steps though. It is generally bad practice to leave dates in columns. They should be rows, both in Power Query and DAX.
But, it looks like this. This will work with any number of date columns.
How to use M code provided in a blank query:
1) In Power Query, select New Source, then Blank Query
2) On the Home ribbon, select "Advanced Editor" button
3) Remove everything you see, then paste the M code I've given you in that box.
4) Press Done
5) See this article if you need help using this M code in your model.
Excellent Anonymous - whenver I have variable columns, Unpivot Other Columns is one of my first go-to tools. Hope the rest of your project goes well.
Hey,
Suppose I have 500 tables and I need to expand those tables and need to apply the same query to all those tables, So how can we do that
And when we expand those tables, they should appear as different query
- edhans4 years agoCommunity Champion
You can write a custom function and apply it to 500 queries, or you can bring in 500 tables and combine as one.
But you cannot bring in 500 tables and press a button and create 500 queries. Why in the world would you want 500 tables in your model? That would be a DAX nightmare. You should bring them into 1 table, but perhaps with some source name next to them, then you could filter each of them.
But this is really another thread.