我有一个数据仓库,它是OLAP多维数据集的底层数据库。当我像这样运行query时:
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]
我可以看到2个Attribute2没有被赋值(null)。
是什么导致了这样的问题(DimS和cube刚刚被完全处理)?
发布于 2019-07-11 03:20:27
找到根本原因。
MDX定义中计算度量对SomeName的引用是另一个计算度量,实际上我们在维度层次结构中具有硬编码值。而对于Attribute2来说,这个条件是不满足的。
https://stackoverflow.com/questions/56975378
复制相似问题