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

时间:2016-03-30 17:10:08

标签: mdx

我有一个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的新手

1 个答案:

答案 0 :(得分:1)

SELECT子句

中不允许

WITH

看起来你有一个子选择 - 这在FROM子句中。我已经注释了脚本末尾附近的当前成员,因为我不确定如果这包含在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] 
    } 
);