0
SELECT  
  [Measures].[Internet Sales Amount] ON COLUMNS  
 ,Tail  
  (  
    [Date].[Calendar Year].[Calendar Year].MEMBERS  
   ,2  
  ) ON ROWS  
FROM [Adventure Works];  

上記の MDX クエリでは、次のような出力が得られます。

年 ネット販売額

2003 年 $9,791,060.30

2004 年 $9,770,899.74

このクエリがどのように機能するかは理解しましたが、常に下位 2 年間の合計が得られるキューブに計算メジャーを作成したいと考えています。これを行う方法?私はSSASの初心者です。私は単純なメジャーとディメンションの設計は得意ですが、MDX の使用に関してはほとんど行き詰まっています。

PS: TopCount、BottomCount などを使用してみましたが、ここでは次元である「年」で並べ替えたいと思います。

どんな助けでも大歓迎です。

ありがとう、

パリー

4

1 に答える 1

1

次のクエリは、Date ディメンションの過去 2 年間の合計のメジャーを計算します。

WITH
MEMBER [Measures].[Sales from the last 2 Years]
    AS Aggregate( Tail( [Date].[Calendar Year].[Calendar Year].Members, 2)
                , [Measures].[Internet Sales Amount]
                )

SELECT { [Measures].[Sales from the last 2 Years]
       } ON COLUMNS
     , { Tail( [Date].[Calendar Year].[Calendar Year].Members, 2)
       } ON ROWS
    FROM [Adventure Works]

他の興味深いクエリは、各年とその前の合計のメジャーを計算することです。

WITH
MEMBER [Measures].[Sales from 2 years]
    AS Aggregate( { [Date].[Calendar Year].CurrentMember.PrevMember
                  : [Date].[Calendar Year].CurrentMember }
                , [Measures].[Internet Sales Amount]
                )

SELECT { [Measures].[Internet Sales Amount]
       , [Measures].[Sales from 2 years]
       } ON COLUMNS
     , NON EMPTY
       { [Date].[Calendar Year].[Calendar Year]
       } ON ROWS
    FROM [Adventure Works]

[Measures].[Internet Sales Amount]メジャーの集計タイプはSumであり、Aggregate関数はメジャーの集計タイプに従って集計するため、合計を計算します。

MDX は理解しにくいトピックです。初めての方は、 MDX Solutions, 2nd editionという本を読むことをお勧めします。

于 2012-04-13T15:14:10.703 に答える