我有满意度调查的数据。其中一个问题允许受访者最多勾选5个框。生成的数据是所有被选中的框的文本的串联,即"框一、框三、框四"或"框二、框五"等。需要一个数据透视表来显示所有响应、框一被选中的次数等。我的数据是表格格式的,我在生成数据透视表时会选中"将此数据添加到数据模型"的框。然后我尝试使用DAX公式添加一个度量:
[=COUNTAX(Survey,[What most influenced your service satisfaction?]="* box one *")]
计算文本字符串"box one"在列中出现的次数。我得到一个不正确的值=它只是返回表中的总行数。
COUNTAX
函数对计算结果为非空的每一行进行计数。在您的情况下,表达式对每一行的计算结果都是FALSE()
,因为星号不是野生的,而是文字星号,所以每一行都会被计算在内。
在筛选出包含"框一"的行之后,对行进行计数如何?
BoxOneCount =
COUNTROWS (
FILTER ( Survey, CONTAINSSTRING ( Survey[What Influenced], "box one" ) )
)
编辑:CONTAINSSTRING
DAX函数是一个更新的函数,在Excel中不起作用。您应该能够使用FIND
for Excel的替代方案。
BoxOneCount =
COUNTROWS (
FILTER (
Survey,
NOT ( ISERROR ( FIND ( "box one", Survey[What Influenced] ) ) )
)
)