DAX-- ISFILTERED 与 ISINSCOPE 的区别

ISFILTERED 只需要参数列出现在筛选上下文中就会返回 True
ISINSCOPE 在此基础上还需要判断参数列是否位于当前行所在的层次结构的级别中,只有当两个条件同时满足,才会返回 True
在某些情况下,ISINSCOPE 对判断总计很有用,考虑下面这个例子:

 

 

 

 

 

这时两个函数的行为相同,而一旦将城市置于筛选器上,情况就会发生变化
 

 

 

对于国家和总计行,城市没有作为层级出现,ISINSCOPE 返回 False。而 ISFILTERED 由于外部筛选器的干扰,返回 True。所以,这种情况下,你可以直接用 ISINSCOPE 有效的判断总计,而不必在模型中复制一列用于单独判断总计

 

posted @ 2022-06-08 16:47  非常人  阅读(181)  评论(0编辑  收藏  举报