
教えて頂けませんでしょうか。
以下のようなデータがあるときに分割発送回数毎の注文数を計算したいのですが可能でしょうか。
SQLでの実現例も載せております。
(元データ)
発送ID 発送年月日 受注番号 送料
1 2021/3/1 order-a 100
2 2021/3/2 order-a 100
3 2021/3/3 order-b 200
4 2021/3/4 order-c 300
5 2021/3/5 order-a 150
6 2021/2/1 order-c 400
7 2021/2/2 order-d 500
8 2021/2/3 order-d 500
9 2021/2/4 order-e 600
10 2021/2/5 order-f 700
(得たいデータ)
分割発送回数 注文数
3 1
2 2
1 3
(実現可能なSQL)
SELECT subq.分割発送回数, Count(subq.受注番号) AS 注文数
FROM (SELECT count(発送ID) AS 分割発送回数, 受注番号 FROM テーブル1 GROUP BY 受注番号) AS subq
GROUP BY subq.分割発送回数;
似たようなトピックスは見つけておりますが解決できず困っております。
こんばんは。サブクエリ的な処理を行いたい場合、LOD計算が便利です。以下の計算式を作成下さい。その後添付図のように、作成した計算式をディメンションとしてCOUNTD(受注番号)を集計します。
(添付Workbookもご参照ください)
受注番号ごとの分割発送回数
{ FIXED [受注番号]: COUNTD([発送id])}
LOD計算はフィルター実行順序まわりで注意が必要なので、以下一読をオススメいたします。
https://help.tableau.com/current/pro/desktop/ja-jp/order_of_operations.htm
LOD計算に関する日本語記事もいくつかありますので、もし馴染みが無ければお調べ頂ければと思います。