我正在尝试创建一个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
谢谢!
答案 0 :(得分:4)
一个层次结构只能出现在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
子轴中的子选择和where / direct参考之间的结果略有不同,但在很多情况下结果是相同的。