创建计算脚本成员的 Mdx 错误

Mdx error creating a calculated script member

我有一个从浏览器中获取的 mdx 脚本,但对其进行了一些编辑并在计算中创建了一个脚本,但它是错误的?

WITH MEMBER [Measures].[RTY]
AS 
'SELECT NON EMPTY { [Measures].[Person ID Count] } ON COLUMNS 
FROM ( SELECT ( { [Order Date Time Base].[Month Number Of Year].&[1], [Order Date Time Base].[Month Number Of Year].&[2], [Order Date Time Base].[Month Number Of Year].&[3] } ) ON COLUMNS 
FROM ( SELECT ( { [Order Date Time Base].[Calendar Year].&[2015] } ) ON COLUMNS 
FROM [Scv Cube])) WHERE ( [Order Date Time Base].[Calendar Year].&[2015], [Order Date Time Base].[Month Number Of Year].CurrentMember)'
SELECT
{[Measures].[Person ID Count]} ON COLUMNS
FROM [Scv Cube]

这有什么问题吗?我对 mdx

很陌生

SELECT 不允许出现在 WITH 子句中

看起来你有一个子 select - 这在 FROM 子句中。我在脚本末尾附近注释掉了 currentmember,因为我不确定如果它包含在 WHERE 子句

中会发生什么
SELECT
  {[Measures].[Person ID Count]} ON COLUMNS
FROM 
(
   SELECT 
     NON EMPTY { [Measures].[Person ID Count] } ON COLUMNS 
   FROM 
   ( 
     SELECT 
       ( 
         { 
           [Order Date Time Base].[Month Number Of Year].&[1]
         , [Order Date Time Base].[Month Number Of Year].&[2]
         , [Order Date Time Base].[Month Number Of Year].&[3] 
         }   
       ) ON COLUMNS 
     FROM 
       ( 
         SELECT 
          ( { [Order Date Time Base].[Calendar Year].&[2015] } ) ON COLUMNS 
         FROM [Scv Cube]
       )
   ) 
   WHERE 
   ( 
       [Order Date Time Base].[Calendar Year].&[2015]
     //, [Order Date Time Base].[Month Number Of Year].CurrentMember
   )
);

这个脚本的最终目标是什么?您只想要 2015 年前三个月 [Person ID Count] 的总数吗?如果是这样,这应该有所帮助...

SELECT
  NON EMPTY { [Measures].[Person ID Count] } ON COLUMNS 
FROM [Scv Cube]
WHERE 
( 
   [Order Date Time Base].[Calendar Year].&[2015],
   { 
       [Order Date Time Base].[Month Number Of Year].&[1]
     , [Order Date Time Base].[Month Number Of Year].&[2]
     , [Order Date Time Base].[Month Number Of Year].&[3] 
    } 
);