DAX删除过滤器对全部
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了DAX删除过滤器对全部相关的知识,希望对你有一定的参考价值。
如何用旧的函数ALL和VALUES代替以下代码中的REMOVEFILTERS?此练习只是为了更好地了解REMOVEFILTERS。
CALCULATETABLE (
-- get all products, in the modified filter context of...
VALUES ( MyTable[product] ),
-- no filter on product
REMOVEFILTERS ( MyTable[product] ),
-- and under the same parent category
VALUES ( MyTable[Category] )
)
据我所知,可能的提示here。
这里是示例数据:
let
Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WcisqzSwpVtJRSiwoyEkF0oZKsTpIwkmJeUAIZJigipfn56QlpRYVVQLZpqhSyRlQcWOweFhqempJYlJOKlgusagovwTIMMKUK8gvSSzJhzsBRS4/LzM/D0ibo1qFw9HILogFAA==", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type text) meta [Serialized.Text = true]) in type table [Category = _t, Product = _t, Amount = _t]),
#"Changed Type" = Table.TransformColumnTypes(Source,{{"Amount", Int64.Type}})
in
#"Changed Type"
答案
[REMOVEFILILTERS只是这里ALL的别名,因此它的工作原理相同。
基本上,ALL返回一个包括所有行的表,而忽略可能已应用的所有过滤器。
但是,当ALL用作CALCULATE或CALCULATETABLE的过滤器参数时,其行为完全不同:它将从表中删除过滤器,并且不返回表。
为了减轻ALL的这种混乱行为,当在CALCULATE中使用ALL时,引入了REMOVEFILTERS来代替ALL。
有关更多详细信息,您可以查看本文。https://www.sqlbi.com/articles/managing-all-functions-in-dax-all-allselected-allnoblankrow-allexcept/
以上是关于DAX删除过滤器对全部的主要内容,如果未能解决你的问题,请参考以下文章
PowerBI开发 第十四篇:DAX 表达式(时间+过滤+关系)