缺少度量值(计算所得成员)

时间:2019-07-10 16:56:19

标签: sql-server ssas mdx olap-cube

我有一个数据仓库,它是OLAP多维数据集的基础数据库。 当我运行这样的查询时:

SELECT  dimS.Attribute2,SUM(fact.LastValue)
FROM FactTable fact
JOIN DimS dimS ON fact.DimSKey = DimS.DimSKey
GROUP BY DimSKey.Attribute2 

我可以看到dimS表上所有现有的Attribute2在事实表中都有对应的行。

另一方面,我有一个计算得出的量度:

CREATE MEMBER CURRENTCUBE.[MEASURES].[MyMeasure]
AS ([Measures].[FactTable - LastValue]
, [DimS].[S Hierarchy].[All].[Hierarchy SomeName]
, [DimS].[Category].[All]
, [DimS].[Question].CurrentMember
, [CimC].[Status].&[Active]
),DISPLAY_FOLDER='Folder',VISIBLE = 1;

以及在MDX以下运行时:

SELECT
{ [Measures].[MyMeasure] } ON COLUMNS, 
{ ([Survey].[Attribute2].ALLMEMBERS ) }  ON ROWS 
FROM [MyCube]

我看到Attribute2中的2个都没有赋值(空)。

什么会引起这样的问题(DimS和多维数据集已被完全处理)?

1 个答案:

答案 0 :(得分:0)

找到根本原因。

在MDX定义中,所计算度量的参考为[DimS]。[S层次结构]。[全部]。[层次结构SomeName]是另一种已计算度量,其中实际上我们在维层次结构中具有硬编码值。对于[Attribute2],不满足此条件。