はじめに
今回もOracle Analytics Cloud(OAC)のデータフロー機能を紹介します。
別の記事で作成したデータフローを実行すると作成されるデータセットと、これとは別のデータセットを結合し、第3のデータセットを作成します。
結合に使用するデータセット
Autonomous Data Warehouse(ADW)のサンプルスキーマであるSHのデータをちょっと加工したビューを作成しました。
そのビューから作成したのがこのデータセットです。
数カ月分の販売データとなります。
「顧客別販売実績」という名前にしました。
新しいデータフローの作成
「作成」ボタンをクリックして、「データ・フロー」を選択します。
「前月上位10顧客」データセットを選択して、「追加」をクリックします。
「前月上位10顧客」データセットは、Oracle Analytics Cloud:データ・フローでランキングを計算する で作成しました。
データセットの右の「+」をクリックしてステップを追加します。
追加するのは「データの追加」ステップです。
再びデータセットを選択する画面となります。
今度は「顧客別販売実績」データセットを選択して、「追加」をクリックします。
2つのデータセットが自動的に結合されました。
入力1が「前月上位10顧客」データセットで、入力2が「顧客別販売実績」データセットです。
両方のデータセットの「顧客ID」列で結合します。
また、上位10顧客以外のデータも取得したいので、入力2に関しては「すべての行」とします。
入力1(「前月上位10顧客」データセット)の「顧客ID」と「販売金額 合計」を選択して「選択項目の除去」ボタンをクリックします。
「販売金額ランク」を「前月顧客ランク」に、「顧客ID_1」を「顧客ID」に変更します。
データセット名を「前月顧客ランク別販売実績」としました。
各ID列の処理形式を属性に変更し、データフローを保存した後に実行します(「前月顧客ランク別販売実績の作成」という名前にしました)。
作成したデータセットを試してみる
データフローが実行され、データセットが作成されました。
このデータセットをクリックして、新規のワークブックを作成します。
「除外」「Null」の両方をオンにします。
これで、上位10顧客のみが表示されます。
前月の売上上位10顧客に絞って、これまでの数カ月分の月別販売金額を折れ線にしてみました。
前月売上上位であった顧客が、これまでも安定的に売上に貢献してきたわけではなさそうだ、ということがわかりました。
データセットをまとめて実行する
ここまでの流れを整理すると
- データフロー1を作成してデータセットAを作る
- データフロー2を作成してデータセットAとデータセットBを結合、データセットCを作る
- データセットCを使って分析する
となっています。
データフロー2は、データフロー1の実行結果に依存しており、データフロー1の後に実行する必要があります。
これらを手動で実行しても良いのですが、まとめて希望通りの順番で実行する方法があります。
シーケンスの作成と実行
データメニューに「シーケンス」というタブがあります。
今はまだ何もありませんが、シーケンスを作成するとここに表示されます。
「新規」ボタンをクリックして「シーケンス」を選択します。
新たなシーケンスが作成され、左側に作成済みのデータフローのリストが表示されます。
この中から、最初に実行したいデータフローである「顧客ランク」を右ペインにドラッグ&ドロップします。
続いて、「前月顧客ランク別販売実績の作成」データフローをドラッグ&ドロップします。
上から順番に実行されますが、順番を変更することもできます。
シーケンスに名前を付けて保存します。
作成したシーケンスを右クリックし「実行」をクリックします。
設定した順番でデータフローが実行され、結果のステータスが表示されます。
シーケンスの実行履歴の確認
実行したタスクを確認できます。
タスク名をクリックすると、さらに詳細を確認することができます。
おわりに
複数のデータフローを駆使して、分析用のデータセットを作成する場合でもシーケンスによって順番通り実行することができます。
シーケンスはスケジュール実行も可能なので、色々と試してみてください。