はじめに
OAC(Oracle Analytics Cloud)のワークブックから、外部サイトに遷移する方法を紹介します。
単純に外部サイトに移動するだけではなく、OACのデータ・アクション機能を使用して
- 新規タブを開いて外部サイトに遷移する
- 検索したデータをパラメータとして引き渡す
- ボタンをクリックして遷移する
を実現してみようと思います。
サンプルデータ
こんなデータを作りました。
製品カテゴリ,製品サブカテゴリ,製品名,製品コンテナ,顧客セグメント,オフィスID,顧客数,注文数,金額,利益
オフィス用品,ハサミ、定規,"Acme Design Line 8'' Stainless Steel Bent Scissors w/Champagne Handles, 3-1/8'' Cut",Small Pack,法人,1,1,2,14.15,-25.11
オフィス用品,バインダー&アクセサリ,Acco 3-Hole Punch,Small Box,スモールビジネス,2,1,7,31.37,-26.44
オフィス用品,バインダー&アクセサリ,"Acco Pressboard Covers with Storage Hooks, 14 7/8'' x 11'', Light Blue",Small Box,ホームオフィス,4,1,14,69.62,-55.09
オフィス用品,バインダー&アクセサリ,Acco Suede Grain Vinyl Round Ring Binder,Small Box,法人,1,1,7,19.89,-0.25
オフィスID,オフィス,住所
1,北海道オフィス,札幌市中央区北四条西4-1-7
2,東海オフィス,愛知県名古屋市中村区名駅3丁目28-12
3,本社,東京都港区北青山2-5-8
4,関西オフィス,大阪府大阪市北区大深町1丁目1
5,九州オフィス,福岡市博多区博多駅前3-4-25
データ・アクションとは
OACのデータ・アクションは、ビジュアライゼーション上の特定のデータを選択し、その文脈のまま他のキャンバスや、外部サイトと連携することができる機能です。URL起動、ダッシュボード遷移、などが可能で深掘り分析と業務連携を効率化します。
新規ワークブックを作成
作成した2つのデータセットを使用して、新しいワークブックを作成しました。
※ 2つのデータを単一のデータセットにまとめても構いません。
ベースとなるキャンバスを作成
ササっと作ってみました。
一番上に配置したダッシュボード・フィルタで任意のオフィスを選択すると、下の3つのグラフが連動してフィルタされます。
データ・アクションの作成
左下の円グラフをクリックすると、外部サイトに遷移するようにします。
その際、クリックした場所のデータも引き渡すように設定します。
画面右上の「メニュー」アイコンをクリックします。
表示されるメニューから、「データ・アクション」をクリックします。
「+」をクリックして、新しいデータ・アクションを追加します。
次のように設定します。
| プロパティ | 設定内容 |
|---|---|
| 名前 | |
| タイプ | URLのナビゲーション |
| データが必要 | オン |
| アンカー先 | 製品カテゴリ |
| 複数の選択をサポート | オフ |
| 開く | 新規タブ |
遷移先のURLの指定以外が設定できました。
アンカー先を「製品カテゴリ」としたのは、データ・アクションを設定したい円グラフで「製品カテゴリ」が使用されているからです。
遷移先のURLは、次のようにします。
https://www.google.com/search?q=${valuesForColumn:製品カテゴリ}
${ まで入力すると、候補が表示されるので「valueForColumn:"column"」を選択します。
列 をクリックして「製品カテゴリ」をクリックします。
「OK」をクリックします。これでデータ・アクションが作成できました。
データ・アクションの動作確認
右下の円グラフのオレンジ(テクノロジー)の部分を右クリックするとメニューが表示されます。
その中に、作成したデータ・アクションが含まれているのがわかります。
クリックすると外部サイトに遷移します。
右クリックした箇所のデータ(テクノロジー)が引き渡されていることが確認できます。
円グラフの任意の箇所をクリックするとツールバーが表示されます。
このツールバーのデータ・アクション・メニューを使用しても、遷移できます。
もう少し複雑な遷移
少し改造して、ボタンをクリックして遷移するようにしたいと思います。
オフィスの情報として「住所」があります。これを使用して
- ダッシュボード・フィルタで特定のオフィスを選択
- 外部サイトを開き、そのオフィスの住所を引き渡す
をボタンクリックで実現してみます。
どうやって実現するか?
OACには、ボタン・バーというビジュアライゼーションがあります。
ボタン・バーにはデータ・アクションが割り当て可能です。
ただし、データを必要とするデータ・アクションはボタンに割り当てができません。
そもそも、ボタン・バーはビジュアライゼーション部品ですが、ボタンUIを提供するだけでデータを割り当てることができません。
なので、このような仕様になっているのでしょう。
そこで、パラメータを使ってみることにします。
- ダッシュボード・フィルタをパラメータにバインドします
- ダッシュボード・フィルタの選択内容(今回はオフィス名)がパラメータに格納されます(パラメータ1)
- パラメータ1の内容を条件にして、別の情報を検索し(今回は住所)、別のパラメータに格納します(パラメータ2)
- パラメータ2の内容をデータ・アクションでボタンに割り当て、外部サイトに引き渡します
少し複雑ですが、下図のようになります。
開発者機能をオンにする
この後の作業のために、「開発者」機能をオンにしておきます。
ブラウザ画面の右上にあるユーザーのアイコンをクリックします。
「プロファイル」を表示します。
「拡張」タブに移動して、「開発者オプションの有効化」をオンにします。
「保存」してから「閉じる」をクリックします。
ダッシュボード・フィルタの作成
「ダッシュボード・フィルタ」ビジュアライゼーションを任意の位置に配置します。
「オフィス」列を割り当てて、値の選択画面のパラメータにバインド「(x)」をクリックします。
パラメータの作成をクリックします。
パラメータタブに移動して、新しいパラメータが作成されていることを確認します。
開発者ツールで論理SQLを取得・改造
作業用のキャンバスを作成します。
- キャンバス2を作成
- オフィス列でフィルタ(例:本社)
- 表ビジュアライゼーションを作成し「住所」列を含める
「開発者」機能を表示します。
右上のメニューから「開発者」をクリックします。
「論理SQL」タブに移動してから、「リフレッシュ」をクリックします。
論理SQLをコピーします。
これを修正して、パラメータで利用します。
select
XSA('8a08c855-bb97-4b5f-8a49-1e700c2954b5'.'Office')."Office"."住所" s_1
FROM XSA('8a08c855-bb97-4b5f-8a49-1e700c2954b5'.'Office')
WHERE
(XSA('8a08c855-bb97-4b5f-8a49-1e700c2954b5'.'Office')."Office"."オフィス" = @parameter("オフィス")('不明'))
パラメータ「オフィス」の内容で検索して、そのオフィスの住所を特定する論理SQLです。
開発者ツールは閉じます。
2つ目のパラメータを作成
再びキャンバス1に戻ります。
パラメータタブの「メニュー」を表示して「パラメータの追加」をクリックします。
次のように設定します。
| プロパティ | 設定内容 |
|---|---|
| 名前 | オフィス住所 |
| データ型 | テキスト |
| 使用可能な値 | 論理SQL問い合せ |
| 初期値 | 使用可能な最初の値 |
論理SQLは、先程開発者ツールで取得し修正したものを貼り付けます。
パラメータを使用したデータ・アクション
データ・アクションを追加します。
次のように設定します。
| プロパティ | 設定内容 |
|---|---|
| 名前 | Google Map |
| タイプ | URLのナビゲーション |
| データが必要 | オフ |
| 複数の選択をサポート | オフ |
| 開く | 新規タブ |
遷移先のURLは、次のようにします。
https://www.google.com/maps/place/@parameter("オフィス住所")('不明')
「OK」をクリックして閉じます。
ボタンへのデータ・アクションの割り当て
ビジュアライゼーションタブを開き、ボタン・バーをキャンバスの任意の場所にドラッグ&ドロップします。
ボタン・バーのプロパティで、アクションに先程作成したデータ・アクションを指定します。
ボタンのラベルを任意の名称に変更して完成です。
外部サイトへボタンクリックで遷移
動作確認します。
ダッシュボード・フィルタでオフィスを「本社」に変更後、ボタンで遷移します。
※ ダッシュボード・フィルタは複数選択をオフにしておくとよいでしょう。
ちゃんと「住所」を外部サイトに引き渡してくれました。
おわりに
OACで検索したデータを動的なパラメータとして外部サイトに引き渡すことができました。
今回は、サンプルとしてGoogleのサービスを利用させていただきましたが、サービス更新等により、本記事で紹介したURLが無効となったり、意図した動作をしなくなる可能性があることに注意してください。































