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

Previous - 指令碼函數

Previous() 使用來自先前輸入記錄的資料,找到 expr 運算式的值。在內部表格的第一筆記錄中,此函數會傳回 NULL

語法:  

Previous(expr)

傳回的資料類型: 雙值

引數:  

Previous 引數
引數 描述
expr 包含待測量資料的運算式或欄位。

運算式可以包含巢狀 previous() 函數,以存取更早之前的記錄。資料是直接擷取自輸入來源,因此也可參考尚未載入 QlikView 的欄位,即尚未儲存在關聯資料庫中的欄位。

限制:  

在內部表格的第一筆記錄中,此函數會傳回 NULL

範例 1:  

Sales2013:

Load *, (Sales - Previous(Sales) )as Increase Inline [

Month|Sales

1|12

2|13

3|15

4|17

5|21

6|21

7|22

8|23

9|32

10|35

11|40

12|41

] (delimiter is '|');

 

透過使用 Load 陳述式中的 Previous() 函數,我們可以比較 Sales 的目前值與前置值,並將它用在第三個欄位 Increase 中。

範例 1 結果
Month Sales Increase
1 12 -
2 13 1
3 15 2
4 17 2
5 21 4
6 21 0
7 22 1
8 23 1
9 32 9
10 35 3
11 40 5
12 41 1

範例 2:  

Sales2013:

Load * Inline [

Month|Sales

1|12

2|13

3|15

4|17

5|21

6|21

7|22

8|23

9|32

10|35

11|40

12|41

] (delimiter is '|');

 

Sales:

NoConcatenate Load *, (Sales - Previous(Sales) )as Increase Resident Sales2013 where Month > 6;

 

Drop Table Sales2013;

 

在此範例中,我們使用 WHERE 子句,排除了 Month 為 6 或更少的記錄。這仍然可以使用 Previous(),因為函數可以參考從載入中排除的資料。

在此情況下, Increase 對於 Month=7 的計算參考了已從載入中排除的 Month=6Sales 值。

範例 2 結果
Month Sales Increase
7 22 1
8 23 1
9 32 9
10 35 3
11 40 5
12 41 1

瞭解更多資訊

 

此頁面是否對您有幫助?

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

加入分析現代化計畫

Remove banner from view

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