[Power BI] DAX함수

sooooora·2024년 8월 21일

Power BI

목록 보기
5/5
post-thumbnail

DAX

Data Analysis Expressions

  • DAX 함수는 열 또는 테이블을 참조로 사용
  • 기본 구조

측정값 NAME = FUNCTION('Table Name'[Field Name])

  • 예시)

Total Sales = SUM(Sales[SalesAmount])
Total Sales라는 측정값의 경우 Sales 테이블의 [SalesAmount] 열에 있는 값의 SUM을 계산(=)합니다.

📌 많이 사용한 DAX 함수

CACULATE

CALCULATE(<expression>[, <filter1> [, <filter2> [, …]]])
  • 수정된 필터 컨텍스트에서 식을 평가함
  • 주로 데이터 모델에서 특정 조건이나 필터를 적용하여 계산된 결과를 얻고자 할 때 사용

DIVIDE

DIVIDE(<numerator>, <denominator> [,<alternateresult>])
  • 나누기 연산자
  • numerator : 분자, denominator 분모, alternateResult : 분모가 0 일 때 반환할 대체 결과 값

DATEADD

DATEADD(<dates>,<number_of_intervals>,<interval>)

ex) 전년동월매출= CALCULATE('Measure'[당월실적매출], DATEADD(Calendar[날짜Key], -1, YEAR))
  • 현재 컨텍스트의 날짜에서 지정된 간격 수만큼 정방향 또는 뒤로 이동한 날짜 열이 포함된 테이블을 반환

DATESYTD

DATESYTD(<dates> [,<year_end_date>])
  • 현재 컨텍스트에서 현재까지 연도의 날짜 열이 들어 있는 테이블을 반환함

TOTALYTD

TOTALYTD(<expression>,<dates>[,<filter>][,<year_end_date>])
  • 식의 연간 값을 평가함

SELECTEDVALUE

SELECTEDVALUE(<columnName>[, <alternateResult>])

ex) "부문별 실적 : " & SELECTEDVALUE(<columnName>, "TEXT")
  • 컬럼 값이 선택되어 있으면 선택되어 있는 컬럼명 값으로 반환, 그렇지 않으면 지정해준 값으로 반환

📌 헷갈리는 DAX 함수

📝 HASONEVALUE / SELECTEDVALUE

HASONEVALUE

HASONEVALUE(<columnName>)  
  • 컬럼 값이 선택되어있으면 TRUE, 선택되어 있지 않아 고유값이 없으면 FALSE

SELECTEDVALUE

SELECTEDVALUE(<columnName>[, <alternateResult>])
  • 컬럼 값이 선택되어 있으면 선택되어 있는 컬럼명 값으로 반환, 그렇지 않으면 지정해준 값으로 반환

📝 COUNTX / COUNTA / COUNTAX

COUNTX

COUNTX(<table>,<expression>)  

ex) COUNTX(Sales, Sales[Quantity] > 0)

➡ Sales 테이블에서 Quantity가 0보다 큰 행의 개수를 계산
  • 표현식 계산된 결과를 기반으로 True인 경우의 행의 개수 카운트
  • 주로 SUMX, AVERAGEX와 같은 다른 X-함수들과 함께 사용되며, 지정된 식이 TRUE인 행의 수를 반환
    ➡ 계산 열, 특정 조건에 따라 수를 세고 싶을 때 사용

COUNTA

COUNTA(<column>)
  • 지정된 열에서 비어있지 않은 값 카운트
    ➡ 빈 셀을 제외한 값을 카운트

COUNTAX

COUNTAX(<table>,<expression>)

ex) COUNTAX(Sales, Sales[Quantity] * Sales[Price])

➡ Sales 테이블에서 Quantity와 Price의 곱이 비어 있지 않은 행의 개수를 계산합니다.
  • 특정 테이블에서 주어진 식의 결과를 기반으로 계산된 값이 비어 있지 않은 행의 개수 카운트
    ➡ 식의 결과가 빈 값을 제외하고 카운트하므로 표현식의 결과가 비어 있지 않은 항목 카운트하고 싶을 때 사용

📝 DAX “X”접미사를 가진 반복기 함수 특징 (SUMX,COUNTX,MINX,MAXX)

  • 각 행에 대해 특정 수식을 평가한 후 집계 결과를 계산
  • 행 기반 계산을 필요로 할 때 유용함

SUMX

SUMX(<table>, <expression>)

ex) SUMX(Sales, Sales[Quantity] * Sales[Price])

➡ Sales 테이블의 각 행에 대해 Quantity와 Price를 곱한 값을 계산하고, 이 값들의 합계 구함
  • 테이블의 각 행에 대해 계산된 식의 합계를 반환함

MINX

MINX(<table>, <expression>)

ex) MINX(Sales, Sales[Quantity] * Sales[Price])

➡ Sales 테이블의 각 행에 대해 Quantity와 Price를 곱한 값을 계산하고, 이 값들의 최소값을 구함
  • 테이블의 각 행에 대한 식을 계산하여 발생하는 최소값 반환

MAXX

MAXX(<table>, <expression>)

ex) MAXX(Sales, Sales[Quantity] * Sales[Price])

➡ Sales 테이블의 각 행에 대해 Quantity와 Price를 곱한 값을 계산하고, 이 값들의 최대값을 구함
  • 테이블의 각 행에 대한 식을 계산하여 발생하는 최대값 반환

📝 DAX - FORMAT 참고

[ YOUTUBE 어니언 비아이 강의 이미지 ]

profile
🌱씨앗이 나무가 되는 과정🌳

0개의 댓글