如何在mdx查询中建立2个度量和层次结构

时间:2013-07-11 14:57:46

标签: ssas mdx measures

我有这个问题:

SELECT NON EMPTY {
    [Art].[Art].[Art].ALLMEMBERS * [Measures].[Costs] * [Measures].[Margin]
} ON COLUMNS 
FROM  [Model]  
CELL PROPERTIES VALUE, BACK_COLOR, FORE_COLOR, FORMATTED_VALUE,
    FORMAT_STRING, FONT_NAME, FONT_SIZE, FONT_FLAGS

我收到错误,声明无法完成此操作。我的想法是为每个成员显示其成本和利润,如下所示:

Article 1     | Article 2     | Article 3
cost | margin | cost | margin | cost | margin 

哪种方法是正确的?顺便说一下,有关创建mdx查询的任何好的教程或网站吗?

1 个答案:

答案 0 :(得分:2)

您的查询将这些指标交叉连接在一起:[Measures].[Costs] * [Measures].[Margin]但您对预期结果的想法不同。您在预期结果中显示的是两组交叉连接:{Articles} * {Measures}

我建议更像这样的事情:

SELECT 
    {[Measures].[Costs], [Measures].[Margin]} ON COLUMNS,
    NON EMPTY {[Art].[Art].[Art].ALLMEMBERS} ON ROWS 
FROM [Model]  
CELL PROPERTIES VALUE, BACK_COLOR, FORE_COLOR, FORMATTED_VALUE, FORMAT_STRING, FONT_NAME, FONT_SIZE, FONT_FLAGS

或者,如果您希望列中的所有内容,例如您的预期结果:

SELECT 
    NON EMPTY {[Art].[Art].[Art].ALLMEMBERS} * 
        {[Measures].[Costs], [Measures].[Margin]} ON COLUMNS
FROM [Model]  
CELL PROPERTIES VALUE, BACK_COLOR, FORE_COLOR, FORMATTED_VALUE, FORMAT_STRING, FONT_NAME, FONT_SIZE, FONT_FLAGS

要了解MDX,我推荐“MDX解决方案”一书作为温和的介绍。