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

Ssas 如何在mdx查询中建立2个度量值和层次结构,ssas,mdx,measures,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

我有一个疑问:

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查询,有什么好的教程或网站可以学习吗?

您的查询是将度量值交叉连接在一起的:
[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解决方案》一书作为一个温和的介绍