【发布时间】:2020-12-01 03:03:40
【问题描述】:
我正在尝试创建一个度量:
目前我有:
a_measure =
CALCULATE(SUM(table[Count]),
table[status] IN {"Duplicate","Returned - 10+ Days", "Returned - Inappropriate"}
)
桌子是我的桌子
table[Count] 是一个辅助列,每行的值为“1”。 (当我在 Excel 和 BI 中工作时,它被继承了 - 我发现它使求和/计数更容易)
我的衡量标准是: 状态为重复或返回 10+ 或返回 - 不合适时的总和列计数。
我想做的,而不是写出每种不同类型的返回是: 总和计数时间 表[状态] = 重复 或者 search("return",table[status],0,0)=TRUE
这真的很有帮助。 这样做可能会很好
IN {"duplicate",search("Return%"))
但我认为从 IN 的工作方式 (https://www.sqlbi.com/articles/from-sql-to-dax-string-comparison/) 你不能这样做。
如果我在 R 中这样做,我可以使用类似filter(str_detect(status,"foo"))|status="duplicate"
如果我使用 countrows,我可以过滤每个条件,但我不知道如何在过滤器中应用通配符搜索。您可以在过滤器中应用搜索吗?感觉可以。
或者,我可以在表中写一列,以便将其分配给一个组,例如 复制 Returned(有多种Returned) Closed(有多种 Closed 类型)
然后使用 table[newfudgecolumn] IN {"Duplicate","Returned"}
这在技术上可以解决问题,但不是我想要的方式。
编辑:我需要阅读这个 DAX Query - Filtering out values from a table in powerbi
Search rows with the same ID and apply AND filter to count a particular occurrence
编辑: 我已经浏览了这些内容,虽然它们通过计算为每个单独条件(我理解)过滤的行来工作,但它们都没有在单个条件中应用字段搜索(这是我想要的)。
tl;博士 我想将字段的通配符搜索应用于 IN 运算符
或
我想对 COUNTROWS 运算符中的字段应用通配符搜索。
希望这是有道理的。
【问题讨论】: