Power BI 필수 함수

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

논리 함수

Created by
  • J
    JINA
Created at
• AND: 모두 참일 때 참
1.
함수의 정의 :
AND 함수는
두 개의 논리 조건을 동시에 확인하고, 둘 다 참일 때만 TRUE를 반환하는 함수입니다. 하나라도 거짓이면 FALSE를 반환합니다. DAX에서 AND 함수는 && 연산자와 동일하게 작동합니다.
2.
기본 구문
AND(논리_조건1, 논리_조건2)
3.
예시 코드:
예를 들어, 직원 테이블에서 각 직원의 월급이 3000 이상이고, 부서가 "영업"인 경우에만 TRUE를 반환하는 계산 열을 만들고 싶다고 가정해봅시다.
방법 1: AND 함수 사용
결과 =
AND(직원[월급] >= 3000, 직원[부서] = "영업")
방법 2: && 연산자 사용
결과 =
(직원[월급] >= 3000) && (직원[부서] = "영업")
위 두 식은
동일하게 작동하며, 직원의 월급이 3000 이상이고 부서가 "영업"이면 TRUE, 그렇지 않으면 FALSE를 반환합니다.
결과
이렇게 AND 함수는 두 조건이 모두 충족되어야 TRUE를 반환하는 데 사용됩니다.
IF: 조건에 따른 값 반환
1.
함수 정의 :
IF 함수는
특정 조건이 참인지 거짓인지에 따라 다른 값을 반환하는 함수입니다. 엑셀의 IF 함수와 유사하게 작동합니다.
2.
기본 구문 :
IF(조건, 참일 때 반환할 값, 거짓일 때 반환할 값)
3.
작동 원리 :
IF 함수는 다음과 같이 작동합니다:
<논리_테스트>를 평가하여 TRUE 또는 FALSE 결과를 얻습니다.
결과가 TRUE이면 <참일 때 값>을 반환합니다.
결과가 FALSE이면 <거짓일 때 값>을 반환합니다.
4.
예시 코드 :
판매 데이터를 분석하는 상황을 가정해보겠습니다. 만약
판매량이 100개 이상이라면 "High", 그렇지 않다면 "Low"라는 값을 반환하고 싶다면 다음과 같이 쓸 수 있습니다:
Sales Category = IF(Sales[Quantity] >= 100, "High", "Low")
결과 :
조건:
Sales[Quantity] >= 100 (판매량이 100 이상인지 확인)
참일 때 반환할 값: "High"
거짓일 때 반환할 값: "Low"
이 예제에서 판매량이
150이면 "High"를 반환하고, 80이면 "Low"를 반환합니다.
5.
요약 :
IF 함수는 특히 계산 열이나 측정값을 만들 때
데이터를 분류하거나 조건에 따라 다른 계산을 수행하는 데 활용할 수 있습니다.
IFERROR: 오류 시 대체 값 반환
1.
함수 정의 :
IFERROR 함수는
오류를 처리하는 데 매우 유용한 함수입니다. 이 함수는 식에서 오류가 발생할 경우 대체 값을 반환하도록 해줍니다.
2.
기본 구문 :
IFERROR(value, value_if_error)
3.
매개 변수 :
value: 평가할 식 또는 값
value_if_error: 오류가 발생했을 때 반환할 값
4.
작동 방식 :
IFERROR 함수는 다음과 같이 작동합니다:
첫 번째 인수(value)를 평가합니다.
오류가 없으면 해당 값을 그대로 반환합니다.
오류가 발생하면 두 번째 인수(value_if_error)를 반환합니다.
5.
예시 코드 :
(1)
0으로 나누기 오류 처리
Result = IFERROR(10 / [SomeValue], 0)
[SomeValue]가 0일 경우, 10 / 0은 오류를 발생시킵니다. 이때 IFERROR는 오류 대신 0을 반환합니다.
[SomeValue]가 5라면, Result는 10 / 5, 즉 2를 반환합니다.
(2)
데이터 유효성 검사
유효한_단가 = IFERROR(
IF([단가] > 0, [단가], ERROR("단가는 0보다 커야 합니다")) ,
"잘못된 단가"
)

