피드로 돌아가기
Dev.toDatabase
원문 읽기
Query Time 평가 기반 User Context 도입을 통한 모델 최적화 및 개인화 구현
Build Power BI Columns That Adapt to Each User
AI 요약
Context
기존 Power BI Calculated Column은 Process 단계에서 값이 확정되어 모든 사용자에게 동일한 결과를 제공하는 정적 구조임. 대규모 데이터셋에서 물리적 컬럼 생성 시 메모리 비용 증가와 리소스 낭비가 발생하는 한계점이 존재함.
Technical Solution
- Expression Context를 User Context로 설정하여 계산 시점을 Process 단계에서 Query Time으로 변경한 설계
- USERCULTURE(), USERPRINCIPALNAME() 등 User-aware DAX 함수를 연동하여 사용자별 동적 값 반환 체계 구축
- Import Mode에서 물리적 저장 공간을 점유하지 않는 Virtual Column 형태로 동작시켜 모델 Bloat 현상 억제
- 번역 텍스트 사용 시 Stable Key(숫자 ID 등) 기반의 Sort by Column 및 Group By 설정으로 슬라이서 선택 일관성 확보
- 단순 산술 연산 및 분류 로직을 쿼리 시점으로 이관하여 데이터 저장소 부하를 계산 엔진 부하로 분산하는 Trade-off 적용
실천 포인트
- 고카디널리티(High Cardinality) 컬럼의 물리적 저장 비용 검토 후 User Context 전환 고려 - 다국어 지원 시 가시적 레이블이 아닌 고유 식별자를 기준으로 그룹화 및 정렬 여부 확인 - 복잡한 테이블 함수나 고비용 DAX 식은 Query Time 부하를 유발하므로 단순 연산 위주로 적용 - RLS(Row Level Security)와 View as role 테스트를 통한 사용자 권한별 데이터 노출 검증