4000 のアカウントのセットに対して、いくつかの基本的な顧客セグメンテーション/プロファイル分析を実行しようとしています。
使用状況と保有期間に基づいて顧客を簡単にセグメンテーションしたいと考えています。戦術的には、これは、特定の条件を満たす Acocunt_ID を Oracle SQL データベースに照会することを意味します。
たとえば、使用状況クエリは、先月の使用時間が 100 時間以上のアカウントのサブセットを返します。
このアカウントのリストを取得したら、別のプロファイリングの質問をしたいと思います。
たとえば、100 時間以上使用した顧客の場合、どの製品を使用したか? 彼らはどれくらいの期間顧客ですか?参照元は何でしたか?
私の基本的なアプローチは次のとおりです。
- 顧客セグメント クエリを実行する
- 各セグメントの accountIds を Excel にダウンロードする
- プロファイル クエリを作成する
以下の構造を使用して、顧客セグメントごとにプロファイル クエリを実行します。
Select * From fooo where Account_ID in ('00001','00002','00003')
課題は、顧客セグメントのクエリが 1000 を超える結果を返すことです。そのため、account_ID の異なるバッチを 1000 のセットで手動で置き換える必要があります。これは、Oracle SQL の 1,000 式の制限のために必要です。
別の方法として、顧客セグメントのクエリをプロファイル クエリに結合することもできますが、これではクエリの実行に時間がかかります。
それで。問題は、顧客セグメントのクエリ結果をダンプし、それらの結果をプロファイル クエリにスローして、より効率的に実行できるようにするために使用できる、Oracle SQL で一時テーブルを作成および設定する効率的な方法があるかどうかです。