Power BI 필수 함수

경영정보시각화 자격증 실기 시험 대비 Power BI 필수 함수를 정리하였습니다.
숫자/집계/통계함수
  • J
문자열 함수
  • J
논리 함수
  • J
날짜 함수
  • J
필터 함수
  • J
기타
  • J

숫자/집계/통계함수

Created by
  • J
    JINA
Created at
ABS: 절대값 반환
1.
함수정의 :
ABS 함수는
숫자의 절대값을 구하는 함수입니다. 절대값이란 숫자의 부호를 제거한 값으로, 양수는 그대로 유지되고 음수는 양수로 변환됩니다.
2.
기본 구문 :
ABS(<number>)
3.
매개변수 :
<number>: 절대값을 구하고자 하는 숫자입니다. 이 값은 특정 숫자, 열 이름(컬럼), 혹은 수식으로 지정할 수 있습니다.
4.
예시 코드:
(1) ABS(-5)는
5를 반환합니다.
(2) ABS(3)는 그대로
3을 반환합니다.
5.
요약 :
즉, 숫자가 음수이든 양수이든 상관없이
항상 0 이상의 값을 반환해 주는 함수입니다.
데이터 분석에서 값의 크기만 필요할 때 유용하게 사용됩니다.
DIVIDE: 나누기 연산 (0으로 나눌 때 오류 방지)
1.
함수 정의 :
DIVIDE 함수는
두 숫자를 나눌 때 사용하는 함수로, 특히 나눗셈에서 "0으로 나누기" 오류를 방지할 수 있는 장점이 있습니다.
2.
기본 구문:
DIVIDE(<Numerator>, <Denominator>, [AlternativeResult])
3.
매개 변수
Numerator: 나눠지는 값 (분자)
Denominator: 나누는 값 (분모)
AlternativeResult (선택 사항):
분모가 0일 때 반환할 값. 이 값을 설정하지 않으면 BLANK()가 반환됩니다.
4.
DIVIDE 함수의 장점:
/ 연산자를 사용하여 나눗셈을 할 수도 있지만, 그 경우 분모가 0이 되면 오류가 발생합니다. 반면 DIVIDE 함수는 분모가 0이더라도 안전하게 처리할 수 있습니다.
5.
예시 코드:
(1) 기본적인 나눗셈:
DIVIDE(10, 2)
이 결과는
5입니다.
(2) 분모가 0인 경우:
DIVIDE(10, 0, 0)
이 경우 결과는
0이 됩니다. AlternativeResult로 0을 설정했기 때문입니다. 만약 이 값을 설정하지 않았다면 BLANK()가 반환됩니다.
6.
요약
DIVIDE 함수는
나눗셈을 보다 안전하게 수행하도록 도와주는 함수입니다
INT: 정수 반환
1.
함수 정의 :
INT 함수는
숫자 값을 정수로 변환하는 함수입니다. 소수점 이하의 숫자를 제거하고 가장 가까운 아래쪽의 정수로 변환하는 역할을 합니다.
소수점이 있는 숫자를 입력하면 그
숫자를 내림하여 정수로 만들어주는 함수입니다.
2.
기본 구문
INT(<number>)
3.
매개변수
number: 정수 부분만 가져올 숫자를 입력합니다. 이 숫자는 소수점이 포함된 숫자이거나 계산식이 될 수 있습니다.
4.
예시 코드:
INT(3.8) 는
3 을 반환 합니다.
INT(5.2) 는
5 를 반환 합니다.
INT(-4.7) 는
-5 를 반환 합니다.
5.
요약 :
이처럼
INT 함수는 소수점을 없애고 정수로 변환할 때 유용하게 사용할 수 있습니다.
ROUND : 반올림 / ROUNDDOWN: 내림 / ROUNDUP : 올림
• ROUND: 반올림
1.
함수 정의 :
ROUND 함수는 숫자를
특정 소수점 자리까지 반올림하는 함수입니다. Excel의 ROUND 함수와 비슷한 방식으로 작동합니다. 주로 숫자 데이터를 처리할 때 소수점 자릿수를 조정하거나 깔끔한 숫자 형태로 표현하고자 할 때 유용합니다.
2.
기본 구문 :
ROUND(<숫자>, <소수점 자리수>)
3.
매개 변수
<숫자>: 반올림할 숫자
<소수점 자리수>: 반올림할 자릿수 (0이면 정수 부분만 남기고 반올림)
4.
예시 코드 :
ROUND(3.14159, 2)
이 코드는 숫자 3.14159를 소수점 둘째 자리까지 반올림하여
3.14를 반환합니다.
ROUND(123.456, 0)
이 코드는 소수점 없이 정수로 반올림하여
123을 반환합니다.
5.
요약 :
ROUND 함수는
숫자를 원하는 자릿수까지 반올림해주는 함수로, 데이터를 처리하거나 시각화할 때 깔끔하게 보이도록 할 때 많이 사용됩니다.
• ROUNDDOWN: 내림
1.
함수 정의 :
ROUNDDOWN 함수는
숫자를 지정한 소수점 자리까지 내림하는 함수입니다. 즉, 반올림하지 않고 항상 소수점 아래 값을 버립니다. 이 함수는 데이터에서 정밀한 값보다 더 큰 범위로 조정하고 싶을 때 유용합니다.
2.
기본 구문 :
ROUNDDOWN(<숫자>, <소수점 자리수>)
3.
매개 변수 :
<숫자>: 내림할 숫자
<소수점 자리수>: 내림할 소수점 자리수 (0이면 정수 부분만 남김)
4.
예시 코드 :
(1 )ROUNDDOWN(3.14159, 2)
이 코드는 숫자 3.14159에서 소수점 둘째 자리까지만 남기고 내림하여
3.14를 반환합니다.
(2) ROUNDDOWN(123.456, 0)
이 코드는 소수점 이하를 모두 버리고
123을 반환합니다.
5.
요약 :
ROUNDDOWN 함수는 반올림 없이
항상 내림 처리하는 함수로, 소수점 이하를 없애거나 정수화하고 싶을 때 많이 사용됩니다.
• ROUNDUP: 올림
1.
함수 정의 :
ROUNDUP 함수는
숫자를 지정한 소수점 자리까지 올림하는 함수입니다. 즉, 소수점 이하 값이 있으면 해당 자리를 무조건 올려서 처리합니다. 이를 통해 값의 크기를 항상 증가시키는 방식으로 처리합니다.
2.
기본 구문 :
ROUNDUP(<숫자>, <소수점 자리수>)
3.
매개 변수 :
<숫자>: 올림할 숫자
<소수점 자리수>: 올림할 소수점 자리수 (0이면 정수 부분만 남기고 올림)
4.
예시 코드 :
(1) ROUNDUP(3.14159, 2)
이 코드는 숫자 3.14159를 소수점 둘째 자리까지 올림하여
3.15를 반환합니다.
(2) ROUNDUP(123.456, 0)
이 코드는 소수점 이하를 버리고 무조건 올림하여
124를 반환합니다.
5.
요약 :
ROUNDUP 함수는
소수점 이하 값을 무조건 올려주는 함수로, 반올림과 다르게 항상 상향 처리하고 싶을 때 사용됩니다.
차이점 요약 :
ROUND, ROUNDDOWN, ROUNDUP 함수는 숫자를 소수점 자리에서 반올림, 내림, 올림하는 함수들입니다. 각 함수의 동작 방식에 따라 숫자를 다루는 방법이 조금씩 다릅니다.
1.
ROUND 함수
ROUND 함수는 숫자를 반올림합니다.
• 예시 구문:
(1) ROUND(123.456, 2) → 결과:
123.46 (소수점 둘째 자리에서 반올림)
(2) ROUND(123.456, 0) → 결과:
123 (정수 자리에서 반올림)
2.
ROUNDDOWN 함수
ROUNDDOWN 함수는 무조건 내림 처리합니다. 지정된 소수점 자리에서 해당 숫자를 버립니다.
• 예시 구문:
(1) ROUNDDOWN(123.456, 2) → 결과:
123.45 (소수점 둘째 자리에서 내림)
(2) ROUNDDOWN(123.456, 0) → 결과:
123 (정수 자리에서 내림)
3.
ROUNDUP 함수
ROUNDUP 함수는 무조건 올림 처리합니다. 지정된 소수점 자리에서 값을 올립니다.
• 예시 구문 :
(1) ROUNDUP(123.456, 2) → 결과:
123.46 (소수점 둘째 자리에서 올림)
(2) ROUNDUP(123.456, 0) → 결과:
124 (정수 자리에서 올림)
4.
요약
ROUND: 반올림(5 이상 올림, 4 이하 내림)
• ROUNDDOWN: 무조건 내림
• ROUNDUP: 무조건 올림

