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

指令碼變數

QlikView 中的變數是用於儲存靜態值或計算的容器,例如數值或英數字元值。在文件中使用變數時,對變數進行的任何變更都會套用至所有使用的變數。 使用指令碼編輯器在指令碼中定義變數,其中變數從載入指令碼中的 LetSet 或其他控制陳述式中取得其值。

如果變數值的第一個字元為等號「=」,QlikView 會嘗試將值評估為公式 (QlikView 運算式),然後顯示或傳回結果,而非傳回實際的公式文字。

使用時,變數值會替代其變數。變數可用於指令碼中以用作貨幣符號展開,也可用於各種控制陳述式中。如果相同的字串在指令碼中重複多次 (如路徑),這就非常適用。

QlikView 會在指令碼執行的開端,設定某些特別的系統變數,而不論其先前的值為何。

定義變數時,會使用下列的語法:

set variablename = string

or

let variable = expression

is used.Set 命令將文字指派給變數等號右側,然而 Let 命令會評估運算式。

變數會區分大小寫。

範例:  

set HidePrefix = $ ; // 變數會取得字元 '$' 作為值。

let vToday = Num(Today()); // 傳回今天的日期序號。

變數計算

有數種方法來搭配使用變數與 QlikView 中計算的值,結果取決於您如何定義它,以及您如何在運算式中呼叫它。

在此範例中,我們載入部分內嵌資料:

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

讓我們定義兩個變數:

Let vSales = 'Sum(Sales)' ;
Let vSales2 = '=Sum(Sales)' ;

在第二個變數中,我們在運算式之前新增等號。這將造成變數在展開之前予以計算,並評估運算式。

如果您按原樣使用 vSales 變數,例如在測量中,結果將是字串 Sum(Sales),即不執行任何計算。

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

最終,如果您呼叫 $(vSales2),則在展開變數之前對其進行計算。這表示所顯示結果是 Sales 的總和加總。將 =$(vSales)=$(vSales2) 用作測量運算式的差異顯示在此圖表中,顯示下列結果:

Example results
Dim$(vSales)$(vSales2)
A3501560
B4701560
C7401560

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

瞭解更多資訊

 

此頁面是否對您有幫助?

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

加入分析現代化計畫

Remove banner from view

透過分析現代化程式進行現代化而不犧牲寶貴的 QlikView 應用程式。 按一下這裡 取得更多資訊或聯繫: ampquestions@qlik.com