1

さまざまな製品を販売する営業担当者がいるデータ モデルを作成しようとしています。問題は、各製品の階層構造にあります。一部の商品については、売上に応じて異なるポイントが付与されます。販売金額に応じて、ポイントが 2 段階から 3 段階になる場合があります。他の商品は一律のペイアウトかもしれません。その後、営業担当者は、たとえば、受け取ったポイント数のティアに応じて、ポイントのパーセンテージとして最終的な境界を取得します

製品 1

  1. ボリューム 100 = 10 ポイントの場合
  2. ボリューム 200 = 20 ポイントの場合
  3. ボリューム 300+ = 30 ポイントの場合

従業員の支払い

  1. 100ポイント=ポイント還元率20%
  2. 200 ポイント = ポイント支払いの 50%
  3. 300ポイント=ポイント還元の場合は150%。

これをデータモデルで構造化し、DAX式で計算する方法がわかりません

事前に助けてくれてありがとう

4

3 に答える 3

0

次のアプローチを試してください。

データ構造

製品:

ここに画像の説明を入力

販売:

ここに画像の説明を入力

データ・モデル

  • 両方のテーブルをデータ モデルにロードします (私はそれらProductsを and と呼びましたSales)
  • ダイアグラム ビューで、Sales[Product] との関係を作成します。Product[Product]

ダックス

これは醜い部分です: sales テーブルでは、名前が の新しい計算列としてPoints。次の DAX 式を使用します。

   =IF(Sales[Volume]<RELATED(Products[Volume Tier 1]),0,
    IF(Sales[Volume]<RELATED(Products[Volume Tier 2]),RELATED(Products[Points Tier 1]),
    IF(Sales[Volume]<RELATED(Products[Volume Tier 3]),RELATED(Products[Points Tier 2]),
    IF(Sales[Volume]<RELATED(Products[Volume Tier 4]),RELATED(Products[Points Tier 3]),
    IF(Sales[Volume]<RELATED(Products[Volume Tier 5]),RELATED(Products[Points Tier 4]),
    IF(Sales[Volume]>=RELATED(Products[Volume Tier 5]),RELATED(Products[Points Tier 5])))))))

次の式で新しいメジャーを追加します。TotalPoints:=SUM(Sales[Points])

これで、取引/販売員/などごとのポイント数を決定できます。これを以降の手順で使用します。

実際のボリューム ティアを使用する代わりに、Product テーブルで関連のないティアを空白のままにして、ISBLANK関数を使用して数式を拡張することもできます。

于 2014-03-25T20:04:05.613 に答える
0

新しい計算列を作成すると、ボリューム計算列が作成されます (IF ( ボリューム>=100 次に 10 ボリューム >= 200 そして 20) 人 1 製品 1 100 個人 2 製品 2 200

人×商品×300

次に、この計算列に基づいて計算列をもう 1 つ追加して、ボリュームのパーセンテージを取得します。

それが役立つ場合は、答えを正しいものとしてマークしてください。

于 2014-03-04T13:20:57.807 に答える
-2

DAXについてはわかりませんが、これはExcelの式を処理します。

columnで計算するとvolume、 columnで次のように計算されます。ApointsB

$B2 = MIN(10*INT($A2/100),30)

points次に、どこか別の場所に集計し ( column としましょう)、 columnでD計算すると想定しています。これを行うための私の好みの方法は、どこかに小さなルックアップ テーブルを作成することです。次のようになります。payoutE

Points     Payout Rate
   0        0
 100        0.2
 200        0.5
 300        1.5

ルックアップ テーブルに名前を付けますPayoutRates。ペイアウト率を調べてペイアウトを計算する式は次のとおりです。

=$D2 * VLOOKUP($D2,PayoutRates,2,TRUE)

または、ネストされたIFステートメントを使用して同じ結果を得ることができます。

=$D2 * IF($D2<100,0,IF($D2<200,0.2,IF($D2<300,0.5,1.5)))
于 2014-02-24T23:10:05.623 に答える