데이터 로드 편집기에서 변수를 사용하여 작업
Qlik Sense의 변수는 숫자 값 또는 영숫자 값 등의 정적 값이나 계산을 저장하는 컨테이너입니다. 앱에서 변수를 사용하면 변수에 대한 변경 내용이 변수가 사용되는 모든 곳에 적용됩니다. 변수는 변수 개요에서 정의하거나 데이터 로드 편집기를 사용하여 스크립트에서 정의할 수 있습니다. 데이터 로드 편집기에서 Let 또는 Set 문을 사용하여 변수 값을 설정합니다.
개요
변수 값의 첫 번째 문자가 등호 '='인 경우 Qlik Sense는 실제 수식 텍스트를 그대로 사용하지 않고 수식(Qlik Sense 표현식)을 값으로 평가한 후 그 결과를 표시하거나 반환합니다.
이를 사용하면 변수가 그 값으로 대체됩니다. 변수는 스크립트에서 달러 기호 확장 및 다양한 제어 문에 사용할 수 있습니다. 이 변수는 스크립트에서 동일한 문자열이 여러 번 반복되는 경우(예: 경로) 매우 유용합니다.
스크립트 실행이 시작될 때 Qlik Sense에서 이전 값에 관계없이 일부 특수 시스템 변수를 설정합니다.
변수 정의
변수는 정적 값 또는 계산 결과를 저장하는 기능을 제공합니다. 변수를 정의할 때 다음 구문을 사용합니다.
또는
let variable = expression
Set 문은 문자열 할당에 사용됩니다. 등호 오른쪽에 있는 텍스트를 변수에 할당합니다. Let 문은 스크립트 런타임에 등호 오른쪽에 있는 표현식을 평가하고 표현식의 결과를 변수에 할당합니다.
변수는 대/소문자가 구분됩니다.
set x = 3 + 4; // 변수는 문자열 '3 + 4'를 값으로 가져옵니다.
let x = 3 + 4; //는 7을 값으로 반환합니다.
set x = Today(); //는 'Today()'를 값으로 반환합니다.
let x = Today(); //는 오늘 날짜를 값으로 반환합니다(예: '9/27/2021').
변수 삭제
스크립트에서 변수를 제거하고 데이터를 다시 로드하면 변수가 앱에서 그대로 유지됩니다. 앱에서 해당 변수를 완전히 제거하려면 변수 대화 상자에서도 삭제해야 합니다.
자세한 내용은 변수 삭제를 참조하십시오.
변수 값을 필드 값으로 로드
LOAD 문에서 변수 값을 필드 값으로 로드하려는 경우 달러 기호 확장의 결과가 숫자 또는 표현식이 아닌 텍스트이면 확장된 변수를 작은따옴표로 묶어야 합니다.
이 예에서는 스크립트 오류 목록이 포함된 시스템 변수를 테이블에 로드합니다. ScriptErrorList의 확장에는 따옴표가 필요하지만 If 절의 ScriptErrorCount의 확장에는 따옴표가 필요 없다는 점에 주의하십시오.
변수 계산
Qlik Sense에서 계산된 값이 있는 변수를 사용하는 방법은 여러 가지가 있으며, 결과는 변수 정의 방법과 표현식에서 호출하는 방법에 따라 달라집니다.
이 예에서는 일부 인라인 데이터를 로드합니다.
두 개의 변수를 정의하기로 합니다.
두 번째 변수에서 표현식 앞에 등호를 추가합니다. 이로서 변수가 확장되고 식이 평가되기 전에 변수가 계산됩니다.
vSales 변수를 그대로 사용하는 경우 측정값 등에서 결과는 문자열 Sum(Sales)로 표시됩니다. 즉, 계산이 수행되지 않습니다.
달러 기호 확장 및 $(vSales) 호출을 표현식에 추가하면 변수가 확장되고 Sales의 합계가 표시됩니다.
마지막으로 $(vSales2)를 호출하면 확장 전에 변수가 계산됩니다. 따라서 표시된 결과는 Sales의 총계입니다. =$(vSales) 및 =$(vSales2)를 측정값 표현식으로 사용했을 때의 차이점은 이 차트에 표시된 결과로 알 수 있습니다.
Dim | $(vSales) | $(vSales2) |
---|---|---|
A | 350 | 1560 |
B | 470 | 1560 |
C | 740 | 1560 |
표시된 대로 $(vSales)는 차원 값의 부분합이 계산되고 $(vSales2)는 총합이 계산됩니다.
다음과 같은 스크립트 변수를 사용할 수 있습니다.