SSAS-带If桩的计算柱

SSAS-带If桩的计算柱,ssas,calculated-columns,Ssas,Calculated Columns,我有一个计算列,它基本上计算了页面上的平均时间 fix([Measures].[Time on Page] / ([Measures].[Pageviews] -[Measures].[Exits])) /3600) 问题是,如果度量值].[Time on Page]为0,则会由于Device by 0错误而导致计算混乱。是否有办法对此进行测试,或者在计算中添加一个If语句?如果您使用的是2012版本,则可以使用新的divide函数。 下面是一个链接,介绍如何使用它。 基本上,除以(,[,])

我有一个计算列,它基本上计算了页面上的平均时间

fix([Measures].[Time on Page] / ([Measures].[Pageviews] -[Measures].[Exits])) /3600)

问题是,如果度量值].[Time on Page]为0,则会由于Device by 0错误而导致计算混乱。是否有办法对此进行测试,或者在计算中添加一个If语句?

如果您使用的是2012版本,则可以使用新的divide函数。 下面是一个链接,介绍如何使用它。 基本上,除以(,[,])

或者,您可以使用IF语句检查除数是否为0

但在有些情况下,我们也有接近0的数字。例如,如果您有校正实际值的调整数据,则最终可能会得到实际值5和调整值-5,因此您预期为0。这可能并非在所有情况下都会发生。因为数字是如何在内部聚合的等等,所以数字可以变成0.00000001而不是0。
对于这种情况,您需要调整您的条件。

我正在SSAS中创建一个计算列,您可以在其中包含多少纯mdx?它还需要向后兼容,所以我不认为只有在2012年才起作用的东西会对我起作用。对不起,我应该发布这样的消息。请尝试这样的IIF(([Measures].[Pageviews].[Measures].[Exits]=0,NULL,([Measures].[Time on Page]/([Measures].[Pageviews].[Measures].[Exits])/3600))