PowerBI.co.kr
경영정보시각화 자격증
실기-모의문제(A형)
실기-모의문제(B형)
Power BI 필수 함수
뉴스
Power BI 2025년 1월 기능 요약
Power BI 2025년 2월 기능 요약
Power BI 2025년 3월 기능 요약
Power BI 2025년 4월 기능 요약
Power BI 2025년 5월 기능 요약
Power BI 2025년 6월 기능 요약
Power BI 2025년 7월 기능 요약
Power BI 2025년 8월 기능 요약
Sign In

논리 함수

작성자
  • J
    JINA
작성시각
Nov 8, 2024 5:11 PM
텍스트
Empty
• 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을 계산하게 됩니다.
Made with Slashpage