CalcDim - 차트 함수
차원 표현식에 사용되는 경우 CalcDim()은 내부적으로 표현식을 처리하는 방법에 대한 엔진의 자동 해석을 재정의합니다. 특히 이 함수는 데이터 모델에 새로운 내부 필드가 만들어지는 것을 방지합니다. 대신, 앱에서의 선택 항목은 원본 데이터 모델의 해당 필드에서 선택한 항목으로 처리됩니다.
이 함수는 로드 스크립트에서 사용할 수 없습니다. 또한, 시스템 성능을 위한 모범 사례는 가능한 경우 로드 스크립트를 통해 계산 차원에서 사용되는 필드를 논리 필드로 로드하는 것입니다. CalcDim()은 스크립트에서 계산 필드를 로드하는 것이 불가능한 시나리오에서 엔진 동작을 제어하는 방법을 제공합니다.
Qlik Sense에서 차원 표현식은 기본적으로 즉석 필드로 실현됩니다. 즉, 현재 선택 막대에 표시되는 실제 필드로 요구에 따라 구축됩니다. 이 필드에는 스크립트의 모든 논리 필드와 마찬가지로 선택 항목이 적용되고 추론됩니다.
CalcDim()으로 래핑된 표현식은 QlikView에서 작동하는 모든 계산 차원 표현식과 동일한 방식으로 동작합니다. 즉, 계산된 값을 기본 소스 필드 값에 임시로 매핑하는 것입니다. 계산 차원은 해당 필드 즉시 계산보다 데이터 모델에 따라 더 적은 요구 사항을 충족해야 하므로 CalcDim() 함수를 사용하여 모든 필드 즉시 계산을 계산 차원으로 전송할 수 있습니다. 이러한 변환은 모든 계산 차원에 대해 유사한 동작을 보장하기 위해 바람직할 수 있습니다. 데이터 모델이 어떤 경우에는 필드 즉시 계산을 사용하지 못하게 하지만 다른 경우에는 그렇지 않을 수 있기 때문입니다.
구문:
CalcDim(expr)
반환 데이터 유형: 이중
| 인수 | 설명 |
|---|---|
| expr |
차원 또는 차원 표현식 내의 세그먼트로 사용되는 표현식. |
CalcDim를 사용하는 경우
CalcDim()은 차원 표현식에서 호출하는 필드를 Qlik 엔진이 처리하는 방식을 더 많이 제어해야 할 때 유용합니다.
기본적으로 Qlik Sense는 사용자 지정 차원 표현식을 사용할 때 데이터 모델에서 내부 필드를 만들고 참조할지 여부를 자동으로 결정합니다. Qlik Sense는 가능할 때마다 이러한 내부 필드를 만들고 사용합니다. 가능하지 않은 경우, 표현식은 해당 표현식이 의존하는 기존 데이터 모델 필드를 참조하여 처리됩니다.
사용 사례에 따라서는 이러한 자동 처리가 항상 바람직하지 않을 수도 있습니다. 예를 들어, 차원 표현식에서 변수를 사용하는 경우 새 필드가 자동으로 만들어지면 문제가 될 수 있습니다. 이 경우 CalcDim()을 사용하여 이 메서드 없이 강제로 표현식을 처리합니다.
일반적인 사용 사례는 다음과 같습니다.
-
QlikView 콘텐츠를 Qlik Sense로 마이그레이션했으며 계산 차원에 대한 QlikView 처리 방법을 보존하려고 합니다.
-
앱에서 선택 동작을 간소화하려고 합니다. 예를 들어, 필드 선택 항목을 새 필드의 선택 항목 대신 원래 데이터 모델의 필드의 선택 항목으로 표시하는 것을 선호할 수 있습니다.
-
사용자의 사용 사례에는 일관성과 성능을 위해 임시 표현식이 필요합니다. 예를 들어, 차원 표현식에 제어 가능한 서식, 차단 값 또는 기간과 같은 사용자가 제어할 수 있는 동적 시각화 매개 변수가 포함되어 있는 경우입니다.
| 예제 | 결과 |
|---|---|
| =CalcDim(if(Year < 2023, 'Older', Year)) |
이 차원을 사용하는 시각화에서 선택을 하면 해당 선택 항목이 처리되어 데이터 모델의 연관된 Year 필드 값에 표시됩니다. 반대로, 표현식을 CalcDim()으로 래핑하지 않는다고 가정해 보겠습니다. 이 경우에는 다음과 같습니다. =if(Year < 2023, 'Older', Year) 위 표현식에서 선택을 하면 데이터 모델에 없는 내부 필드 =if(Year < 2023, 'Older', Year)에서 선택으로 처리되어 표시됩니다. |