多个日期层次结构的计算度量

时间:2017-06-13 21:01:17

标签: sql-server-2012 ssas mdx ssas-2012

我有一个计算的度量,我试图使用范围在我的日期维度中使用多个层次结构(年 - 季 - 月 - 日)。

该度量在Fiscal Hierarchy上运行正常但在Calendar Hierarchy上没有效果,一旦我删除了Month级别,该值对于维度中的所有值都返回相同的值。

CALCULATE;      
CREATE MEMBER CURRENTCUBE.[Measures].[Average Head Count]
 AS NULL, 
FORMAT_STRING = "Standard", 
VISIBLE = 1 ,  ASSOCIATED_MEASURE_GROUP = 'Availability';
SCOPE([Measures].[Average Head Count]);
    -- Calendar Hieararchy
    SCOPE([Date].[Calendar Hierarchy].Members);
    THIS = Avg(Descendants([Date].[Calendar Hierarchy].CurrentMember, [Date].[Calendar Hierarchy].[Date]), [Measures].[Availability Count]);
    END SCOPE;

    -- Fiscal Hierarchy
    SCOPE([Date].[Fiscal Hierarchy].Members);
    THIS = Avg(Descendants([Date].[Fiscal Hierarchy].CurrentMember, [Date].[Fiscal Hierarchy].[Date]), [Measures].[Availability Count]);
    END SCOPE;
END SCOPE; 

我可以使用与此指定相同的计算将它们创建为两个单独的度量,因此对于我的范围语法,某些内容必须不正确。

1 个答案:

答案 0 :(得分:-1)

范围中的集合包括[日期]。[日历层次结构]。[全部] / [日期]。[财政层次结构]。[全部],如何更改代码如下:

SCOPE([Measures].[Average Head Count]);
-- Calendar Hieararchy
SCOPE([Date].[Calendar Hierarchy].[Calendar Hierarchy]);
THIS = Avg(Descendants([Date].[Calendar Hierarchy].CurrentMember, [Date].[Calendar Hierarchy].[Date]), [Measures].[Availability Count]);
END SCOPE;

-- Fiscal Hierarchy
SCOPE([Date].[Fiscal Hierarchy].[Fiscal Hierarchy]);
THIS = Avg(Descendants([Date].[Fiscal Hierarchy].CurrentMember, [Date].[Fiscal Hierarchy].[Date]), [Measures].[Availability Count]);
END SCOPE;
END SCOPE;