0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Oracle Analytics Cloud:セマンティックモデルで変数を設定してみる ~動的変数編~

Last updated at Posted at 2024-05-30

はじめに

OACでは、セマンティックモデラーを利用してセマンティックモデルを作成します
作成したセマンティックモデルをOACにデプロイすると、ワークブック、分析からセマンティックモデルのサブジェクト領域を利用できるようになります
また、セマンティック・モデルでは、式で利用できるいくつかの種類の変数を設定することができます
本記事では、セマンティック・モデルで、動的変数を設定してみます。
動的変数は、OACにユーザーがサインインした際に、データベースから取得した値を変数にセットします。
データベースから値を取得する際に条件としてサインインしたユーザーを使用して、動的に値を変えるといった用途での利用が考えられます
セマンティック・モデル内での利用の他、分析、ダッシュボードなどから利用することができます。

記載時のOACバージョン:OAC 2024 March版

前提

セマンティックモデルが作成済のOACインスタンスがある。
動的変数にセットする際に参照するテーブル、データがある。

初期化ブロックおよび静的変数の作成

初期化ブロックおよび動的に値を格納するセッション変数を作成します
セマンティック・モデルを開きます
上部左のメニューアイコンをクリックし、セマンティック・モデルをクリックします
2.jpg

作成済のセマンティック・モデルをクリックして開きます
3.jpg

左上部の"(x) 変数"タブをクリックします。右上部の"新規"ボタンをクリックし、"初期化ブロック"をクリックします
4.jpg

動的変数の初期化ブロックを作成します。任意の名前を入力します。タイプをクリックし、"セッション"を選択します
5.jpg

"OK"をクリックします
6.jpg

動的変数にセットする値を取得するSQLを記載します。本記事では、以下を入力しています。

select corporate_name,area from shjp.tbl_dynamic_variables where username='VALUEOF(NQ_SESSION.USER)'

入力後、SELECT文の下部の"選択"ボタンをクリックし、取得するデータベースを指定します。セマンティック・モデルの物理レイヤーに定義されている接続プールを指定します。
7.jpg

物理レイヤーを展開し、接続プールをクリック、"選択"ボタンをクリックします
8.jpg

"問合せのテスト"をクリックします
9.jpg

接続プールを利用し、SQLを実行、結果が取得されます。
10.jpg

結果を格納する変数を作成します
中程、"+ 変数の追加"をクリックします
11.jpg

変数の名前を入力します。入力後、"詳細ビュー"アイコンをクリックします
12.jpg

"fx 式列"をクリックします
13.jpg

デフォルト値を入力します。"検証"をクリックし、"保存"をクリックします。
値を取得する際には取得した値で上書きされます。
14.jpg

SELECT文では、列を2つ指定しています。2つめの変数を追加します。
"+ 変数の追加"をクリックします
15.jpg

変数名を入力します。入力後"fx"アイコンをクリックします
16.jpg

デフォルト値を入力します。"検証"をクリックし、"保存"をクリックします。
値を取得する際には取得した値で上書きされます。
17.jpg

"問合せのテスト"をクリックします
18.jpg

変数名と値が表示されます。"OK"をクリックします。
19.jpg

"保存"をクリックします
20.jpg

"整合性のチェック"をクリックします
21.jpg

右上部のアクションメニューアイコン"・・・(縦)"をクリックし、"デプロイ"をクリックします
22.jpg

"デプロイ"をクリックします
23.jpg

セマンティック・モデル変数の動的変数の利用

分析で、テキストやナレーティブで動的変数を利用する
@{biServer.variables['NQ_SESSION.<変数名>']}{<デフォルト値>}で参照します。本記事では@{biServer.variables['NQ_SESSION.dynamic_area']}{}
24.jpg

分析で、式列で静的変数を利用する
VALUEOF(NQ_SESSION.<変数名>)で参照します
25.jpg

サインイン時に、サインインしたユーザーを条件に、データベースから動的に値を取得して、セッション変数に動的に値をセットし、表示しています。
26.jpg

まとめ

セマンティック・モデルでは、セマンティック・モデル・変数という式で利用できる静的変数、動的変数など、いくつかの種類の変数を設定することができます。
本記事では、セマンティック・モデルで、セッション変数に動的に値を設定する動的変数をためしてみました。
分析で動的変数を参照する他、セマンティック・モデルの論理レイヤーの式列でも動的変数を参照できます。

以上

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?