2

我正在尝试创建一个 MDX 语句,但出现此错误:mdx 层次结构文章已出现在 axis0 轴中。我的问题是......只有当“Where”子句项位于列或行中时,我才会收到此错误,我该如何解决这个问题?有没有办法在没有子选择的情况下解决它?

SELECT 
NON EMPTY { [Articles].[Article].[Article].ALLMEMBERS } ON COLUMNS  , 
NON EMPTY { [Measures].[%Uds] } DIMENSION PROPERTIES MEMBER_CAPTION ON ROWS 
FROM  [Modelo]  
WHERE  ( {[Articles].[Article].&[A] , 
[Articles].[Article].&[B]} )  CELL PROPERTIES VALUE, BACK_COLOR, FORE_COLOR, FORMATTED_VALUE, FORMAT_STRING, FONT_NAME, FONT_SIZE, FONT_FLAGS

谢谢!

4

1 回答 1

5

在 MDX 中,一个层次结构只能出现在一个轴(列、行、位置)中。因此,当您想限制您的选择时,只需直接在列轴上执行此操作,并且根本不要使用 where 子句:

SELECT 
NON EMPTY {[Articles].[Article].&[A] , [Articles].[Article].&[B]} ON COLUMNS  , 
NON EMPTY { [Measures].[%Uds] } DIMENSION PROPERTIES MEMBER_CAPTION ON ROWS 
FROM  [Modelo]  
CELL PROPERTIES VALUE, BACK_COLOR, FORE_COLOR, FORMATTED_VALUE, FORMAT_STRING, FONT_NAME, FONT_SIZE, FONT_FLAGS

或者,您可以使用子选择:

SELECT 
NON EMPTY { [Articles].[Article].[Article].ALLMEMBERS } ON COLUMNS  , 
NON EMPTY { [Measures].[%Uds] } DIMENSION PROPERTIES MEMBER_CAPTION ON ROWS 
FROM  (
    SELECT {[Articles].[Article].&[A] , [Articles].[Article].&[B]}
    FROM [Modelo]
    )  
CELL PROPERTIES VALUE, BACK_COLOR, FORE_COLOR, FORMATTED_VALUE, FORMAT_STRING, FONT_NAME, FONT_SIZE, FONT_FLAGS

子选择和轴中的位置/直接引用之间的结果存在一些细微差别,但在许多情况下,结果是相同的。

于 2013-09-18T12:12:58.247 回答