我有这个问题:
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查询的任何好的教程或网站吗?
答案 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解决方案”一书作为温和的介绍。