다음을 통해 공유


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))

변수를 사용하면 동일한 결과를 얻을 수 있지만 더 읽기 쉬운 방식으로 얻을 수 있습니다. 식의 결과가 변수에 저장되기 때문에 측정값을 사용할 때마다 다시 계산할 필요가 없으므로 측정값의 성능이 크게 향상될 수 있습니다.

변수를 사용하여 쿼리 수식을 개선합니다.