Power BI DAX – IF 함수로 조건부 계산하기

# What's the difference single way relationship & Two way relationship in data modeling
데이터를 시각화하면서 처음 마주치는 개념 중 하나가 바로 테이블 간의 관계 방향입니다.
Power BI에서는 테이블을 서로 연결할 때 관계 방향을 단방향(Single) 또는 양방향(Two) 으로 설정할 수 있어요.
이번 글에서는 이 차이가 어떤 의미인지, 그리고 사용할 때 주의할 점은 무엇인지 쉽게 정리해볼게요!
기본적으로 Power BI는 관계를 만들 때 단방향 필터를 사용합니다.
예를 들어, DimProduct
(제품 테이블)과 FactSales
(판매 테이블)가 연결되어 있다면,
제품 테이블에서 판매 테이블로만 필터가 흐릅니다.
이 구조에서는 제품을 선택했을 때 그에 해당하는 판매 데이터만 보여지지만,
판매 데이터를 필터해도 제품 테이블은 영향을 받지 않아요.
>> 단방향은 대부분의 상황에서 성능과 안정성 면에서 좋습니다.
양방향은 말 그대로 필터가 양쪽으로 흐르는 설정이에요.
DimProduct
→ FactSales
(판매로도 필터)
FactSales
→ DimProduct
(제품으로도 필터)
이 설정은 다중 테이블을 교차로 필터해야 하는 상황,
예를 들어 고객 테이블 ↔ 주문 테이블 ↔ 지역 테이블
처럼 중간 테이블이 있을 경우에 유용합니다.
양방향은 유용하지만, 다음과 같은 단점이 있습니다:
* 성능저하 : 보고서 필터링이 복잡해 질수록 처리 속도 저하
* 순환 관계 발생 위험 : 서로 필터를 주고받는 구조가 얽히면 오류 발생 가능
* 불필요한 필터링 : 원하지 않는 곳까지 필터 영향을 주어 결과 왜곡 가능성
고객을 필터했는데, 지역까지 필터가 걸려서 예상 외의 데이터만 보이는 경우가 생길 수 있어요.
아래와 같은 상황에서만 제한적으로 사용하는 게 좋아요.
RLS(역할 기반 보안) 설정 시
→ 특정 사용자의 접근 권한을 적용할 때는 양방향 필터가 필요할 수 있어요.
중간 테이블 없이 다대다 관계 표현이 어려운 경우
→ 예: 제품-범주, 판매-고객처럼 서로 독립적이지만 연결하고 싶은 경우
권장 팁:
모델링 > 관리 > 고급 > 이 관계를 양방향 필터로 설정
체크할 때는 반드시 "필요할 때만" 하세요!
처음 Power BI를 사용할 때는 양방향이 더 좋아 보일 수 있지만,
실제로는 단방향을 기본으로 사용하고, 양방향은 특별한 목적이 있을 때만 설정하는 것이 안정적인 모델을 만드는 핵심입니다.
양방향은 데이터 값의 오류를 야기할 수 있다는 점 기억해 주세요!