데이터 로드 편집기에서 변수를 사용하여 작업

Qlik Sense의 변수는 숫자 값 또는 영숫자 값 등의 정적 값이나 계산을 저장하는 컨테이너입니다. 앱에서 변수를 사용하면 변수에 대한 변경 내용이 변수가 사용되는 모든 곳에 적용됩니다. 변수는 변수 개요에서 정의하거나 데이터 로드 편집기를 사용하여 스크립트에서 정의할 수 있습니다. 데이터 로드 편집기에서 Let 또는 Set 문을 사용하여 변수 값을 설정합니다.

팁: 시트 편집 시 변수 개요에서 Qlik Sense 변수를 사용하여 작업할 수도 있습니다. 표현식에서 변수 사용

개요

변수 값의 첫 번째 문자가 등호 '='인 경우 Qlik Sense는 실제 수식 텍스트를 그대로 사용하지 않고 수식(Qlik Sense 표현식)을 값으로 평가한 후 그 결과를 표시하거나 반환합니다.

이를 사용하면 변수가 그 값으로 대체됩니다. 변수는 스크립트에서 달러 기호 확장 및 다양한 제어 문에 사용할 수 있습니다. 이 변수는 스크립트에서 동일한 문자열이 여러 번 반복되는 경우(예: 경로) 매우 유용합니다.

스크립트 실행이 시작될 때 Qlik Sense에서 이전 값에 관계없이 일부 특수 시스템 변수를 설정합니다.

변수 정의

변수를 정의하는 경우, 구문은 다음과 같습니다.

set variablename = string

또는

let variable = expression

위와 같은 구문이 사용됩니다. Set 명령은 텍스트를 변수의 등호 기호 오른쪽에 할당하는 반면 Let 명령은 표현식을 평가합니다.

변수는 대/소문자가 구분됩니다.

참고: Qlik Sense의 필드 또는 함수와 동일하게 변수 이름을 지정하지 않는 것이 좋습니다.

Examples:  

set HidePrefix = $ ; // 변수가 문자 '$'를 값으로 가집니다.

let vToday = Num(Today()); // 오늘의 날짜 일련 번호를 반환합니다.

변수 삭제

스크립트에서 변수를 제거하고 데이터를 다시 로드하면 변수가 앱에서 그대로 유지됩니다. 앱에서 해당 변수를 완전히 제거하려면 변수 개요에서도 삭제해야 합니다.

자세한 내용은 변수 삭제를 참조하십시오.

변수 값을 필드 값으로 로드

LOAD 문에서 변수 값을 필드 값으로 로드하려는 경우 달러 기호 확장의 결과가 숫자 또는 표현식이 아닌 텍스트이면 확장된 변수를 작은따옴표로 묶어야 합니다.

Example:  

이 예에서는 스크립트 오류 목록이 포함된 시스템 변수를 테이블에 로드합니다. ScriptErrorList의 확장에는 따옴표가 필요하지만 If 절의 ScriptErrorCount의 확장에는 따옴표가 필요 없다는 점에 주의하십시오.

IF $(ScriptErrorCount) >= 1 THEN
LOAD '$(ScriptErrorList)' AS Error AutoGenerate 1; END IF

변수 계산

Qlik Sense에서 계산된 값이 있는 변수를 사용하는 방법은 여러 가지가 있으며, 결과는 변수 정의 방법과 표현식에서 호출하는 방법에 따라 달라집니다.

이 예에서는 일부 인라인 데이터를 로드합니다.

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)를 측정값 표현식으로 사용했을 때의 차이점은 이 차트에 표시된 결과로 알 수 있습니다.

결과
Dim $(vSales) $(vSales2)
A 350 1560
B 470 1560
C 740 1560

표시된 대로 $(vSales)는 차원 값의 부분합이 계산되고 $(vSales2)는 총합이 계산됩니다.