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 表达式(时间+过滤+关系)

5个适用于初学者的有用数据分析表达式(DAX)函数

在DAX中使用多个过滤器

DAX Measure 在过滤器表达式中使用来自不同相关表的多个列

DAX函数大全

如何计算 DAX 中的累计总计和百分比?