參照變數的語法

您可以在分析和儀表板中參照變數。

變數的參照方式視您執行的作業而定。對於以對話方塊欄位顯示的作業,例如在篩選定義中參照變數,您只需要指定變數的類型和名稱 (不是完整語法)。

對於其他作業,例如在標題檢視中參照變數,您必須指定變數語法。您所使用的語法會根據變數類型的不同而有所不同,如下表所述。

類型 語法 範例

階段作業

@{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 Scripting 語言規格。名稱不得超出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}'

語意模型 (儲存區域) 變數

在表示式中參照語意模型 (儲存區域) 變數時,請遵守以下準則。

  • 將變數作為 VALUEOF 函數的引數。
  • 在變數名稱前後加上雙引號。
  • 按名稱參照靜態語意模型 (儲存區域) 變數。
  • 按其完整名稱參照動態語意模型 (儲存區域) 變數。

例如:

CASE WHEN "Hour" >= VALUEOF("prime_begin") AND "Hour" < VALUEOF("prime_end") THEN 'Prime Time' WHEN ... ELSE...END