0
我下面的MDX查询一套计算措施,以两个指标的日期范围(月):如何重组MDX以群计算得到的措施,在新的行标签
WITH
MEMBER [Measures].[Prior Visits Office New] as SUM({[Date Post Transaction].[Calendar Month Period].&[201211].Lag(12) : [Date Post Transaction].[Calendar Month Period].&[201306].Lag(12)},[Measures].[Visits Office New]),format_string = '#,##0'
MEMBER [Measures].[Current Visits Office New] as SUM({[Date Post Transaction].[Calendar Month Period].&[201211] : [Date Post Transaction].[Calendar Month Period].&[201306]},[Measures].[Visits Office New]),format_string = '#,##0'
MEMBER [Measures].[Diff Visits Office New] as ([Measures].[Current Visits Office New] - [Measures].[Prior Visits Office New]),format_string = '#,##0'
MEMBER [Measures].[Percent Change Visits Office New] as ([Measures].[Diff Visits Office New]/[Measures].[Prior Visits Office New]),format_string = 'Percent'
MEMBER [Measures].[Prior Visits Office Established] as SUM({[Date Post Transaction].[Calendar Month Period].&[201211].Lag(12) : [Date Post Transaction].[Calendar Month Period].&[201306].Lag(12)},[Measures].[Visits Office Established]),format_string = '#,##0'
MEMBER [Measures].[Current Visits Office Established] as SUM({[Date Post Transaction].[Calendar Month Period].&[201211] : [Date Post Transaction].[Calendar Month Period].&[201306]},[Measures].[Visits Office Established]),format_string = '#,##0'
MEMBER [Measures].[Diff Visits Office Established] as ([Measures].[Current Visits Office Established] - [Measures].[Prior Visits Office Established]),format_string = '#,##0'
MEMBER [Measures].[Percent Change Visits Office Established] as ([Measures].[Diff Visits Office Established]/[Measures].[Prior Visits Office Established]),format_string = 'Percent'
SELECT {[Measures].[Current Visits Office New],[Measures].[Prior Visits Office New],[Measures].[Diff Visits Office New],[Measures].[Percent Change Visits Office New],[Measures].[Current Visits Office Established],[Measures].[Prior Visits Office Established],[Measures].[Diff Visits Office Established],[Measures].[Percent Change Visits Office Established]}
ON COLUMNS , NON EMPTY Hierarchize(AddCalculatedMembers({DrilldownLevel({[Date Post Transaction].[Calendar Month Period].Children})}))
ON ROWS FROM (SELECT ({[Date Post Transaction].[Calendar Month Period].&[201301]})
ON COLUMNS FROM [cube])
WHERE ([Report Group].[Report Group1].&[Group])
的结果集看起来像这样:
+-----------------------------+-----------------------------+---------------------------+--------------------------+------------------------------------+-------------------------------------+-----------------------------------+---------------------------------+--------------------------------------------+
| | Current Visits Office New | Prior Visits Office New | Diff Visits Office New | Percent Change Visits Office New | Current Visits Office Established | Prior Visits Office Established | Diff Visits Office Established | Percent Change Visits Office Established |
+-----------------------------+-----------------------------+---------------------------+--------------------------+------------------------------------+-------------------------------------+-----------------------------------+---------------------------------+--------------------------------------------+
| 201301 | 4,793 | 4,307 | 486 | 11.28% | 58,979 | 57,228 | 1,751 | 3.06% |
+-----------------------------+-----------------------------+---------------------------+--------------------------+------------------------------------+-------------------------------------+-----------------------------------+---------------------------------+--------------------------------------------+
我只是在那里[Date Post Transaction].[Calendar Month Period].&[201301]
,其中显示行201301
,作为填料。它似乎没有返回没有行轴标签的结果集。
,我需要得到的结果设置到看起来像这样的格式:
+---------------------------------+----------------------+---------------------+-----------------------+----------------------+
| | Current | Prior | Diff | Percent Change |
+---------------------------------+----------------------+---------------------+-----------------------+----------------------+
| Visits Office New | 4,793 | 4,307 | 486 | 11.28% |
+---------------------------------+----------------------+---------------------+-----------------------+----------------------+
| Visits Office Established | 58,979 | 57,228 | 1,751 | 3.06% |
+---------------------------------+----------------------+---------------------+-----------------------+----------------------+
甚至更好:
+---------------------------------+----------------------+---------------------+-----------------------+----------------------+
| Visits Office New | 4,793 | 4,307 | 486 | 11.28% |
+---------------------------------+----------------------+---------------------+-----------------------+----------------------+
| Visits Office Established | 58,979 | 57,228 | 1,751 | 3.06% |
+---------------------------------+----------------------+---------------------+-----------------------+----------------------+
所以,我在想,致力于集团的一些逻辑计算如下的度量值:
WITH
MEMBER [Measures].[Visits Office New] as (
MEMBER [Measures].[Prior Visits Office New] as SUM({[Date Post Transaction].[Calendar Month Period].&[201211].Lag(12) : [Date Post Transaction].[Calendar Month Period].&[201306].Lag(12)},[Measures].[Visits Office New]),format_string = '#,##0'
MEMBER [Measures].[Current Visits Office New] as SUM({[Date Post Transaction].[Calendar Month Period].&[201211] : [Date Post Transaction].[Calendar Month Period].&[201306]},[Measures].[Visits Office New]),format_string = '#,##0'
MEMBER [Measures].[Diff Visits Office New] as ([Measures].[Current Visits Office New] - [Measures].[Prior Visits Office New]),format_string = '#,##0'
MEMBER [Measures].[Percent Change Visits Office New] as ([Measures].[Diff Visits Office New]/[Measures].[Prior Visits Office New]),format_string = 'Percent'
)
MEMBER [Measures].[Visits Office Established] as (
MEMBER [Measures].[Prior Visits Office Established] as SUM({[Date Post Transaction].[Calendar Month Period].&[201211].Lag(12) : [Date Post Transaction].[Calendar Month Period].&[201306].Lag(12)},[Measures].[Visits Office Established]),format_string = '#,##0'
MEMBER [Measures].[Current Visits Office Established] as SUM({[Date Post Transaction].[Calendar Month Period].&[201211] : [Date Post Transaction].[Calendar Month Period].&[201306]},[Measures].[Visits Office Established]),format_string = '#,##0'
MEMBER [Measures].[Diff Visits Office Established] as ([Measures].[Current Visits Office Established] - [Measures].[Prior Visits Office Established]),format_string = '#,##0'
MEMBER [Measures].[Percent Change Visits Office Established] as ([Measures].[Diff Visits Office Established]/[Measures].[Prior Visits Office Established]),format_string = 'Percent'
)
SELECT {[Measures].[Current Visits Office New],[Measures].[Prior Visits Office New],[Measures].[Diff Visits Office New],[Measures].[Percent Change Visits Office New],[Measures].[Current Visits Office Established],[Measures].[Prior Visits Office Established],[Measures].[Diff Visits Office Established],[Measures].[Percent Change Visits Office Established]}
ON COLUMNS , NON EMPTY Hierarchize(AddCalculatedMembers({DrilldownLevel({[Date Post Transaction].[Calendar Month Period].Children})}))
ON ROWS FROM (SELECT ({[Date Post Transaction].[Calendar Month Period].&[201301]})
ON COLUMNS FROM [cube])
WHERE ([Report Group].[Report Group1].&[Group])
但这不起作用。思考?
你不能嵌套'MEMBER'的定义。他们必须在“WITH”条款中一个接一个地出现。 – FrankPl
我知道,只是提供了我想要实现的内容。在这种情况下,我会使用CREATE SET。但是这也行不通。任何答案? –