如何使用 DAX 在 power bi 中而不是在 Power Query 中将两行值合并为一?

问题描述 投票:0回答:4

我有一张名为“Business Unite”的桌子,如下 -

事业部
A.1
A.2
A.3
B
C

我希望 A.1、A.2 和 A.3 行的值仅作为 A。 新表应如下例所示 -

事业部
A
B
C

我尝试了下面的 DAX 表达式,但显然它有一个错误 -

Business Unite Measure = 
CALCULATETABLE( 'Events', 
        SWITCH( 'Events'[Business Unit], 
                "A.1", "A",
                "A.2", "A",
                "A.3", "A",
                "B", "B",
                "C", "C", BLANK() ) )

所需的表可以在 Power Query 中实现,但是有什么方法可以使用 DAX 获得结果吗?

powerbi dax
4个回答
1
投票

这里是您的测量计算答案:

如果你想测量,公式是:

Business Unite Measure = 
SWITCH( SELECTEDVALUE('Events'[Business Unit]), 
"A.1", "A", 
"A.2", "A", 
"A.3", "A", 
"B", "B", 
"C", "C", 
BLANK() )

但正如 Rabbani 提到的,您不能将此度量用作切片器或 X 轴或 Y 轴,如果您想在表格中显示,您应该将其与表格视觉中的原始 [业务单位] 列一起使用。否则创建的度量将不会显示。


0
投票

在表中创建一个新的(注意应该是列而不是度量)

Business Unit2 = 
SWITCH( [Business Unit], 
"A.1", "A",
"A.2", "A",
"A.3", "A",
"B", "B",
"C", "C", BLANK() ) 

然后您可以使用这个新列作为任何视觉效果的 X 轴和其他值度量作为 Y 轴。


0
投票

另一个选项写在这里,因为在之前的答案中添加注释不能使换行符可能不那么清晰:

第1步: 为您想要查看的任何值创建价值度量:

Value Measure = SUM(Events[Value])

第2步: 创建新表:

New Table = DATATABLE("Business Unit2",STRING,
{{"A"},{"B"},{"C"}})

第3步: 在新表中创建新列:

Value - Version 1 = SWITCH([Business Unit2],
"A",CALCULATE([Value Measure],SEARCH("A",'Events'[Business Unit],1,0)>0),
"B",CALCULATE([Value Measure],SEARCH("B",'Events'[Business Unit],1,0)>0),
"C",CALCULATE([Value Measure],SEARCH("C",'Events'[Business Unit],1,0)>0))

Value - Version 2 = SWITCH([Business Unit2],
"A",CALCULATE([Value Measure],
'Events'[Business Unit]="A.1"||
'Events'[Business Unit]="A.2"||
'Events'[Business Unit]="A.3"),
"B",CALCULATE([Value Measure],'Events'[Business Unit]="B"),
"C",CALCULATE([Value Measure],'Events'[Business Unit]="C"))

结果如下:


0
投票

创建一个新列并使用以下公式:

column = left(Table[Vusiness Unit], 1)
© www.soinside.com 2019 - 2024. All rights reserved.