2013-08-19 68 views
1

我對MDX和SSAS相當新穎。最近我被要求提交一份報告,要求每個月份的期初值,然後在每個期間內的變動結束於下個月的初始值。MDX和結合兩個類似的

我可以在兩個單獨的MDX中看到這一點,請參閱下面的內容,但我對如何將這些結果放在SSRS中的一個數據集中並沒有基本形成物理數據庫中的數據並將槽拉入倉庫感到厭倦。查詢稍有不同,因爲它們都使用不同的度量值,然後使用更多維度過濾器。

任何幫助將是最欣賞的,我希望這裏有人能幫助或提供的其他方式可能得到一些有益的建議什麼,我需要:

WITH MEMBER [Member1] AS AGGREGATE(({[SRD Date].[Base Report Date].& [1]},{[SRD Date].[Current Year].& [Yes]}), [Measures].[Amount]) 
SELECT NON EMPTY { [member1] } ON COLUMNS 
    , NON EMPTY {([SRD Date].[Year].[Year].ALLMEMBERS 
    * [SRD Date].[Month Key].[Month Key].ALLMEMBERS 
     * [SRD Date].[Month Of Year].[Month Of Year].ALLMEMBERS) } DIMENSION PROPERTIES MEMBER_CAPTION 
    , MEMBER_UNIQUE_NAME ON ROWS FROM (
     SELECT (
       - { [Resource].[Category].& [Support] 
       , [Resource].[Category].& [Bolt-on] } 
       ) ON COLUMNS 
     FROM (
       SELECT ([Exclude Test Accounts]) ON COLUMNS 
       FROM (
        SELECT ([OnlyUnitsAndItems]) ON COLUMNS 
        FROM (
         SELECT ([ExcludeNonReportableMonths]) ON COLUMNS 
         FROM [Cube1] 
)))) 



WITH MEMBER [Member2] AS AGGREGATE(({[SRD Date].[Current Year].& [Yes]}), [Measures].[Amount Of Movement]) 
SELECT NON EMPTY { [Member2] } ON COLUMNS 
    , NON EMPTY {([SRD Date].[Year].[Year].ALLMEMBERS 
    * [SRD Date].[Month Key].[Month Key].ALLMEMBERS 
     * [SRD Date].[Month Of Year].[Month Of Year].ALLMEMBERS 
     * [SRD].[Movement Type].[Movement Type].ALLMEMBERS) } DIMENSION PROPERTIES MEMBER_CAPTION 
    , MEMBER_UNIQUE_NAME ON ROWS FROM (
     SELECT (
       - { [Resource].[Category].& [Support] 
       , [Resource].[Category].& [Bolt-on] } 
       ) ON COLUMNS 
     FROM (
       SELECT ([Exclude Test Accounts]) ON COLUMNS 
       FROM (
        SELECT ([OnlyUnitsAndItems]) ON COLUMNS 
        FROM (
         SELECT ([ExcludeNonReportableMonths]) ON COLUMNS 
         FROM [Cube1] 
)))) 

回答

1

只是結合了WITH子句(沒有逗號或任何介於兩者之間!),並在列軸列出兩個成員:

WITH MEMBER MEMBER [Member1] AS AGGREGATE(({[SRD Date].[Base Report Date].& [1]},{[SRD Date].[Current Year].& [Yes]}), [Measures].[Amount]) 
      MEMBER [Member2] AS AGGREGATE(({[SRD Date].[Current Year].& [Yes]}), [Measures].[Amount Of Movement]) 
SELECT NON EMPTY { [Member1], [Member2] } ON COLUMNS 
    , NON EMPTY {([SRD Date].[Year].[Year].ALLMEMBERS 
    * [SRD Date].[Month Key].[Month Key].ALLMEMBERS 
     * [SRD Date].[Month Of Year].[Month Of Year].ALLMEMBERS 
     * [SRD].[Movement Type].[Movement Type].ALLMEMBERS) } DIMENSION PROPERTIES MEMBER_CAPTION 
    , MEMBER_UNIQUE_NAME ON ROWS FROM (
     SELECT (
       - { [Resource].[Category].& [Support] 
       , [Resource].[Category].& [Bolt-on] } 
       ) ON COLUMNS 
     FROM (
       SELECT ([Exclude Test Accounts]) ON COLUMNS 
       FROM (
        SELECT ([OnlyUnitsAndItems]) ON COLUMNS 
        FROM (
         SELECT ([ExcludeNonReportableMonths]) ON COLUMNS 
         FROM [Cube1] 
)))) 

我希望我沒有錯過任何兩個查詢之間的其他重要區別。