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
) ;
我正在尝试计算百分比并将其添加到我的立方体度量中。
基本上我正在尝试计算销售额的百分比 星期 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
) ;