SSAS 计算的度量仅显示特定维度值的值

SSAS Calculated measure to show values only for specific dimension values

我的 SSAS 多维数据集中有一个计算的度量,我只想为一组维度成员计算它,其余的它应该为零。在下图中,我希望 MTDOoccupancy 维度仅适用于房间的帐户组,与食物相关的休息应在此字段中显示为零。

以下是我用于 MTDOoccupancy 测量的简单 MDX

([MTDQuantity]/[MTDAvailableRooms])*100

您可以将度量更改为如下所示:

IIF(
    LEFT([Account Group].[Account Group].currentmember.member_caption,5) = "ROOMS"
  ,([MTDQuantity]/[MTDAvailableRooms])*100
  ,NULL
)

我猜到了这个 dimension/hierarchy 组合 [Account Group].[Account Group]. ... - 您需要更改它以反映您的立方体中使用的名称。

出于性能原因,请将其作为范围说明来执行。以下将在有人第一次连接到多维数据集与报告时每个单元格中的 LEFT 运行 时进行评估:

Create member CurrentCube.[Measures].[My Calc] 
as null
,format_string="0.0%";

scope(Filter([Account Group].[Account Group].[Account Group].Members,   LEFT([Account Group].[Account Group].currentmember.member_caption,5)="ROOMS")); 
   [Measures].[My Calc] = iif(MTDAvailableRooms=0,null,([MTDQuantity]/[MTDAvailableRooms])); 
end scope;