跳到主要內容 跳至補充內容

在運算式中使用變數的範例

Qlik Sense 中的變數是具名的實體,包含一個資料值。在運算式中使用變數時,它會被其值或變數定義所取代。

範例:  

變數 x 包含文字字串 Sum(Sales)

在圖表中,您定義了運算式 $(x)/12。它的作用和圖表運算式 Sum(Sales)/12 一樣。

然而,如果您將變數 x 的值變更為例如 Sum(Budget),則會立即重新計算圖表中的資料,並將運算式解釋為 Sum(Budget)/12

提示備註使用運算式中的變數時,您只需編輯變數,即可同步變更圖表範圍中使用的運算式。

如何解譯名稱

不建議將變數命名為與 Qlik Sense 中某個欄位或函數相同的名稱。 但是如果您這樣做,則必須知道如何在運算式中使用它們。

範例:  

字串 XXX 代表欄位、變數、函數或量值。XXX 將根據您建立運算式的方式,解譯為其中一個。

如何解譯名稱的範例
運算式 XXX 解譯為
XXX 量值、變數或欄位
$(XXX) 變數
Count(XXX) 欄位或變數
XXX() 函數

命名實體時,避免將相同名稱指派至多個欄位、變數或量值。解決名稱相同的實體之間的衝突時有嚴格的優先順序。此順序反映在使用這些實體的任何物件或內容中。此優先順序如下:

  • 在彙總內部,欄位優先於變數。量值標籤在彙總中不相關,沒有優先度。

  • 在彙總外部,量值標籤優先於變數,結果會優先於欄位名稱。

  • 此外,在彙總外部,可以參考其標籤以重新使用量值,除非該標籤實際上是計算出的標籤。在該情況下,量值的重要性會下降,以降低自行參考的風險,在此情況下,首先會一律將名稱解譯為量值標籤,第二會解譯為欄位名稱,第三會解譯為變數名稱。

變數計算

有數種方法可搭配使用變數與 Qlik Sense 中計算的值,則結果會取決於您定義它的方式,以及您在運算式中調用它的方式。

此範例需要在資料載入編輯器中載入下列資料。

LOAD * INLINE [ Dim, Sales A, 150 A, 200 B, 240 B, 230 C, 410 C, 330 ];

 

讓我們從變數對話方塊中定義兩個變數:

  • 名稱 vSales 定義'Sum(Sales)'
  • 名稱 vSales2 定義'=Sum(Sales)'

在第二個變數中,我們在運算式之前新增等號。這將導致在變數展開之前對它進行計算,並且會評估運算式。

如果您按原樣使用 vSales 變數,那麼在量值中該結果將是字串 Sum(Sales),也就是說,不會執行任何計算。

如果您新增貨幣符號展開,並在運算式中調用 $(vSales),則會展開變數,並顯示 Sales 的總和。

最終,如果您調用 $(vSales2),則會在變數展開之前對它進行計算。這表示所顯示的結果是 Sales 的總和。使用 =$(vSales)=$(vSales2) 作為量值運算式之間的差異可在此圖表中看到,顯示結果:

結果
Dim $(vSales) $(vSales2)
A 350 1560
B 470 1560
C 740 1560

如您可以看到的,$(vSales) 產生維度值的部分總和,而 $(vSales2) 結果產生總和。

此頁面是否對您有幫助?

若您發現此頁面或其內容有任何問題——錯字、遺漏步驟或技術錯誤——請告知我們可以如何改善!