![]() |
1
5
您还可以使用VAR按照PowerBI的方式构建它们:
哪种方法更有效取决于过滤的复杂性,因此不一定有“一刀切”的规则。对于一个简单的表级过滤器,只需过滤器就足够了。我提醒你,过滤整个表T的第1行是个坏主意。只过滤单个列的性能要高得多。当你过滤整个表时,DAX会在内存中物化整个表,而下面只物化T[col]的一个值:
从概念上讲,你甚至可以做得更好。你基本上可以告诉DAX,“我知道这是一个值,所以甚至不要在表中查找它。只需为我创建一个表,并将其视为我过滤了它。就像这样:
同样,这是PowerBI在执行过滤器时使用的模式。 顺便说一句,在顶部创建过滤表与使用SUMMARIZECOLUMNS()内联创建过滤表在速度上没有任何区别。避免使用CALCULTETABLE(),就像你在这里通常做的那样。 你也可以这样做,尽管你通常不太可能看到速度的提高:
|
![]() |
Eric Jorgensen · DAX查询未显示度量值列? 6 月前 |
![]() |
Vlad · 使用Vega信号在数组中添加和删除项目 1 年前 |
![]() |
Pat · 使用Deneb在条形图上显示strokeWidth 1 年前 |
![]() |
mhooper · 基于分钟间隔创建表并将表链接到原始表 1 年前 |
![]() |
fuquan · 如何计算高级过滤后的结果 1 年前 |
![]() |
Natalie · 在Power BI中使用COUNTIF复制SUM 1 年前 |
![]() |
Mr.YJY · 在Excel中重建PowerBi-DAX度量 1 年前 |