표현식에서 변수를 사용한 예
Qlik Sense에서 변수는 데이터 값을 포함하는 명명된 엔터티입니다. 변수가 표현식에서 사용되는 경우, 해당 값 또는 변수의 정의로 대체됩니다.
변수 x에는 텍스트 문자열 Sum(Sales)가 포함되어 있습니다.
차트에서 표현식 $(x)/12를 정의합니다. 그 결과는 차트 표현식 Sum(Sales)/12와 정확하게 동일합니다.
그러나 변수 x의 값을 Sum(Budget) 등으로 변경하면 차트의 데이터는 Sum(Budget)/12로 해석되는 표현식을 사용하여 즉시 다시 계산됩니다.
이름 해석 방법
Qlik Sense의 필드 또는 함수와 동일하게 변수 이름을 지정하지 않는 것이 좋습니다. 그러나 동일하게 사용할 경우는 표현식에서 사용하는 방법을 알아야 합니다.
문자열 XXX는 필드, 변수, 함수 또는 측정값을 나타냅니다. XXX는 사용자가 표현식을 만드는 방법에 따라 다음 중 하나로 해석됩니다.
표현식 | XXX 해석 방법 |
---|---|
XXX | 측정값, 변수 또는 필드 |
$(XXX) | 변수 |
Count(XXX) | 필드 또는 변수 |
XXX() | 함수 |
엔터티 이름을 지정할 때 둘 이상의 필드, 변수 또는 측정값에 동일한 이름을 지정하지 마십시오. 동일한 이름을 가진 엔터티 간의 충돌을 해결하기 위한 엄격한 우선 순위가 있습니다. 이 순서는 이러한 엔터티가 사용되는 모든 개체 또는 컨텍스트에 반영됩니다. 이 우선 순위는 다음과 같습니다.
-
집계 내에서 필드는 변수보다 우선합니다. 측정값 레이블은 집계와 관련이 없으며 우선 순위가 지정되지 않습니다.
-
집계 외부에서 측정값 레이블은 변수보다 우선 순위가 높으며, 이 변수는 필드 이름보다 우선합니다.
-
또한 집계 외부에서 레이블이 실제로 계산된 것이 아닌 한 해당 레이블을 참조하여 측정값을 재사용할 수 있습니다. 이 경우 자체 참조의 위험을 줄이기 위해 측정값의 중요성이 떨어지며, 이 경우 이름은 항상 첫 번째는 측정값 레이블, 두 번째는 필드 이름, 세 번째는 변수 이름으로 해석됩니다.
변수 계산
Qlik Sense에서 계산된 값이 있는 변수를 사용하는 방법은 여러 가지가 있으며, 결과는 변수 정의 방법과 표현식에서 호출하는 방법에 따라 달라집니다.
이 예에서는 데이터 로드 편집기에 다음 데이터가 로드되어야 합니다.
변수 대화 상자에서 두 개의 변수를 정의하겠습니다.
- 이름 vSales 정의'Sum(Sales)'
- 이름 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)는 총합이 계산됩니다.