이 예시에서는
단가가 0보다 큰지 확인하고, 그렇지 않으면 오류를 발생시킵니다. IFERROR 함수는 이 오류를 잡아내어 "잘못된 단가"라는 메시지를 반환합니다
결과
각 행에 대한 설명:
1000은 0보다 크므로 그대로 반환됩니다.
0은 0보다 크지 않으므로 오류가 발생하고, "잘못된 단가"가 반환됩니다.
-500은 0보다 작으므로 오류가 발생하고, "잘못된 단가"가 반환됩니다.
"ABC"는 숫자가 아니므로 비교 자체가 오류를 발생시키고, "잘못된 단가"가 반환됩니다.
6.
요약 :
IFERROR 함수 다양한 입력 값에 대한 측정값의 동작을 한눈에 볼 수 있게 해주며, 코드의 작동 방식을 더 쉽게 이해할 수 있도록 도와줍니다.
NOT: 참을 거짓으로, 거짓을 참으로
1.
함수 정의 :
NOT 함수는
논리값을 반대로 바꾸는 함수입니다. 즉, TRUE 값을 FALSE로, FALSE 값을 TRUE로 변환합니다. NOT 함수는 주로 조건을 뒤집어야 할 때 유용하게 사용할 수 있습니다.
2.
기본 구문 :
NOT(<논리값>)
3.
매개 변수 :
<논리값>: TRUE 또는 FALSE 값을 가지는 표현식
4.
예시 코드 :
다음과 같은 테이블이 있다고 가정해 봅시다.
"판매 가능 여부" 열이 TRUE인 경우 제품이 판매 가능하고, FALSE인 경우 판매 불가입니다.
여기서 판매 불가한 제품만 필터링하고 싶다면 NOT 함수를 사용할 수 있습니다.
판매 불가 여부 = NOT([판매 가능 여부])
위의 식은
"판매 가능 여부"가 TRUE라면 FALSE를 반환하고, FALSE라면 TRUE를 반환합니다.
이 결과로 새로운 열이 생성됩니다:
5.
요약 :
이렇게 NOT 함수는 조건을 반전시키는 데 유용하게 사용할 수 있습니다.
OR: 하나라도 참이면 참
1.
함수 정의 :
OR 함수는
여러 조건 중 하나라도 참(TRUE)인 경우 참을 반환하는 논리 함수입니다. 최대 255개의 조건을 처리할 수 있어, 여러 조건 중에서 하나만 충족되더라도 결과가 참이 되도록 할 때 유용하게 사용됩니다.
2.
기본 구문 :
OR(논리식1, 논리식2, ..., 논리식255)
논리식1, 논리식2, ..., 논리식255: 평가할 조건들로,
최대 255개까지 입력할 수 있습니다.
3.
예시 코드 :
기본 예시
여러 조건 중 하나라도 참이면 TRUE, 그렇지 않으면 FALSE를 반환합니다.
= OR(5 > 3, 10 < 2, 8 == 8)
결과 :
5 > 3은 참이고, 10 < 2는 거짓, 8 == 8은 참이므로 결과는 TRUE입니다.
실제 데이터에서의 예시
예를 들어, 학생들의 성적 데이터를 가지고 있고,
학생이 영어, 수학, 과학, 역사 중 하나라도 70점 이상일 때 "합격"으로 표시하고 싶다면:
합격 여부 = IF(OR(Students[영어] >= 70, Students[수학] >= 70, Students[과학] >= 70, Students[역사] >= 70), "합격", "불합격")
학생의
네 가지 과목 중 하나라도 70점 이상이면 "합격", 모두 조건에 해당하지 않으면 "불합격"으로 표시됩니다.
4.
요약 :
이렇게 OR 함수는
여러 조건 중 하나만 만족해도 특정 결과를 반환하고자 할 때 유용하게 사용할 수 있습니다.
SWITCH: 조건에 맞는 값 반환
1.
함수 정의 :
SWITCH 함수는
조건에 따라 다른 값을 반환할 수 있는 함수입니다. 일종의 다중 IF 함수라고 생각할 수 있습니다. 여러 조건을 처리해야 할 때 유용하며, 코드가 간결해집니다.
2.
기본 구문 :
SWITCH(<expression>, <value1>, <result1>, <value2>, <result2>, ..., <else>)
3.
매개 변수 :
<expression>: 비교할 값이나 계산식.
<value1>, <value2>, ...: 비교할 조건값들.
<result1>, <result2>, ...: 조건이 맞을 때 반환할 값들.
<else>: 조건이 모두 일치하지 않을 때 반환할 기본값. (옵션)
4.
예시 코드 :
학생의 시험 점수에 따라 학점을 부여하는 예시를 보겠습니다.
Grade =
SWITCH(
TRUE(),
[Score] >= 90, "A",
[Score] >= 80, "B",
[Score] >= 70, "C",
[Score] >= 60, "D",
"F"
)

작동 방식:
철수:
점수 95 → Score >= 90이므로 "A" 반환.
영희:
점수 82 → Score >= 80이므로 "B" 반환.
민수:
점수 76 → Score >= 70이므로 "C" 반환.
수지:
점수 89 → Score >= 80이므로 "B" 반환.
지호:
점수 67 → Score >= 60이므로 "D" 반환.
나영:
점수 58 → 위 조건 모두 해당하지 않으므로 "F" 반환.
5.
요약 :
이렇게 SWITCH 함수를 사용하면 간결한 코드로 여러 조건을 처리할 수 있습니다.
TRUE: 논리값 TRUE를 반환
1.
함수 정의 :
TRUE 함수는 매우 간단한 함수로,
TRUE 논리값을 반환하는 데 사용됩니다. 이 함수는 특정 조건을 만족할 때 TRUE 값을 반환하도록 하거나 논리값을 필요로 하는 다른 함수와 함께 사용할 수 있습니다.
2.
기본 구문 :
TRUE()
TRUE 함수는 매개변수를 받지 않고, TRUE()라고 간단하게 작성하여 TRUE 값을 반환합니다.
3.
예시 코드 :
TRUE 함수는 단독으로 쓰이는 경우가 거의 없으며, 다른 논리 함수나 조건문에서 활용됩니다. 몇 가지 예시를 통해 TRUE 함수의 사용을 살펴보겠습니다.
(1)
단순 조건 체크
IF(TRUE(), "Yes", "No")
여기서는
TRUE()가 TRUE 값을 반환하므로, 항상 "Yes"가 반환됩니다.
(2)
특정 조건에 따라 TRUE 값을 반환하는 예제
IF([Sales Amount] > 1000, TRUE(), FALSE())
이 예제에서는
[Sales Amount]가 1000보다 클 때 TRUE 값을 반환하고, 그렇지 않으면 FALSE 값을 반환합니다.
(3)
다른 논리 함수와의 결합
FILTER 함수와 같은 함수에서 조건을 쉽게 설정할 때도 TRUE를 사용할 수 있습니다.
CALCULATE(
SUM(Sales[Sales Amount]),
FILTER(Sales, TRUE())
)

여기서 FILTER 함수는 TRUE() 조건을 사용하므로 Sales 테이블의 모든 행을 포함하여 SUM을 계산하게 됩니다.