3

基本的な合計/カウント/その他の単純なメジャーを正常に追加しましたが、より複雑なメジャーを追加する方法がわかりません。

データ構造が商品を含むトラックを表し、次の構造を持つと仮定しましょう:

  • 日にち
  • id_track
  • id_articte
  • 料金

そして、次のメジャーを計算したい:

  1. sum(cost) / sum(amount) として計算される商品の平均価格
  2. トラックの平均コスト。トラック全体の合計(コスト)間の平均です。SQL 式は sum(cost) / count(distinct id_track) のようになります

XMLA を介して Excel で必要になる場合に備えて、このメジャーをキューブに追加する正しい方法は何ですか?

4

2 に答える 2

3

複雑な計算は、MDX で「計算メジャー」と呼ばれるものを使用して解決されます。

計算メジャーは、MDX 言語のすべての機能をサポートします。計算メジャーの詳細については、こちらを参照してください。これらは非常に強力で、100 を超える関数がサポートされています (関数リスト)。

計算されたメジャーをスキーマごとに 1 回定義する場合は、[ビルダー UI] タブの [詳細]/[スクリプト] で定義することをお勧めします。最初に MDX IDE で有効性を確認し、検証されたらスクリプトに移動します。

于 2015-10-12T09:00:27.747 に答える
1

sum(cost) / sum(amount) として計算される商品の平均価格

これは次のようになります。

WITH MEMBER [Measures].[AvgPrice] AS
  AVG(
    EXISTING([Item].[Item].MEMBERS)
   ,[Measures].[COST]
  )
...

または

WITH MEMBER [Measures].[AvgPrice] AS
  [Measures].[COST] 
  / 
  [Measures].[AMOUNT] 
...

トラックの平均コスト。トラック全体の合計(コスト)間の平均です。SQL 式は sum(cost) / count(distinct id_track) のようになります

WITH MEMBER [Measures].[AvgTrackCost] AS
  AVG(
    EXISTING([TrackItem].[TrackItem].MEMBERS)
   ,[Measures].[COST]
  )
...

キューブ内に次のものが存在すると推測する必要がありました。

[Measures].[COST]
[Measures].[AMOUNT] 
[Item].[Item].MEMBERS
[TrackItem].[TrackItem].MEMBERS
于 2015-10-12T19:49:40.620 に答える