표현식에서 변수를 사용한 예
Qlik Sense에서 변수는 데이터 값을 포함하는 명명된 엔터티입니다. 변수가 표현식에서 사용되는 경우, 해당 값 또는 변수의 정의로 대체됩니다.
표현식에서 변수를 사용하는 방법
변수는 두 가지 다른 방법(직접 참조 또는 달러 기호 확장)으로 사용될 수 있습니다. 직접 참조를 사용하는 경우 변수 값이 계산에 사용됩니다. 달러 기호 확장을 사용하는 경우 표현식이 구문 분석되기 전에 달러 기호 확장 전체가 변수 값으로 바뀝니다. 따라서 두 가지 다른 방법은 서로 다른 결과를 반환할 수 있습니다.
예: 달러 기호 확장을 사용한 변수 사용
변수 x에는 텍스트 문자열 Sum(Sales)가 포함되어 있습니다.
차트에서는 $(x)/12 표현식을 정의합니다. 효과는 차트 표현식 Sum(Sales)/12와 정확하게 동일합니다.
그러나 변수 x의 값을 Sum(Budget) 등으로 변경하면 차트의 데이터는 표현식이 Sum(Budget)/12로 해석되어 즉시 다시 계산됩니다.
예: 피벗 테이블의 달러 기호 확장이 있는 변수
다음 내용이 포함된 피벗 테이블 또는 피벗 개체가 있다고 가정해 보겠습니다.
-
차원은 Product Type 및 Product Name입니다.
-
측정값은 Sum(Sales) 및 Count (distinct InvoiceNumber)입니다.
-
열 아래의 항목은 값(기본값) 및 필드 Quarter입니다.
변수를 사용하여 대화형 분석을 권고할 수 있습니다. 또한 빈 정의가 있는 변수 vUserInteraction을 만든다고 가정해 보겠습니다. 그런 다음 시트에 변수 값 설정 작업으로 구성된 두 개의 버튼 차트를 만듭니다.
-
자세한 내용 표시: 이 버튼을 클릭하면 vUserInteraction이 ='Yes' 값으로 설정됩니다.
-
자세한 내용 숨기기: 이 버튼을 클릭하면 vUserInteraction이 ='No' 값으로 설정됩니다.
피벗 테이블에서 Count(Quantity) 및 Sum(Cost)와 같은 다양한 추가 측정값을 차트에 추가할 수 있습니다. 그런 다음 각 측정값 열이 열 표시(조건 충족 시)에 대해 다음 값을 갖도록 구성합니다.
'$(Reference)'='Yes'
이를 통해 사용자가 추가 정보를 원하는지 여부에 따라 차트가 조정됩니다. 사용자가 자세한 내용 표시 버튼을 클릭하면 추가 측정값이 표에 추가됩니다. 그렇지 않은 경우 또는 자세한 내용 숨기기를 클릭하면 추가 측정값이 제거됩니다.
추가 예: 달러 기호 확장에서 변수 사용
달러 기호 확장은 Qlik Sense의 다용도의 강력한 도구로 다양하게 사용할 수 있습니다. 더 많은 예를 보려면 달러 기호 확장를 참조하십시오.
예: 표현식에서 변수를 직접 참조
변수를 직접 참조로 사용하는 것은 덜 일반적이지만 여전히 유용합니다. 예:
데이터 모델에 트랜잭션에 대한 무료 문자 요약이 포함된 필드 TransactionSummary가 있다고 가정해 보겠습니다. 이 필드에는 트랜잭션에 대한 보충 정보가 포함될 수 있습니다. 예를 들어, 트랜잭션 요약에는 고객이 매장 크레딧으로 품목을 구매했다는 사실을 문서화하거나 판매 중에 발생한 문제를 문서화할 수 있습니다.
앱에서 TransactionSummary를 사용하려고 할 수도 있지만, 데이터 모델이나 로드 스크립트에 영향을 주지 않고 차트의 다른 곳에 저장하지 않고도 데이터를 컨텍스트에 맞게 넣으려고 할 수 있습니다.
다음과 같이 할 수 있습니다.
변수 대화 상자에서 다음 정의를 사용하여 vIntroStatement라는 이름의 변수를 만듭니다.
='The following summary was provided by the vendor: '
다음 측정값을 텍스트 및 이미지 차트에 추가합니다.
vIntroStatement & TransactionSummary
도입문을 변수로 저장하면 값의 중앙에서 제어하여 사용할 수 있습니다. 예를 들어, 변수 vIntroStatement은 여러 차트와 여러 다른 측정값 내에서 사용될 수 있습니다(예를 들어, 트랜잭션 중에 판매된 단위 수를 설명하는 텍스트가 포함된 별도의 차트가 있을 수 있음). 변수를 사용하면 앱에서 표현식을 업데이트하는 과정을 간소화할 수 있습니다. 문구를 변경하려면 변수를 업데이트하기만 하면 변경 내용이 앱 전체에 반영됩니다.
이름 해석 방법
Qlik Sense의 필드 또는 함수와 동일하게 변수 이름을 지정하지 않는 것이 좋습니다. 그러나 동일하게 사용할 경우는 표현식에서 사용하는 방법을 알아야 합니다.
문자열 XXX는 필드, 변수, 함수 또는 측정값을 나타냅니다. XXX는 사용자가 표현식을 만드는 방법에 따라 다음 중 하나로 해석됩니다.
표현식 | XXX 해석 방법 |
---|---|
XXX | 측정값, 변수 또는 필드 |
$(XXX) | 변수 |
Count(XXX) | 필드 또는 변수 |
XXX() | 함수 |
엔터티 이름을 지정할 때 둘 이상의 필드, 변수 또는 측정값에 동일한 이름을 지정하지 마십시오. 동일한 이름을 가진 엔터티 간의 충돌을 해결하기 위한 엄격한 우선 순위가 있습니다. 이 순서는 이러한 엔터티가 사용되는 모든 개체 또는 컨텍스트에 반영됩니다. 이 우선 순위는 다음과 같습니다.
집계 내에서 필드는 변수보다 우선합니다. 측정값 레이블은 집계와 관련이 없으며 우선 순위가 지정되지 않습니다.
집계 외부에서 측정값 레이블은 변수보다 우선 순위가 높으며, 이 변수는 필드 이름보다 우선합니다.
또한 집계 외부에서 레이블이 실제로 계산된 것이 아닌 한 해당 레이블을 참조하여 측정값을 재사용할 수 있습니다. 이 경우 자체 참조의 위험을 줄이기 위해 측정값의 중요성이 떨어지며, 이 경우 이름은 항상 첫 번째는 측정값 레이블, 두 번째는 필드 이름, 세 번째는 변수 이름으로 해석됩니다.
모범 사례로, 앱에서 만든 변수에 대해 표준화된 명명 규칙을 사용하는 것이 좋습니다. 예를 들어, 모든 변수 이름이 v로 시작하도록 할 수 있습니다. 예: vUserText. 이를 통해 변수가 변수로 빠르게 인식되고 측정값, 필드, 함수와 구별되는 데 도움이 됩니다.
변수 계산
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)는 총합이 계산됩니다.