我有一个DAX公式,可以给我在一个月内出现在事实表中的id数量进行计数,并在一年内平均。我可以将此度量放入表格中,并通过添加维度变量按行展开,没有任何问题。
Measure:= AVERAGEX(
SUMMARIZE(
CALCULATETABLE(fact_table;FILTER('Time_Dimension';'Time_Dimension'[Last_month] <> "LAST"));
Time_Dimension[Month Name];
"Count";DISTINCTCOUNT(fact_table[ID])
);
[Count]
)
但是它非常缓慢(在一个单独的表上我有3个类似这样的度量),而且事实表很大(像3亿行大)
我读到 SUMMARIZE 在聚合时表现非常差,应该用 SUMMARIZECOLUMNS 替换。我写了这个公式。
Measure_v2:= AVERAGEX(
SUMMARIZECOLUMNS(
Time_Dimension[Month Name];
FILTER(Time_Dimension;
Time_Dimension[Month Name]<>"LAST"
);
"Count";DISTINCTCOUNT(fact_table[ID])
)
[Count]
)
当我将度量视觉化时,它可以正常工作,但是当我尝试将其放入上下文中(例如上面的表格)时,它会出现错误“无法在此上下文中使用SUMMARIZECOLUMN和ADDMISSINGITEMS()”。 我如何从原始的SUMMARIZE函数进行可持续优化?