중급 DAX in Power BI
Carl Rosseel
Curriculum Manager
논리 함수는 표현식에 작용하여 값이나 집합에 대한 정보를 반환합니다.
주요 논리 함수:
IF()AND(), OR(), NOT()SWITCH()구조:
IF(<logical_test>, <value_if_true>, <value_if_false>)예시:
Performance = IF([Total Sales] >= 50 000, "Target Reached", "Target Not Reached")구조:
IF(<logical_test>, <value_if_true>[, <value_if_false>])예시:
Performance = IF([Total Sales] >= 50 000, "Target Reached", "Target Not Reached") | 이름 | 총 판매액 |
|---|---|
| Jenny | 48,431 |
| Jane | 76,528 |
| Dwayne | 24,167 |
| Thomas | 52,125 |
구조:
IF(<logical_test>, <value_if_true>[, <value_if_false>])예시:
Performance = IF([Total_Sales] >= 50 000, "Target Reached", "Target Not Reached")| 이름 | 총 판매액 | 성과 |
|---|---|---|
| Jenny | 48,431 | Target not Reached |
| Jane | 76,528 | Target Reached |
| Dwayne | 24,167 | Target Not Reached |
| Thomas | 52,125 | Target Reached |
세 연산자 모두 TRUE 또는 FALSE를 반환합니다.
AND(<logical1>,<logical2>)TRUE이면 TRUE 반환AND(5 < 4, 5 < 6) = AND(FALSE, TRUE) = FALSEOR(<logical1>,<logical2>)TRUE이면 TRUE 반환OR(5 < 4, 5 < 6) = OR(FALSE, TRUE) = TRUENOT(<logical>)TRUE를 FALSE로, FALSE를 TRUE로 변환NOT(OR(5 < 4, 5 < 6)) = NOT(TRUE) = FALSEAND는 &&로 대체 가능
AND(5 < 4, 5 < 6) = 5 < 4 && 5 < 6 OR는 ||로 대체 가능
OR(5 < 4, 5 < 6) = 5 < 4 || 5 < 6표현식을 값 목록과 비교하여 여러 결과 중 하나를 반환합니다.
SWITCH(<expression>, <value>, <result>[, <value>, <result>] ... [, <else>])IF() 함수보다 자주 선호됨Performance = SWITCH(TRUE,
[Total_Sales] < 25 000, "Poor",
[Total_Sales] < 50 000, "Below expectations",
[Total_Sales] < 75 000, "Above expectations",
"Exceptional")
Performance = SWITCH(TRUE,
[Total_Sales] < 25 000, "Poor",
[Total_Sales] < 50 000, "Below expectations",
[Total_Sales] < 75 000, "Above expectations",
"Exceptional")
| 이름 | 총 판매액 |
|---|---|
| Jenny | 48,431 |
| Jane | 76,528 |
| Dwayne | 24,167 |
| Thomas | 52,125 |
Performance = SWITCH(TRUE,
[Total_Sales] < 25 000, "Poor",
[Total_Sales] < 50 000, "Below expectations",
[Total_Sales] < 75 000, "Above expectations",
"Exceptional")
| 이름 | 총 판매액 | 성과 |
|---|---|---|
| Jenny | 48,431 | Below Expectations |
| Jane | 76,528 | Exceptional |
| Dwayne | 24,167 | Poor |
| Thomas | 52,125 | Above expectations |
DISCOUNT = SWITCH([Clothing Type],
"Shoes", 0.15,
"Pants", 0.20,
"Belts", 0.30,
"T-shirt", 0.25)
| 의류 유형 |
|---|
| Shoes |
| Pants |
| Belt |
| T-shirt |
DISCOUNT = SWITCH([Clothing Type],
"Shoes", 0.15,
"Pants", 0.20,
"Belts", 0.30,
"T-shirt", 0.25)
| 의류 유형 | 할인율 |
|---|---|
| Shoes | 15% |
| Pants | 20% |
| Belt | 30% |
| T-shirt | 25% |
중급 DAX in Power BI