首页 > 解决方案 > 在 DAX 中使用整个表时性能总是很差吗?

问题描述

所以我读到使用表名会导致表扩展,从而导致性能下降。

我知道在 FILTER 中使用 tablename 时会发生这种情况。但是,如果我在 REMOVEFILTERS 中使用表名,那么这是否也会导致表扩展/性能不佳?

标签: powerbidax

解决方案


不,当您使用 REMOVEFILTERS 时,DAX 引擎仅标记要从中删除所有过滤器的扩展表,仅此而已,这不会对性能产生任何影响。

在基本计算中引用表名是可以的以数据缓存的形式在内存中具体化整个表,公式引擎稍后将在该缓存上进行迭代。

巨大的物化表是一个大问题,因为 Vertipaq 的架构是为了减少 RAM 的使用,但是物化表是内存中的未压缩表,它们会消耗大量的 RAM。

如果您想自己创建物化进行测试,请尝试使用 SAMPLE 或 GROUBPY 作为顶级函数并使用 DAX Studio 确认物化。

我的建议是尽可能使用单个列,这样可以更快地扫描列/字典,更多列将需要扫描列然后加入它们。


推荐阅读