Previous - 스크립트 함수
Previous()는 이전 입력 레코드의 데이터를 사용하여 expr 표현식의 값을 찾습니다. 이 함수는 내부 테이블의 첫 번째 레코드에 대해 NULL을 반환합니다.
구문:
Previous(expr)
반환 데이터 유형: dual
인수:
인수 | 설명 |
---|---|
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에서 사용할 수 있습니다.
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()를 함수로 사용하여 로드에서 제외된 데이터를 참조할 수 있습니다.
이 경우 Month=7에 대한 Increase의 계산은 Month=6에 대한 Sales 값(로드에서 제외된 값)을 참조합니다.
Month | Sales | Increase |
---|---|---|
7 | 22 | 1 |
8 | 23 | 1 |
9 | 32 | 9 |
10 | 35 | 3 |
11 | 40 | 5 |
12 | 41 | 1 |