Ssas COUNTDISTINCT基本度量是否比计算的distinct度量快?

Ssas COUNTDISTINCT基本度量是否比计算的distinct度量快?,ssas,mdx,Ssas,Mdx,我有一个事实表和维度表,如下所示 ​Fact {DateKey,UserKey,ActionKey,Action Count} DimUser {UserKey,Name,IsActive} DimDate { DateKey, Week, Year} [IsDailyActive] = IIF([Measures].[DATE COUNT] >= 21, 1, 0) [Daily Active Users] = SUM([Dim User].[User Key].[User Ke

我有一个事实表和维度表,如下所示

​Fact {DateKey,UserKey,ActionKey,Action Count}
DimUser {UserKey,Name,IsActive}
DimDate { DateKey, Week, Year}
[IsDailyActive] = IIF([Measures].[DATE COUNT] >= 21, 1, 0)

[Daily Active Users] = SUM([Dim User].[User Key].[User Key].Members, [Measures].[IsDailyActive])
我有一个如下所示的用户维度表

​Fact {DateKey,UserKey,ActionKey,Action Count}
DimUser {UserKey,Name,IsActive}
DimDate { DateKey, Week, Year}
[IsDailyActive] = IIF([Measures].[DATE COUNT] >= 21, 1, 0)

[Daily Active Users] = SUM([Dim User].[User Key].[User Key].Members, [Measures].[IsDailyActive])
还有一个日期维度表,如下所示

​Fact {DateKey,UserKey,ActionKey,Action Count}
DimUser {UserKey,Name,IsActive}
DimDate { DateKey, Week, Year}
[IsDailyActive] = IIF([Measures].[DATE COUNT] >= 21, 1, 0)

[Daily Active Users] = SUM([Dim User].[User Key].[User Key].Members, [Measures].[IsDailyActive])
我在基于事实表的度量值组的DateKey列上有一个物理上不同的计数度量值。我们称它为“日期计数”

现在,我想有一个计算的度量,称为“每日活跃用户”,如下所示

​Fact {DateKey,UserKey,ActionKey,Action Count}
DimUser {UserKey,Name,IsActive}
DimDate { DateKey, Week, Year}
[IsDailyActive] = IIF([Measures].[DATE COUNT] >= 21, 1, 0)

[Daily Active Users] = SUM([Dim User].[User Key].[User Key].Members, [Measures].[IsDailyActive])
还有另一种解决此问题的方法,即不使用物理不同计数度量,如下所示

[HasAction] = IIF([Measures].[Action Count] > 1, 1, 0)

[DATE COUNT] = SUM([Dim Date].[DATE KEY].[DATE KEY].Members, [Measures].[HasAction])

[IsDailyActive] = IIF([Measures].[DATE COUNT] >= 21, 1, 0)

[Daily Active Users] = SUM([Dim User].[User Key].[User Key].Members, [Measures].[IsDailyActive])

但是,我担心计算的度量值会比在处理时而不是在查询时计算的物理不同计数度量值慢。有没有想过哪一个会更好?我的事实表有十亿行

当然,物理测量会更快。也就是说,你为什么不亲自尝试一下,让我们知道呢这是伪代码还是mdx?(我没有参与创建我们的立方体,所以请原谅我的无知)@whytheq-我假设两者都有一点:)@Sourav_Agasti
0
不会引起问题吗?是否应将它们全部更改为
null
s以保留稀疏的多维数据集空间和块计算?引擎将null值视为0。因此,我认为如果引擎遇到任何空值,它首先将其转换为零,然后继续。因此,我只能看到空值使事情变得更慢。但是如果你知道这是一种不好的做法,请告诉我任何参考资料。我很高兴受到委屈。