2

10 個のメジャーを含むファクト テーブルがあります。10 個のメジャーのうち 9 個が合計レベルで集計されています。キューブが処理されたら。Unit_Price.SO と呼ばれる非加法メジャーを処理できる方法はありますか?SO は MDX を作成しました。これが正しい方法であるかどうかはわかりません。これが私のMDXです。上記を行う方法を提案してください。

with member [Measures].[Non Additive Unit Sales] as
  case when [Time].Level is [Time].[Month]
     and [Gender].Level is [Gender].[Gender]
     and [Customers].Level is [Customers].[Name]
     and [Product].Level is [Product].[Product Name]
  then [Measures].[Unit Sales]
  else null
  endselect
   {[Measures].[Unit Sales],
     [Measures].[Non Additive Unit Sales],
     [Measures].[Semi Additive Unit Sales]}
   * [Gender].Members ON COLUMNS,
  [Time].Members ON ROWS
from [Sales]
4

1 に答える 1

2

それは正しい方法ではありません。メジャーが「集約しない」に設定されている場合、集約する必要があるカーディナリティでは表示されません。

基本的に、単価は製品の属性であり、測定値そのものではありません。これに対処するには、いくつかの方法があります。

  • 製品のメンバープロパティとして設定します。これはMDXを介してクエリでき、一部のクエリツール(ProClarityなど)では、メンバーのプロパティがツールチップとして表示されます。

  • 単価で別のファクトテーブルを作成します。商品ごとに1つの行を作成し、メジャーグループを商品以外のディメンションに接続しないでください。これを「集約しない」に設定すると、製品にドリルダウンしない場合、メジャーは空白になります。

于 2011-12-21T01:38:15.217 に答える