変数を参照する構文
分析およびダッシュボードでは、変数を参照できます。
変数の参照方法は、実行するタスクによって異なります。 フィルタ定義で変数を参照する場合など、ダイアログにフィールドが表示されるタスクの場合、(完全な構文ではなく)変数のタイプと名前のみ指定する必要があります。
タイトル・ビューでの変数の参照などの他のタスクの場合、変数の構文を指定する必要があります。 次の表に示すように、使用する構文は変数のタイプによって異なります。
| タイプ | 構文 | 例 |
|---|---|---|
|
セッション |
@{biServer.variables['NQ_SESSION.variablename']} variablenameは、セッション変数の名前です(DISPLAYNAMEなど)。 |
@{biServer.variables['NQ_SESSION.SalesRegion']} |
|
セマンティック・モデル(リポジトリ) |
@{biServer.variables.variablename} または @{biServer.variables['variablename']} variablenameは、変数の名前です(prime_beginなど) |
@{biServer.variables.prime_begin} または @{biServer.variables['prime_begin']} |
|
プレゼンテーションまたはリクエスト |
@{variables.variablename}[format]{defaultvalue} または @{scope.variables['variablename']} 説明: variablenameは、プレゼンテーション変数またはリクエスト変数の名前です(MyFavoriteRegionなど)。 (オプション)formatは、変数のデータ型によって異なる書式マスクです(#、##0、MM/DD/YY hh:mm:ssなど)。 (書式はデフォルト値には適用されないことに注意してください。) (オプション)defaultvalueは、variablenameで参照される変数に値が入っていない場合に使用される値を示す定数または変数の参照です。 scopeは、変数の修飾子を識別します。 変数が複数のレベル(分析ダッシュボード・ページおよびダッシュボード)で使用され、特定の値にアクセスする場合、有効範囲を指定する必要があります。 (有効範囲を指定しない場合、分析、ダッシュボード・ページ、ダッシュボードの順に優先されます。) 複数の値を設定できるプレゼンテーション変数を含むダッシュボード・プロンプトを使用する場合、構文は列タイプによって異なります。 複数の値がカンマ区切りの値に書式設定されるため、書式設定句は、カンマで結合される前に各値に適用されます。 |
@{variables.MyFavoriteRegion}{EASTERN REGION} または @{dashboard.MyFavoriteRegion}{EASTERN REGION} または @{dashboard.variables['MyFavoriteRegion']} または (@{myNumVar}[#,##0]{1000}) または (@{variables.MyOwnTimestamp}[YY-MM-DD hh:mm:ss]{) または (@{myTextVar}{A, B, C}) |
|
グローバル |
@{global.variables.variablename} variablenameはグローバル変数の名前です(たとえば、gv_region)。 グローバル変数を参照する場合は、例に示すように、完全修飾名を使用する必要があります。 グローバル変数のネーミング規則は、JavaScriptのECMAスクリプト言語仕様に準拠している必要があります。 名前は200文字以内にする必要があります。埋込みスペース、予約語および特殊文字は使用できません。 JavaScripting言語要件に精通していない場合は、サード・パーティのリファレンスを参照してください。 |
@{global.variables.gv_date_n_time} |
式で変数を参照することもできます。 式で変数を参照するガイドラインは、次のトピックで説明しています:
セッション変数
式でセッション変数を参照するには、次のガイドラインを使用できます。
- セッション変数をVALUEOF関数の引数として含めます。
- 変数を二重引用句で囲みます。
- セッション変数の前にNQ_SESSIONとピリオドを付けます。
- NQ_SESSIONを二重引用符で囲みます。
- NQ_SESSIONの部分とセッション変数名の両方と丸カッコで囲みます。
たとえば:
"Market"."Region"=VALUEOF("NQ_SESSION"."SalesRegion")
プレゼンテーション変数
式内でプレゼンテーション変数を参照するには、次のガイドラインを使用できます。
プレゼンテーション変数を参照する場合は、次の構文を使用します。
@{variablename}{defaultvalue}
variablenameは、プレゼンテーション変数の名前で、defaultvalue(オプション)はvariablenameで参照される変数に値が入っていない場合に使用される値を示す定数または変数の参照です。
変数を文字列に型変換(つまり、変換)する場合や、複数の変数を含める場合は、次のように、変数全体を一重引用符で囲みます:
'@{user.displayName}'
@マークの後ろに{がない場合は、@マークとして処理されます。 複数の値を設定できるプレゼンテーション変数を使用する際には、列タイプによって構文が異なります。
有効なSQL文を生成するには、各列タイプのSQLで次の構文を使用します。
-
テキスト - (@{variablename}['@']{'defaultvalue'})
-
数値 - (@{variablename}{defaultvalue})
-
日時 - (@{variablename}{timestamp 'defaultvalue'})
-
日付(日付のみ) - (@{variablename}{date 'defaultvalue'})
-
時間(時間のみ) - (@{variablename}{time 'defaultvalue'})
たとえば:
'@{user.displayName}'