●前提
・hive sqlを使っています。
・AとBというサービスがあり、Aの商品はダブりなく15のジャンルに分かれていています。
Bの商品もいくつかのジャンルに分かれていますが、複数のジャンルを組み合わせたジャンル名がつけられています。(含まれているジャンル名は20ぐらいですが、組み合わせで400ぐらいになります)
Aのサービスのテーブルを作ることまでは何とかできて
個人ID 商品ID ジャンル サービスID
という形になっています。
個人IDと商品IDとジャンルとサービスIDの組み合わせの重複はないです。
500万件のテーブルです。
※期間内に同じ商品を何度利用しても1件という形です。
Bの方も重複なしのテーブルを作っていますが40万件程度あります。
Aのテーブルを現在、作成中にですが30分程度で止まってしまいます。
●実現したいこと
・Aのそれぞれのジャンルの商品を購入している人は、
Bだとどのジャンルの商品を購入しているのかを調べたいと思っています。
※Bのどのような文言が入っているものを利用しているのか調べたいです。
●クロス集計をしたいのですが、それぞれのテーブルの件数が多いので、
知っているクロス集計の方法であるエクセルのピボットテーブルを使うことはできないといわれ、調べてみると扱える件数を超えていました。
■SQLでcase文というのを使うことでクロス集計ができるようだというところまではわかったのですが、
今回の場合、この後どのようにテーブルを作ればよいのか、
15ジャンル、400ジャンルのどちらに合わせて、どのようにcase文を作ればよいのかがわからず困っています。
ご存じでしたら教えてください。

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/10/04 11:03
2019/10/06 23:40