利用環境
BIサービス:Oracle Analytics Cloud
機能セット(Enterprise Analytics、またはSelf-Service Analytics) 、容量(2OCPU)
Google Drive上に保存したcsvファイルをOracle Analytics Cloudで可視化する
Oracle Analytics Cloud では、様々なデータソースと接続して、データの可視化を行うことができます。Oracle Cloud上のリレーショナルデータベースや、ローカルPC上のExcelファイル、CSVファイルを読み込んで可視化することが多いとは思いますが、
Gsuiteを社内で導入しているなどの関係で、Google Driveを利用してデータソースの受け渡しを行うケースもあると思います。
今回は、Google Drive上に保存されたファイル(CSVやExcel形式)を直接、Oracle Analytics Cloudに取り込んで可視化する設定を試します
Google Drive接続の作成 - (前半)
まず、Oracle Analyticsの画面上で、 Google Driveとの接続を作成します。新規に接続を作成するには、ホーム画面右上の作成から行います。
作成⇒ 接続⇒Google Drive
Google Driveの接続定義画面が開きます。任意の接続名とともに、クライアントIDとクライアント・シークレットを入力して保存するだけですが、クライアントIDとクライアント・シークレットに関しては、Google側で、取得する必要があります。
クライアントIDとクライアント・シークレットの取得
ステップ1:プロジェクトの作成(選択)とGoogle Drive APIの有効化
まず、Google Cloud Platform(GCP)のコンソール画面(https://console.cloud.google.com/?hl=ja)
にアクセスします。
コンソール上部の検索画面で、”APIとサービス”を検索して、APIとサービスにアクセスします
既存の任意のプロジェクトを選択、または、新規にプロジェクトを作成します。今回は新規にプロジェクトを作成します。
任意のプロジェクト名を入力して、”作成”ボタンをクリックします。
作成した、プロジェクトを選択します(プロジェクトの選択リストボックスから、作成したプロジェクトを選択して、開くをクリック)
ライブラリから、Google Drive APIを検索して、クリックします
”有効にする”をクリックし、Google Drive APIをこのプロジェクト内で、有効化します(有効にするをクリック)
ステップ2:OAuth同意画面の構成
次に認証情報メニュからOAuth同意画面を構成します(認証情報⇒同意画面を構成)
OAuth同意画面で、User Typeとして外部を指定し、作成をクリックします
任意のアプリ名、ユーザーサポートメール、デベロッパーの連絡先情報(メールアドレス)を指定したら、保存して次へをクリックします
スコープに関しては、今回は、特に何も指定せず、空欄のままで保存して次へをクリックします。
テストユーザーに関しては、任意のGoogle アカウント(自分のGoogleメールアドレスなど)を指定して保存します。今回は、自分のGoogleメールアドレスだけを追加しました。
(※ここで指定したGoogleアカウントだけが、Oracle Analytics CloudのGoogle Drive接続定義を作成する際に、OAuth認証をクリアして、接続定義を保存することができるようになります。テストユーザーは複数指定することもできますが、 Google Drive上のファイルに対するアクセス権限にかかわる話なので、テストユーザの追加については慎重に検討してください。)
以上で、OAuth同意画面の構成は完了です。
ステップ3:OAuth2.0クライアントIDの作成
認証情報を作成から、OAuthクライアントIDを選択します
OAuthクライアントIDの作成画面で、下記の必須項目について指定します。
アプリケーションの種類:ウェブアプリケーション
名前:任意のクライアントIDの名前を指定します
承認済みのリダイレクトURI:Analytics CloudのGoogle Drive 接続定義画面で、表示されていた、リダイレクトURLをコピー&ペースト
OAuthクライアントが作成されるとともに、クライアントIDと、クライアントシークレットが生成されます。このクライアントIDと、クライアントシークレットは、Oracle Analytics CloudのGoogle Driveの接続定義画面で必要になるので、忘れずにコピーしておきます。
Google Drive接続の作成 - (後半)
Oracle Analytics CloudのGoogle Drive接続定義画面に、クライアントIDとクライアント・シークレットを入力の上、認可ボタンをクリックします
GoogleのOAuth同意画面がポップアップしてきます。テストユーザとして指定した。Googleアカウントを選択します
続行ボタンをクリックします。
Googleドライブの操作権限に関する設定画面がポップアップするので、今回は、”Googleドライブのすべてのファイルの表示・ダウンロードです”だけにチェックして、続行します。
”Google Driveの認証に成功しました”と表示されたら、OKボタンをクリックします。
最後に、保存ボタンをクリックします。以上で、Google Driveとの接続定義は完了です。Google Driveに保存された、CSVファイル(またはExcelファイル(.xlsx))を読み込む準備が整いました。
動作確認
Oracle Analytics Cloudの左側メニュから、データ⇒接続に移動すると、先ほど作成した、Google Driveとの接続定義(今回の場合はGoogle Drive Connectionという名前)を見つけることができます。
次に、”データセットの作成”をクリックします。
Google Driveのフォルダーやファイルが表示されるので、任意のCSVファイル(今回は、国マスター.csv)を選択し、データセット名に任意の名前(今回は、”国”)を指定の上、最後に追加ボタンをクリックします。
Google Drive上のCSVファイルが、Oracle Analytics Cloudにデータセットとして取り込まれましたが、国IDやサブリージョンID、リージョンIDといった、数値項目の処理形式(データ・タイプ)が、メジャーとして自動的に定義されてしまっています。こういった場合には、手動で編集する必要があります。
国IDのヘッダーをクリックして、処理形式(データ・タイプ)をメジャーから属性に変更します
同じ要領で、他の項目についても、適切に修正してあげます。
以上で、データを可視化する準備ができたので、”ワークブックの作成”をクリックします
データのビジュアル化画面が表示されます。画面左側に、データセットの項目が一覧表示されています。
任意の項目をキャンバスにドラグ&ドロップします。コントローrキーを押しながら、複数の項目をまとめて選択してキャンバスにドラグ&ドロップすることも出来ます。
キャンバスに、Google Driveから取り込んだ、CSVファイルのデータを表示することができました。
補足
Google Driveから取り込んだCSVファイルのデータはOracle Analytics Cloud上にデータセットとして保存されています。Google Drive上のCSVファイル内のデータが更新された際に、データセットにも反映されて欲しいというニーズがあると思います。
Google Drive側でのファイル更新をトリガーにして、反映することは難しいですが、データセットのリロードやスケジュール機能を活用することで、データセットに反映することが可能です。
データセットの右側のメニューをクリックするとデータのリロードと、新規スケジュールのメニュがあります。
”データのリロード”をクリックすると、処理がバックグラウンドで行われ、Google Drive上に保存されたCSVファイルと同期が行われ、データセットの内容を最新化することが可能です
また、”新規スケジュール”をクリックすると、スケジュール設定画面が表示されます。ここで、リロード処理のスケジュール設定を行うことが可能です。設定期間、繰り返し間隔(繰り返し無し、時間、日、週、月、年)、リロード処理の実行時刻を指定すると、そのタイミングでGoogle Driveのファイルがデータセットにリロードされ、データの内容を最新化することが可能です。
※実行時刻は、UTC表記になっているので、JSTと9時間ずれがある点を考慮してください。
まとめ
- Oracle Analytics Cloudでは、Google Driveのファイルをデータセットとして取り込んで、データの可視化に利用することができる
- リロードを行うことで、Google Driveとデータセット間の同期を行うことができる。スケジューリング設定することで、リロード処理をスケジューリング実行することもできる
- 参考ドキュメント:Connect to Google Drive or Google Analytics (oracle.com)