Oracle Analytics Cloud：ダッシュボードの一部の表示/非表示を簡単切り替え

# はじめに
Oracle Analytics Cloud（**OAC**）には、セルフサービスBI機能とエンタープライズBI機能を提供しています。
エンタープライズBI機能の一部としてダッシュボードがありますが、ダッシュボードの一部の表示・非表示をコントロールする方法を紹介します。

# ダッシュボードとは
関連のあるコンテンツを集めたWebページのことです。
これは、ダッシュボードの編集画面です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/2cedcfc3-cf59-8b13-42e8-c97e31236318.png)

このダッシュボードのページは列が1つで、その「列」の中に2つの「セクション」がある構造になっています。

# セクションとは
セクションの中に分析（レポート）やダッシュボードプロンプト等を配置することができます。
セクションは、アプリケーションロールに応じた権限設定が可能になっており、特定のアプリケーションロールに対して非表示にすることもできます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/0023e3e2-77e7-20f3-f9f9-4c146448fc07.png)
今回は、アプリケーションロールではなく、ダッシュボードプロンプトの値に応じてセクションを表示・非表示する方法を考えてみます。

# ダッシュボードプロンプトの作成
クラシックホームに移動し、「作成」から「ダッシュボード・プロンプト」をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/64424fd5-12a2-5d24-d392-d86009e27e76.png)
任意のサブジェクト領域を選択します。
新規（＋）をクリックして、「変数プロンプト」を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/084df526-35b3-be87-55bf-c3c6d9cc4d35.png)
プロンプト対象を「プレゼンテーション変数」とし、任意の名前を入力します。
ここでは「PV_TEMP」としました。
ユーザ入力の方法を「リスト・ボックス」としてカスタム値「表示」「非表示」を追加します。
デフォルトの選択は「表示」にしました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/1a6ee01b-f480-d73e-fbf8-49d341a02897.png)
「編集」アイコンをクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/c5d15556-9527-3a8c-89e2-4192d4c7b39b.png)
適用ボタンとリセットボタンを表示しないようにしました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/bd32f901-95b0-6769-56c8-75f466271908.png)
任意の名前を付けて、プロンプトを保存します。

# 条件判定用の分析（レポート）の作成
「作成」から「分析」を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/9313b2ab-a16f-1616-4169-1d67b4800cfe.png)
任意のサブジェクト領域を選択します。
任意の列をダブルクリックして選択します。あまり大規模な検索にならないような列を選択することをおすすめします。
選択した列を「フィルタ」にも追加します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/8fa10c12-701c-30b4-801b-f4402c1ec4ed.png)
「式の編集」アイコンをクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/a01d9409-be92-538c-ec3d-3a7c490a434f.png)
既存の式を削除して、次の式を入力し「OK」をクリックします。
```
'@{PV_TEMP}'
```
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/af7f1899-f8a1-edfd-5ae9-5db3df56f6d3.png)
値に「表示」と入力し、「OK」をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/a5bc3e88-cb77-6c12-bbbe-bb85836c32f2.png)

この分析は、プレゼンテーション変数の値が「表示」であった場合にチャネルカテゴリの一覧を返します。それ以外の場合は検索結果は0行です。
分析に名前を付けて保存します。

# ダッシュボードを編集
目的のダッシュボードを編集モードで開きます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/2cedcfc3-cf59-8b13-42e8-c97e31236318.png)
上部のセクションに、作っておいた変数プロンプトをドラッグ＆ドロップで配置します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/f3f6e1fd-fd6a-8c0c-d297-53f566c4e446.png)
次に、下部のセクションの「プロパティ」をクリックして、表示されるメニューの「条件」を選択します。![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/87fc3917-e0e7-1231-5bca-0b40006e17b0.png)
「新規条件」アイコンをクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/3dde06a8-50c6-7ecd-aa8e-2cb780455f1b.png)
「参照」をクリックして、条件判定用の分析を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/9452daf2-b853-b4cb-f502-b8f68393ab15.png)
「次より大きい」「0」となっていることを確認して「OK」をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/9f3c3461-dbc1-81da-ebed-f415fa6bce7e.png)
「セクション条件」を「OK」で閉じます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/d596acb0-82e7-7432-44e8-bf4536d1bff0.png)
条件を設定したセクションにも、任意の分析をドラッグ＆ドロップし、ダッシュボードを保存します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/9777057c-887d-f6d3-748b-024ea0ce5049.png)

# ダッシュボードの実行
保存したダッシュボードを実行してみます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/2e26315e-2690-f61d-15d6-f1a51a414956.png)
変数プロンプトで「非表示」を選択してみます。
条件判定用の分析が再実行され、表示条件に合致しなくなったので、下のセクションが非表示になりました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/d9acdf89-bc3e-9196-63cf-57352c200867.png)

# もう一度ダッシュボードを編集して応用してみる
3つ目のセクションを作成し（セクション3ができました）、先程とは違う分析をドラッグ＆ドロップしました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/9e4ba8e9-5532-9f86-a119-368666f04a03.png)
このセクションにも「条件」を設定します。
さっきと同じ条件判定用の分析を使用しますが、「次と等しい」「0」にして「OK」をクリックします。
セクション2は条件判定用の分析が0行より多くの行を返すときに表示され、セクション3は同じ分析の検索結果が0行のときに表示されます。（つまり同時には表示されないことになります）
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/501ec574-baef-fea4-63d7-363ae6b8a2c3.png)
ダッシュボードを保存します。

# ふたたびダッシュボードを実行
「表示」を選択した場合は、先程と同じです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/0775a356-3810-45d2-9eb2-76dac9c6c054.png)
「非表示」を選択した場合は、セクション3（と、そこに配置した分析）が表示されます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/77fdaeb2-1025-e2f0-2249-2f716e9c0702.png)

変数プロンプトのラベルを「PV_TEMP」から変更します。ダッシュボードプロンプトを編集します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/19a54c35-25de-2273-26b1-cf75f50968a3.png)
カスタム値も「表示」「非表示」から変更し、デフォルト値も「チャネル別分析」に変更しました。

これに応じて、条件判定用の分析のフィルタも修正して上書き保存します。（プレゼンテーション変数「PV_TEMP」は、「チャネル別分析」か「トレンド」のいずれかの値を返します）
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/0f2d302a-92c5-a837-7ecc-53093f64fb36.png)

# 完成したダッシュボード
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/9544387d-0044-8260-9836-0760be87b417.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/d010aebc-d417-491e-2e98-e5a719642fe1.png)