1

我有这个查询:

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 查询吗?

4

1 回答 1

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 解决方案》一书作为温和的介绍。

于 2013-07-11T17:40:09.153 回答