반응형
DAX에서 변수(VAR)는 연산 중간 결과를 저장하여 코드를 더 간결하고 효율적으로 만드는 데 사용됩니다. 변수는 같은 값을 여러 번 계산하는 대신 변수로 저장하여 성능 최적화하는데 도움을 줍니다. 또한, 복잡한 식을 단순화하여 이해하기 쉽게 만들고, 디버깅에 큰 도움을 줍니다.
VAR 변수이름 = 값 또는 식
RETURN 결과값
VAR 키워드를 사용하여 변수를 선언하고, RETURN을 사용하여 최종 결과를 반환합니다.
Sales YoY Growth % =
VAR SalesPriorYear =
CALCULATE([Sales], PARALLELPERIOD('Date'[Date], -12, MONTH))
RETURN
DIVIDE(([Sales] - SalesPriorYear), SalesPriorYear)
- PARALLELPERIOD('Date'[Date], -12, MONTH) → 현재 선택된 월에서 12개월 전의 데이터를 필터링
- CALCULATE([Sales], ...) → Sales 값을 위 필터 조건에 맞춰 다시 계산
- DIVIDE((현재 Sales - 전년도 Sales), 전년도 Sales) → YoY 성장률 계산
Subcategory Sales Rank =
VAR CurrentSubcategorySales = Subcategory[Subcategory Sales]
RETURN
COUNTROWS(
FILTER(
Subcategory,
CurrentSubcategorySales < Subcategory[Subcategory Sales]
)
) + 1
- 현재 행(또는 현재 컨텍스트에서 선택된 서브카테고리)의 매출값을 저장
- FILTER을 이용하여 Subcategory 테이블에서 현재 서브카테고리보다 매출이 높은 행들만 필터링
- 필터링된 행의 개수를 센다 (즉, 더 높은 매출을 가진 서브카테고리 개수)
- 현재 행의 순위를 보정하기 위해 1을 더함
반응형
'BI & Visualization > Power BI' 카테고리의 다른 글
Power BI | X 함수 (SUMX, AVERAGEX, MINX, MAXX, COUNTX, PRODUCTX) (0) | 2025.04.03 |
---|---|
Power BI | RANK(), RANKX() (0) | 2025.04.02 |
Power BI | ALL(), ALLSELECTED(), ALLEXCEPT() (0) | 2025.03.31 |
Power BI | FIRSTDATE(), LASTDATE(), PARALLELPERIOD() (0) | 2025.03.30 |
Power BI | CALCULATE() vs. CALCULATETABLE() (0) | 2025.03.29 |