グローバル変数の定義
このトピックでは、データ・フィルタおよび式で使用するグローバル変数の理解および定義に必要な知識について説明します。
トピック:
グローバル変数について
変数の値をすべてのユーザーで同じにする必要がある場合は、グローバル変数を使用します。
グローバル変数を定義するには、初期化ブロックを作成するか、既存の初期化ブロックを使用して、1つ以上のグローバル変数を含めます。初期化ブロックには、データ・ソースにアクセスし、定義したグローバル変数に移入する結果を返す初期化文字列と接続プールが含まれています。グローバル変数は、データ・フィルタまたは式に追加できます。
グローバル変数の場合、必要に応じて変数値をリフレッシュするように初期化ブロックをスケジュールできます。
グローバル変数の一般的な用途は、論理表ソースにフィルタを設定することです。「グローバル変数と論理表ソースの断片化について」を参照してください。
グローバル変数の作成
現在の期間や現在の年など、変数の値をすべてのユーザーで同じにする必要がある場合は、グローバル変数を作成します。
グローバル変数を定義して保存すると、セマンティック・モデルのデータ・フィルタまたは式に追加できます。
セマンティック・モデルでは、初期化ブロック内にグローバル変数を作成して定義します。スタンドアロン・グローバル変数を作成して定義し、後で初期化ブロックに関連付けることはできません。
グローバル変数を作成するときは、次の情報を考慮してください:
-
初期化ブロックに複数の変数を追加する場合、変数は初期化問合せの列順序と一致する必要があります。これは、初期化問合せの実行時に各変数が適切な値を受け取るようにするためです。
-
変数への移入に使用される初期化問合せは、変数値に必要なデータ・ソース表を参照する必要があります。セマンティック・モデルの物理レイヤーに変数値を提供するデータ・ソース表を含める必要はありません。
-
階層列の選択ステップをオーバーライドする変数を作成する場合は、JSON構文を使用して初期化問合せを記述します。「選択ステップをオーバーライドする変数で使用される初期化問合せ」を参照してください。
-
変数にはオブジェクト権限が適用されないため、変数内の値は安全ではなく、変数の名前を知っている人、または推測できる人は誰でも式でその変数を使用できます。このため、Oracleでは、パスワードなどの機密データは変数に格納しないことをお薦めします。
グローバル変数を作成するには、次のステップに従います:
- ホーム・ページで、「ナビゲータ」、「セマンティック・モデル」の順にクリックします。
- 「セマンティック・モデル」ページで、セマンティック・モデルをクリックして開きます。
- 「変数」をクリックします。
- 「作成」をクリックし、「初期化ブロックの作成」をクリックします。
- 「初期化ブロックの作成」で、「名前」フィールドに移動し、初期化ブロック名を入力します。
- 「タイプ」フィールドに移動し、「グローバル」を選択します。「追加」をクリックします。
- 「変数」タブが表示されていることを確認し、「SELECT文: DEFAULT」フィールドに移動して初期化問合せを入力します。
- 「接続プール」に移動し、「選択」をクリックして、初期化ブロックで使用する接続プールを参照して選択します。
- 「変数の追加」をクリックし、一意の名前を入力します。
- デフォルト値を指定するには、次のいずれかのオプションを使用します。
- 「値」フィールドに移動し、デフォルト値を入力します。
- デフォルト値としてnullを使用する場合は、「値」を空白のままにします。
- 「詳細ビュー」をクリックし、「式エディタを開く」をクリックして、デフォルト値を決定する式を作成します。
- オプション: 「変数の追加」をクリックして別の変数を追加し、「上に移動」および「下に移動」を使用して変数を正しい順序に配置します。
- オプション: 「問合せのテスト」をクリックして、初期化問合せによって返された変数値を確認し、変数が正しい値を受け取っていることを確認します。
- 「保存」をクリックします。