group-by - POWER BI (DAX) 中分组行的 DISTINCT
问题描述
我有一张桌子
ID TYPES 1 A \\ 1 B \\ 2 B \\ 3 A \\ 4 A \\ 4 A \\ 4 A \\ 4 C \\ 4 D \\ 4 E \\ 5 B \\ 5 B \\ 6 A \\ 7 A \\ 7 B \\ 7 C \\ 8 B \\ 8 B \\ 9 D \\ 10 A \\ 10 A \\ 10 D
我有表:
ID TYPES
1 A+B \\ 2 B \\ 3 A \\ 4 A+A+A+C+D+E \\ 5 B+B \\ 6 A \\ 7 A+B+C \\ 8 B+B \\ 9 D \\ 10 A+A+D
使用它:让 Source = Excel.Workbook(File.Contents("c:\Desktop\stac.xlsx"), null, true), Sheet1_Sheet = Source{[Item="Sheet1",Kind="Sheet"]} [Data], #"Promoted Headers" = Table.PromoteHeaders(Sheet1_Sheet, [PromoteAllScalars=true]), #"Changed Type1" = Table.TransformColumnTypes(#"Promoted Headers",{{"TYPE", type text}, { "ID", type text}}), #"Changed Type" = Table.TransformColumnTypes(#"Changed Type1",{{"ID", type text}, {"TYPE", type text}}), #"Grouped Rows1" = Table.Group(#"Changed Type", {"ID"}, {{"All Rows", each , type table [ID=text, TYPE=text]}}), #"Added Custom" = Table .AddColumn(#"分组行1", "自定义", each [All Rows][TYPE]), #"Extracted Values" = Table.TransformColumns(#"Added Custom", {"Custom", each Text.Combine(List.Transform(, Text.From), "+"), type text}), #"Removed Columns" = Table.RemoveColumns(#"Extracted Values",{"All Rows"}) in #"Removed Columns"
但我需要区分价值观:
ID TYPES
1 A+B \\ 2 B \\ 3 A \\ 4 A+C+D+E \\ 5 B \\ 6 A \\ 7 A+B+C \\ 8 B \\ 9 D \\ 10 A+D
解决方案
作为第一步,在查询设计器中按ID
和对表进行分组Types
。所以你的桌子会从这个变成
ID Types
1 A
1 B
1 B
2 B
3 A
4 A
4 A
4 A
对此:
ID Types
1 A
1 B
2 B
3 A
4 A
然后应用与上面代码中相同的步骤,将不同的类型组合在一列中:
Table.TransformColumns(#"Added Custom", {"Custom", each Text.Combine(List.Transform(, Text.From), "+"), type text})
推荐阅读
- linux - 操作系统如何知道进程何时应该处于阻塞状态?
- xamarin.forms - 单击 MSAL 登录页面(Xamarin Forms App)中的 ForgotPassword 链接时,未调用 App Delegate OpenUrl 方法
- node.js - 无法从 firebase 云功能上 node.js/express 中的 GET 标头读取 cookie
- mongodb - 将对象与动态分配的键和值作为 MongoDB 中的数组一起使用
- node.js - 将 botpress 作为后端集成到内置的聊天小部件中
- apache-camel - pollenrich 之后如何处理以前的标头值?
- laravel - 在 Laravel 中更新一对一多态的最佳方法是什么?
- mysql - Mysql查询如果状态相同则选择重复数据如果状态不同则丢弃
- react-native - 为什么更改我的边距百分比会影响我的自定义按钮的间距?
- yugabyte-db - YSQL 与 YCQL 之间的性能差异