dax contains() 没有显示 Tru,但应该是

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

我被难住了。我有这个措施。

Contains = IF(CONTAINS(Flags, Flags[FlagsConcat], SELECTEDVALUE(SlicerFlags[FlagNames])),1,-1)

连接的列看起来像这样

Flags

id      Bco Nat Gur Ga  An  Sim Oak Ort FlagsConcat

1826    0   0   0   0   0   0   1   1   Oakpoint,Orthoselect
1784    0   0   0   0   0   0   1   1   Oakpoint,Orthoselect
1503    0   0   0   1   0   0   0   0   Guardian
1502    0   0   0   1   0   0   0   0   Guardian
1500    0   0   0   1   0   0   0   0   Guardian
1499    0   0   0   1   0   0   0   0   Guardian
1326    0   0   0   1   0   0   0   0   Guardian
925 0   0   0   1   0   0   0   0   0   Guardian

这是我从 selectedvalue() 中获取的值

FlagNames

Benco
National
Guardian-Simply Clear
Guardian
Angel Align
Simply Clear
Oakpoint
Orthoselect
None

如果我在 slicerFlags 表中选择 Guardian,那么我会得到返回值 1,但如果我选择 Oakpoint 或 Orthoselect,那么我会得到 -1,即使表中有 2 行在 FlagsConcat 列中包含任一单词。我尝试在逗号之前和之后添加空格,但这没有什么区别。有人知道为什么 contains() 函数在查找 Oakpoint 或 Orthoselect 时不显示 true 吗?预先感谢。

powerbi dax data-analysis powerbi-desktop measure
1个回答
2
投票

@Jeroen 的代码是正确的...

Contains = COUNTROWS(FILTER(Flags, CONTAINSSTRING(Flags[FlagsConcat], SELECTEDVALUE(SlicerFlags[FlagNames]))))+0 

© www.soinside.com 2019 - 2024. All rights reserved.