VAR
식의 결과를 명명된 변수로 저장한 다음 다른 측정값 식에 인수로 전달할 수 있습니다. 변수 식에 대해 결과 값을 계산한 후에는 변수가 다른 식에서 참조되더라도 해당 값은 변경되지 않습니다.
통사론
VAR <name> = <expression>
매개 변수
학기 | 정의 |
---|---|
name |
변수(식별자)의 이름입니다. 구분 기호는 지원되지 않습니다. 예를 들어 'varName' 또는 [varName]에서 오류가 발생합니다. 지원되는 문자 집합: a-z, A-Z, 0-9. 0-9는 첫 번째 문자로 유효하지 않습니다. __(이중 밑줄)는 식별자 이름의 접두사로 허용됩니다. 다른 특수 문자는 지원되지 않습니다. 예약된 키워드는 허용되지 않습니다. 기존 테이블의 이름은 허용되지 않습니다. 빈 공간은 허용되지 않습니다. |
expression |
스칼라 또는 테이블 값을 반환하는 DAX 식입니다. |
반환 값
식 인수의 결과를 포함하는 명명된 변수입니다.
발언
VAR 인수로 전달된 식은 다른 VAR 선언을 포함할 수 있습니다.
변수를 참조하는 경우:
- 측정값은 측정값 식 외부에 정의된 변수를 참조할 수 없지만 식 내에 정의된 함수 범위 변수를 참조할 수 있습니다.
- 변수는 측정값을 참조할 수 있습니다.
- 변수는 이전에 정의된 변수를 참조할 수 있습니다.
- TableName[ColumnName] 구문을 통해 테이블 변수의 열을 참조할 수 없습니다.
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))
변수를 사용하면 동일한 결과를 얻을 수 있지만 더 읽기 쉬운 방식으로 얻을 수 있습니다. 식의 결과가 변수에 저장되기 때문에 측정값을 사용할 때마다 다시 계산할 필요가 없으므로 측정값의 성능이 크게 향상될 수 있습니다.