이 세 가지 함수는 숫자를 다룰 때 원하는 방식으로 자릿수를 조정할 수 있어 매우 유용합니다.
• AVERAGE: 평균 계산 / AVERAGEA: 평균 계산 (텍스트는 0으로) / AVERAGEX: 식을 평가한 후 평균
DAX에서 사용하는 세 가지 평균 함수인 AVERAGE, AVERAGEA, AVERAGEX는 모두 평균을 계산하지만, 작동 방식과 처리하는 데이터의 유형에 따라 차이가 있습니다.
• AVERAGE 함수
1.
함수 정의 :
지정된 열에서
숫자 값들의 평균을 계산합니다.
2.
특징:
숫자가 아닌 값(예: 텍스트 또는 블랭크 값)은 무시됩니다.
3.
기본 구문 :
AVERAGE([column])
4.
예시 코드:
Product 테이블의 Amount 열에 있는 숫자 값들의 평균을 계산합니다.
AVERAGE(Table[Amount])를 사용하면 10, 20, 30의 평균을 계산합니다. 빈 값은 무시됩니다.
5. 결과 :
(10 + 20 + 30) / 3 = 20
• AVERAGEA 함수
1.
함수 정의 :
숫자뿐만 아니라 다른 데이터 유형도 포함하여 평균을 계산합니다.
2.
특징 :
숫자, 텍스트, TRUE/FALSE 등의 값까지 포함하여 처리합니다.
TRUE는 1로, FALSE는 0으로 계산합니다.
공란(빈셀)은 0으로 처리합니다.
텍스트 값은 0으로 처리합니다.
3.
기본 구문:
AVERAGEA([column])
4.
예시 코드:
Product 테이블의 Amount 열에 있는 숫자 값뿐만 아니라 텍스트와 TRUE/FALSE 값을 포함한 전체 평균을 계산합니다.
AVERAGEA(Table[Amount])를 사용하면
공란은 0으로 처리되고,
텍스트 **"None"**은 0으로 처리되며,
TRUE는 1, FALSE는 0으로 처리되어 평균을 계산합니다.
5.
결과 :
(10 + 20 + 0 + 0 + 1 + 0) / 6 = 5.17
AVERAGEX 함수
1.
함수 정의 :
테이블을 기반으로 식을 평가한 후 그 결과에 대한 평균을 계산합니다.
2.
특징 :
테이블을 대상으로 각 행마다 계산을 수행한 후 그 결과 값들의 평균을 구합니다.
사용자가 직접 계산식을 작성할 수 있습니다.
3.
기본 구문:
AVERAGEX(Table, <expression>)
4.
예시 코드:
Product 테이블에서 각 행마다 Amount와 Quantity를 곱한 값을 계산한 후 그 값들의 평균을 계산합니다.
AVERAGEX(Table, Table[Amount] * Table[Quantity])는
각 행에서 Amount와 Quantity를 곱한 값을 계산한 후 그 값들의 평균을 구합니다.
각 행 계산:
A: 10 * 2 = 20
B: 20 * 3 = 60
C: 30 * 4 = 120
5.
결과 :
(20 + 60 + 120) / 3 = 66.67
차이점 요약 :
1.
AVERAGE는 열의 숫자 값만을 대상으로 평균을 계산합니다.
2.
AVERAGEA는 숫자뿐만 아니라 TRUE/FALSE 및 텍스트 값도 고려하여 평균을 계산합니다.
3.
AVERAGEX는 사용자가 지정한 계산식을 각 행에 적용하여 그 결과의 평균을 계산합니다.
4.
이러한 차이점으로 인해 상황에 맞게 적절한 함수를 선택하여 사용할 수 있습니다.
• COUNT: 숫자 셀 개수 / COUNTA: 비어 있지 않은 셀 개수 / COUNTAX: 계산된 비어 있지 않은 셀 개수 / COUNTX: 식을 평가한 후 개수
DAX 함수 중 COUNT, COUNTA, COUNTAX, COUNTX 함수는 모두 데이터를 세는 데 사용되지만, 그 기능과 적용 방식에 약간씩 차이가 있습니다.
COUNT 함수
1.
함수 정의 :
지정된 열에서 숫자 값이 있는
행의 개수를 셉니다. 텍스트나 빈 값은 무시됩니다.
2.
특징 :
숫자 값만 세기 때문에 텍스트나 빈 셀은 무시합니다.
3.
기본 구문:
COUNT([column])
4.
예시 코드 :
숫자 열에서 값이 있는 행의 개수를 알고 싶을 때 사용됩니다.
COUNT([SalesAmount])
• COUNTA 함수
1.
함수 정의 :
지정된 열에서
모든 비어있지 않은 값을 셉니다. 즉, 숫자, 텍스트, 논리 값(True/False) 등 값이 있는 모든 셀이 대상입니다.
2.
특징 :
숫자뿐만 아니라
텍스트나 논리 값도 포함해서, 비어있지 않은 셀의 개수를 알고 싶을 때 사용됩니다.
3.
기본 구문 :
COUNTA([column])
4.
예시 코드:
COUNTA([SalesRep])
숫자가 아닌 값도 포함해서 셀을 셉니다.
• COUNTAX 함수
1.
함수 정의 :
주어진 테이블 또는 열에 대한
계산식을 기반으로 비어 있지 않은 값을 셉니다. 이 함수는 테이블에서 각 행에 대해 식을 평가하고, 결과가 비어 있지 않은 행만 셉니다.
2.
특징 :
각 행에서
지정된 식을 먼저 계산한 후, 그 결과 값이 있는지 여부에 따라 행을 셉니다. (숫자, 텍스트 등 모두 포함 가능)
3.
기본 구문 :
COUNTAX(<table>,<expression>)
4.
예시 코드 :