Power BI:在给定条件的情况下组合列中的单元格
Power BI: Combining cells from a column where given a condition
我必须在 Power BI (DAX) 中执行一项任务,其中我有一个用户列表及其工作领域。
我得把每个用户对应的所有字段组合起来,找出频率最高的组合。
以下是我打算如何去做。
如何从 "Sample" 文件生成 "Expected Result"?
Sample:
ID Value
a medicine
b automobile
c banking
d scientist
a banking
a scientist
d banking
Expected Result:
ID Value Combi
a medicine|banking|scientist
b automobile
c banking
d scientist|banking
您可以连接多行的值并使用 CONCATENATEX() DAX 函数生成带分隔符的字符串。然后使用 ADDCOLUMNS 和 SUMMARIZE 得到想要的结果。
Expected Table =
SUMMARIZE (
ADDCOLUMNS (
'Table',
"Combined Value", CONCATENATEX (
FILTER (
SUMMARIZE ( 'Table', 'Table'[ID], [Value] ),
[ID] = EARLIER ( 'Table'[ID] )
),
'Table'[Value],
"|"
)
),
[ID],
[Combined Value]
)
它产生:
分解逻辑
我认为最简单的方法是在 table 中创建计算列以生成组合值列:
Combined Value =
CONCATENATEX (
FILTER (
SUMMARIZE ( 'Table', 'Table'[ID], [Value] ),
[ID] = EARLIER ( 'Table'[ID] )
),
'Table'[Value],
"|"
)
然后您可以根据您的 table 使用之前创建的计算列创建一个汇总 table。要创建计算 table,请转到“建模”选项卡并单击 New Table
图标。
使用这个表达式:
Resumed Table =
SUMMARIZE ( 'Table', [ID], 'Table'[Combined Value] )
你会得到一个 table 这样的:
虽然这两种方法都可以正常工作,但解决此问题的推荐方法是直接从 Power Query 或您的来源。
如果这有帮助,请告诉我。
我必须在 Power BI (DAX) 中执行一项任务,其中我有一个用户列表及其工作领域。
我得把每个用户对应的所有字段组合起来,找出频率最高的组合。
以下是我打算如何去做。
如何从 "Sample" 文件生成 "Expected Result"?
Sample:
ID Value
a medicine
b automobile
c banking
d scientist
a banking
a scientist
d banking
Expected Result:
ID Value Combi
a medicine|banking|scientist
b automobile
c banking
d scientist|banking
您可以连接多行的值并使用 CONCATENATEX() DAX 函数生成带分隔符的字符串。然后使用 ADDCOLUMNS 和 SUMMARIZE 得到想要的结果。
Expected Table =
SUMMARIZE (
ADDCOLUMNS (
'Table',
"Combined Value", CONCATENATEX (
FILTER (
SUMMARIZE ( 'Table', 'Table'[ID], [Value] ),
[ID] = EARLIER ( 'Table'[ID] )
),
'Table'[Value],
"|"
)
),
[ID],
[Combined Value]
)
它产生:
分解逻辑
我认为最简单的方法是在 table 中创建计算列以生成组合值列:
Combined Value =
CONCATENATEX (
FILTER (
SUMMARIZE ( 'Table', 'Table'[ID], [Value] ),
[ID] = EARLIER ( 'Table'[ID] )
),
'Table'[Value],
"|"
)
然后您可以根据您的 table 使用之前创建的计算列创建一个汇总 table。要创建计算 table,请转到“建模”选项卡并单击 New Table
图标。
使用这个表达式:
Resumed Table =
SUMMARIZE ( 'Table', [ID], 'Table'[Combined Value] )
你会得到一个 table 这样的:
虽然这两种方法都可以正常工作,但解决此问题的推荐方法是直接从 Power Query 或您的来源。
如果这有帮助,请告诉我。