我目前在Power BI中工作,当用A过滤的字符串也出现时,需要编写DAX代码来计算字符串值的数量。
我已经尝试过各种代码以及我想到的所有内容,但是我缺乏在DAX中比较值的经验,并且此刻还算不错。
在看桌子时,我需要数数(与众不同)来自A的John,Adam和Julie也出现在B中,在这种情况下为3。
如果有人对我有任何想法或指示,我将很高兴!
答案 0 :(得分:1)
假设您的表名是“数据”:
Count of Common Names =
VAR A_Names =
CALCULATETABLE ( VALUES ( Data[Name] ), Data[Filter] = "A" )
VAR B_Names =
CALCULATETABLE ( VALUES ( Data[Name] ), Data[Filter] = "B" )
VAR Common_Names =
INTERSECT ( A_Names, B_Names )
RETURN
COUNTROWS ( Common_Names )
工作原理: 首先,我们为过滤器A创建一个具有不同名称的表。 其次,我们对过滤器B执行相同的操作。 最后,通过查找它们的交集,我们可以找到两个表中都存在的名称。
编辑:
要计算通用名称的费用,请修改上述度量:
Cost of A given B =
VAR A_Names =
CALCULATETABLE ( VALUES ( Data[Name] ), Data[Filter] = "A" )
VAR B_Names =
CALCULATETABLE ( VALUES ( Data[Name] ), Data[Filter] = "B" )
VAR Common_Names =
INTERSECT ( A_Names, B_Names )
RETURN
CALCULATE ( SUM ( Data[Cost] ), Common_Names, Data[Filter] = "A" )
答案 1 :(得分:0)
这将计算具有多个不同值的不同名称的数量:
Names with Multiple Distinct Values =
COUNTROWS (
FILTER (
SUMMARIZECOLUMNS (
MyTable[Name],
"Distinct Values",
DISTINCTCOUNT ( MyTable[Values] )
),
[Distinct Values] > 1
)
)