MDX 百分比计算

MDX percentage calculation

我正在尝试计算百分比并将其添加到我的立方体度量中。

基本上我正在尝试计算销售额的百分比 星期 01 至 02 等待时间 03 至 04 等待时间 | | 99 到 100 次等待时间

计算百分比的公式是 SUM(所有金额的总和,最多 17 到 18 次等待时间) / SUM(所有等待时间的总和)

有人可以帮助我使用 mdx 来达到 SUM(最多 17 到 18 周的所有金额的总和)。

我尝试了以下方法。但问题是,分子 [Waiting Times].[Wait].&[17 To 18 Weeks] 只是给我那一周的数量。我需要总计 17 到 18 [等待时间]。

CREATE
MEMBER CurrentCube.[Measures].[Percent of Performance] AS
CASE
WHEN
IsEmpty([Measures].[Patients])
THEN NULL
ELSE
(
[Waiting Times].[Wait].&[17 To 18 Weeks]
,[Measures].[Patients]
)
/
(
[Waiting Times].[Wait].[All]
,[Measures].[Amount]
)

如果您希望所有成员达到某个成员,那么您可以将范围运算符 : 与 null 一起使用,即 null:[x]

因此应用于您的脚本:

CREATE 
  MEMBER CurrentCube.[Measures].[Percent of Performance] AS 
    IIF
    (
      IsEmpty([Measures].[Patients])
     ,NULL
     ,Divide
      (
        (
          NULL : [Waiting Times].[Wait].[17 To 18 Weeks]
         ,[Measures].[Patients]
        )
       ,(
          [Waiting Times].[Wait].[All]
         ,[Measures].[Amount]
        )
      )
    ) ;

如果您尝试以下操作,您是否仍然得到 NULL,如果是,则意味着您的条件 IsEmpty([Measures].[Patients]) 为真?

CREATE 
  MEMBER CurrentCube.[Measures].[Percent of Performance] AS 
    IIF
    (
      IsEmpty([Measures].[Patients])
     ,NULL
     ,1
    ) ;