2

私は MDX を初めて使用し、販売日が 1 つのディメンションであっても、2 つの異なる軸で年ごとおよび月ごとの売上高を表示するクエリを作成できるかどうか疑問に思いました。

何かのようなもの:

Sales    |   2010    |    2011    |   Diff   
---------+-----------+------------+----------
Jan      |  1234,00  |  2345,10   |  +80%
Feb      |    ...
...

編集: mondrian で利用できない他の MDX 実装の可能性があるように見えるため、タグに mondrian を追加しました。

4

2 に答える 2

3

はい、解決策は計算されたメンバーに関するものです:

最初のMDXが次のようになっていると想像してみましょう。

Select
 { [Calendar].[Year].[2010],[Calendar].[Year].[2011] } on 0,
 { [Calendar].[Months].members } on 1
from [Cube]

[年]階層に計算メンバーを追加できます。

With
 Member [Calendar].[Year].[Diff] as [Calendar].[Year].[2011] / [Calendar].[Year].[2010]-1, FORMAT_STRING='percent'
Select
 { [Calendar].[Year].[2010],[Calendar].[Year].[2011], [Calendar].[Year].[Diff] } on 0,
 { [Calendar].[Months].members } on 1
from [Cube]

効用または統計ディメンションを使用して、よりエレガントで柔軟なソリューションを追加することもできます。データを保持する代わりにこれらの次元は変換/関数を定義し、出力はあなたが探しているものと正確には一致しませんが、それは興味深い概念です。

于 2011-07-23T07:53:15.030 に答える
1

この問題は、ParallelPeriod 関数で解決できます。

WITH MEMBER [Measures].[Einheiten Vorjahr] 
  AS '(ParallelPeriod([Year],1),
      [Measures].[quantity])'
SELECT {[Measures].[quantity],[Measures].[Einheiten Vorjahr]} ON COLUMNS,
       [date].[2010].children on rows
FROM salesorderitems
于 2011-07-26T16:41:43.007 に答える