SSAS计算成员以确定属性具有值的百分比

SSAS计算成员以确定属性具有值的百分比,ssas,mdx,olap-cube,Ssas,Mdx,Olap Cube,我对编写MDX查询还不熟悉,我在为一些应该非常简单的东西组合查询时遇到了困难 多维数据集所基于的数据集市具有一个星型架构,其中包含一个中心事实表(以项为中心)。事实数据表中有一列显示项目批准日期。并非所有项目都已批准,在这种情况下,批准日期将为空 我需要做的是显示在透视表中遍历多维数据集时已批准的项目的百分比。我不太明白如何定义将执行此计算的计算成员 我使用的是SSAS自动创建的度量,它统计项目数量(“项目计数”)。为了使事情更简单,我在事实表中添加了一个命名计算(“Has Status App

我对编写MDX查询还不熟悉,我在为一些应该非常简单的东西组合查询时遇到了困难

多维数据集所基于的数据集市具有一个星型架构,其中包含一个中心事实表(以项为中心)。事实数据表中有一列显示项目批准日期。并非所有项目都已批准,在这种情况下,批准日期将为空

我需要做的是显示在透视表中遍历多维数据集时已批准的项目的百分比。我不太明白如何定义将执行此计算的计算成员

我使用的是SSAS自动创建的度量,它统计项目数量(“项目计数”)。为了使事情更简单,我在事实表中添加了一个命名计算(“Has Status Approved”),当AprovalDate可用时,值为1,否则为0

我目前有以下情况:

CREATE MEMBER CURRENTCUBE.[Measures].[Percentage Approved]
AS IIF(
    [Measures].[Item Count] = 0, 
    0, 
    SUM({[Item].[Has Status Approved].&[1]},[Measures].[Item Count]) / [Measures].[Item Count]
    ), 
FORMAT_STRING = "Percent", 
VISIBLE = 1;
这似乎给了我正确的结果,但所有未批准的项目都将从结果中筛选出来(因此仅显示100%已批准的行)


如何将MDX查询放在一起以获得所需的结果?任何帮助/澄清都将不胜感激,我发现这一切都很混乱

您需要设计人员中的所有成员吗

CREATE MEMBER CURRENTCUBE.[Measures].[Percentage Approved]
AS IIF(
    [Measures].[Item Count] = 0, 
    0, 
    SUM({[Item].[Has Status Approved].&[1]},[Measures].[Item Count]) / ( [Item].[All], [Measures].[Item Count])
    ), 
FORMAT_STRING = "Percent", 
VISIBLE = 1;