Skip to main content

お世話になります。

1案件につき1行ずつ整理された案件データにて、【担当者ごとの売上】を計算したいのですが、1行に対し、最大10人まで担当者がつき、売上を分け合う​場合があります。

テーブル構成を簡単に書くと、下記の様な感じです。

案件ID​|売上|担当者1|担当者1の売上|担当者2|担当者2の売上|…

ぱっと思いつくのは担当者一覧のテーブルを別で持ち、

IF [担当者1] = [担当者一覧] THEN [担当者1の売上] ELSE 0 END​

のような関数を担当者1~担当者10で足し上げることですが、担当者一覧テーブルを持たずに​LOD等で実現することはできないでしょうか。

よろしくお願いいたします。​

4 个回答
  1. 2022年1月26日 10:07

    サンプルデータのご提供ありがとうございます。データソースに加工を施さず(元のデータ構造を変えず)に担当者ごとの売上を計算することは、一応可能です。但し、いくつか条件付きになると思います。試したワークブックを添付していますが、この解法では「案件の数が担当者の数よりも多い・売上は正の整数である」という2つの条件を満たす必要があります。また、計算が少し複雑になるのでメンテナンスや転用が難しいです。

    サンプルデータのご提供ありがとうございます。データソースに加工を施さず(元のデータ構造を変えず)に担当者ごとの売上を計算することは、一応可能です。但し、いくつか条件付きになると思います。試したワークブックを添付していますが、この解法では「案件の数が担当者の数よりも多い・売上は正の整数である」という2つの条件を満たす必要があります。また、計算が少し複雑になるのでメンテナンスや転用が難しいです。​他の

    他のシートでの計算に影響が出にくい形でデータソースを加工した場合は、かなりシンプルになります。​10行分のデータを持つシートを用意し、1=1でリレーションします。

    imageあとは簡単な計算式を2つ作ってビューに入れれば計算できます。こちらは表計算を使用せず、また表計算で試したときのような条件がありません。データソースにリレーションを使用していても、リレーション先の子論理テーブル(このサンプルの場合は1から10までの番号テーブル)のデータをシート内で使わなければ、そのシートにはおよそ影響がありません。上述の表計算によるアプローチを検討するくらいならこちらのリレーションを利用した方法のほうがよいかと思います。

    FYI データの関連付け - Tableau

    ​式の詳細等は添付のワークブックを見てみてください。

0/9000