필드, 측정값 및 변수에 대한 참조
표현식에는 필드, 변수 및 측정값에 대한 참조가 포함될 수 있습니다.
대부분의 경우, 표현식은 잠재적으로 여러 레코드에 걸쳐 계산될 수 있는 집계입니다. 즉, 표현식의 모든 필드 참조는 집계 함수로 래핑해야 합니다. 집계 함수를 사용하지 않으면 Only() 함수가 사용됩니다.
표현식 내에서 측정값 이름을 사용하면 측정값의 별칭으로 해석됩니다. 이를 통해 이미 정의된 엔터티를 재사용할 수 있습니다. 이러한 방식으로 마스터 측정값 및 차트 측정값의 레이블을 사용할 수 있습니다. 그러나 차트 측정값은 동일한 차트에 있어야 합니다. 다른 차트에서는 측정값 레이블을 사용할 수 없습니다.
측정값을 재귀적으로 정의할 수 있습니다. 즉, 측정값은 자신에 대한 참조를 포함할 수 있습니다. 그러나 행이 적은 차트에서만 이 작업을 수행해야 합니다. 차트에 행이 많으면 성능이 저하됩니다. 수백 개의 행이 있는 경우 재귀적 정의로 인해 모두 작동이 중지될 수 있습니다.
변수는 직접 참조 또는 달러 확장에서 두 가지 다른 방법으로 사용할 수 있습니다. 직접 참조를 사용하는 경우 변수 값이 계산에 사용됩니다. 달러 확장을 사용하는 경우 표현식이 구문 분석되기 전에 전체 달러 확장이 변수 값으로 대체됩니다. 따라서 두 가지 다른 방법은 서로 다른 결과를 반환할 수 있습니다.
이름 해석 방법
표현식 내의 이름은 필드, 변수, 함수 또는 측정값에 대한 참조일 수 있습니다. 상황에 따라 이름이 다르게 해석됩니다.
문자열 XXX는 필드, 변수, 함수 또는 측정값을 나타냅니다. XXX는 사용자가 표현식을 만드는 방법에 따라 다음 중 하나로 해석됩니다.
표현식 | XXX 해석 방법 |
---|---|
XXX | 측정값, 변수 또는 필드 |
$(XXX) | 변수 |
Count(XXX) | 필드 또는 변수 |
XXX() | 함수 |
필드와 변수(또는 측정값)에 동일한 이름을 사용해서는 안 됩니다. 그러나 동일한 이름을 사용한 것 같은 경우 다음 우선 순위가 적용됩니다.
-
집계 함수 내에서 이름이 있으면 필드가 변수보다 우선합니다.
-
집계 함수 외에서 이름이 있으면 측정값 레이블이 변수 이름보다 우선하고 필드 이름보다 우선합니다.
표현식에 대한 규칙
다음 규칙은 차트 표현식에 적용됩니다.
-
필드 참조가 집계 함수로 래핑되지 않은 경우 엔진에서 Only() 함수를 사용합니다.
-
모든 표현식은 숫자 및/또는 문자열 중 적절한 항목을 반환합니다.
-
논리 함수 및 연산자는 False에 대해 0, True에 대해 -1을 반환합니다. 숫자를 문자열로 변환하는 것과 문자열을 숫자로 변환하는 것은 암시적입니다.
-
논리 연산자와 함수는 0을 False로 해석하며 그 외 모든 것을 True로 해석합니다.
-
예를 들어 잘못된 매개 변수 또는 함수의 결과로 올바르게 평가될 수 없는 표현식은 NULL을 반환합니다.