セマンティック・モデル変数について
セマンティック・モデル変数には、どの時点でも1つの値が含まれます。データ・フィルタおよび式では、リテラルまたは定数のかわりに変数を使用します。
変数のタイプ
次の3つのタイプのセマンティック・モデル変数を作成できます:
- グローバル変数 - グローバル変数は、すべてのユーザーに対して同じ値を持ちます。システムに値を設定させることも、値を設定するスケジュールを指定することもできます。たとえば、現在の期間または現在の年をグローバル変数として定義できます。
- セッション変数 - セッション変数の値はユーザーのセッションに固有であり、通常はユーザーがOracle Analyticsにログインしたときに設定されます(ユーザーの部門や販売地域など)。
- 静的変数 - 静的変数には、最小クレジット・スコアや優先クレジット・スコアなど、変更されない値が保持されます。
初期化ブロックおよび変数について
グローバル変数またはセッション変数の初期化ブロックには、初期化ブロックで定義された変数を初期化またはリフレッシュするために実行されるデフォルトの初期化問合せが含まれています。初期化問合せは、変数値を提供するデータ・ソースの表を参照します。1つの問合せで、複数の変数に値を移入できます(問合せの列ごとに1つの変数)。また、初期化問合せでデータ・ソースにアクセスして変数値を返すために使用する接続プールを指定する必要があります。
デフォルトの初期化問合せに加えて、会社で使用しているデータ・ソース(SnowflakeやDB2など)に対してデータ・ソース固有の初期化問合せを作成することもできます。追加の初期化問合せを定義した場合、Oracle Analyticsでは、デフォルトの初期化問合せではなくそれを使用して初期化ブロックをインスタンス化し、変数を移入します。
たとえば、Oracle Fusion Cloud Applicationsを使用していて、データ・ソースがSnowflakeであるとします。Oracle Fusion Cloud Applicationsで提供されるセマンティック・モデルには、Oracle Autonomous Database用に作成された初期化問合せを含む変数が含まれています。Oracle Fusion Cloud Applicationsで提供されるセマンティック・モデルに含まれる変数がインスタンスで適切に機能するようにするには、変数を含む初期化ブロックを変更して、Snowflakeデータ・ソース用に作成された追加の初期化問合せを含める必要があります。
静的変数の初期化ブロックには、初期化問合せは含まれません。静的変数を定義するには、変数名と値を指定します。
初期化ブロックで変数を定義すると、その変数をデータ・フィルタおよび式に含めることができます。
セマンティック・モデルのデータ・フィルタおよび式の変数について
変数は、データ・フィルタおよび式に含めることができます。式では、リテラルまたは定数のかわりに変数を使用します。変数を使用して、列やその他のセマンティック・モデル・オブジェクトを表すことはできません。
変数は、関数VALUEOF()
の引数です。たとえば:
CASE WHEN "Hour" >= VALUEOF("prime_begin")AND "Hour" < VALUEOF("prime_end") THEN 'Prime Time' WHEN ... ELSE...END
セマンティック・モデラーでは、式エディタに「変数」タブが表示されます。「変数」タブには、データ・フィルタまたは式で使用できる変数がリストされます。変数をダブルクリックすると、式エディタによってVALUEOF()
関数と変数名が挿入されます。
