VAR
식의 결과를 명명된 변수로 저장한 다음 다른 측정값 식에 인수로 전달할 수 있습니다. 일단 변수 식에 대한 결과 값이 계산되면 변수가 다른 식에서 참조되더라도 해당 값은 변경되지 않습니다.
구문
VAR <name> = <expression>
매개 변수
용어 | 정의 |
---|---|
name | 변수(식별자)의 이름입니다. 구분 기호는 지원되지 않습니다. 예를 들어 'varName' 또는 [varName]에서 오류가 발생합니다. 지원되는 문자 집합: a-z, A-Z, 0-9. 0-9는 첫 번째 문자로 유효하지 않습니다. __(이중 밑줄)는 식별자 이름의 접두사로 허용됩니다. 다른 특수 문자는 지원되지 않습니다. 예약된 키워드(keyword) 허용되지 않습니다. 기존 테이블의 이름은 허용되지 않습니다. 빈 공간은 허용되지 않습니다. |
식 | 스칼라 또는 테이블 값을 반환하는 DAX 식입니다. |
반환 값
식 인수의 결과를 포함하는 명명된 변수입니다.
설명
VAR에 인수로 전달된 식에는 다른 VAR 선언이 포함될 수 있습니다.
변수를 참조하는 경우:
- 측정값은 측정값 식 외부에 정의된 변수를 참조할 수 없지만 식 내에 정의된 함수 범위 변수를 참조할 수 있습니다.
- 변수는 측정값을 참조할 수 있습니다.
- 변수는 이전에 정의된 변수를 참조할 수 있습니다.
- TableName[ColumnName] 구문을 통해 테이블 변수의 열을 참조할 수 없습니다.
VAR을 사용하는 경우 모범 사례는 변수를 사용하여 DAX 수식을 개선하는 방법을 참조 하세요.
DAX 쿼리 내에서 VAR을 사용하는 방법에 대한 자세한 내용은 DAX 쿼리를 참조하세요.
예시
변수를 사용하지 않고 전년 대비 증가율을 계산하려면 세 개의 별도 측정값을 만들 수 있습니다. 이 첫 번째 측정값은 판매액 합계를 계산합니다.
Sum of SalesAmount = SUM(SalesTable[SalesAmount])
두 번째 측정값은 이전 연도의 판매액을 계산합니다.
SalesAmount PreviousYear =
CALCULATE([Sum of SalesAmount],
SAMEPERIODLASTYEAR(Calendar[Date])
)
그런 다음 다른 두 측정값을 결합하여 증가율을 계산하는 세 번째 측정값을 만들 수 있습니다. SalesAmount의 합계 측정값은 두 곳에서 사용됩니다. 먼저 판매가 있는지 확인한 다음 다시 백분율을 계산합니다.
Sum of SalesAmount YoY%: =
IF([Sum of SalesAmount] ,
DIVIDE(([Sum of SalesAmount] – [SalesAmount PreviousYear]), [Sum of SalesAmount])
)
변수를 사용하여 동일한 결과를 계산하는 단일 측정값을 만들 수 있습니다.
YoY% =
VAR Sales =
SUM(SalesTable[SalesAmount])
VAR SalesLastYear =
CALCULATE ( SUM ( SalesTable[SalesAmount] ), SAMEPERIODLASTYEAR ( 'Calendar'[Date] ) )
return if(Sales, DIVIDE(Sales – SalesLastYear, Sales))
변수를 사용하면 동일한 결과를 얻을 수 있지만 더 읽기 쉬운 방식으로 얻을 수 있습니다. 식의 결과가 변수에 저장되기 때문에 변수를 사용할 때마다 다시 계산할 필요가 없으므로 측정값의 성능이 크게 향상될 수 있습니다.