BLANK을 values로 변환하는 것을 피하십시오.
데이터 모델러로서 measure 식을 작성할 때 의미 있는 value 반환할 수 없는 경우가 발생할 수 있습니다. 이러한 경우, 대신에 value, 즉 0과 같은 것을 반환하고 싶어질 수 있습니다. 이 디자인이 and 효율적인지 신중하게 결정하는 것이 좋습니다.
BLANK 결과를 0으로 명시적으로 변환하는 다음 measure 정의를 고려합니다.
Sales (No Blank) =
IF(
ISBLANK([Sales]),
0,
[Sales]
)
BLANK 결과를 0으로 변환하는 또 다른 measure 정의를 고려합니다.
Profit Margin =
DIVIDE([Profit], [Sales], 0)
DIVIDE 함수는 이익measure를 매출measure로 나눕니다. 결과가 orBLANK0이면 세 번째 인수인 대체 결과(선택 사항)가 반환됩니다. 이 예제에서는 0이 대체 결과로 전달되므로 measure 항상 value반환하도록 보장됩니다.
이러한 measure 디자인은 비효율적이므로 and 보고서 디자인이 부실해집니다.
보고서 시각적 요소에 추가될 때, Power BI는 filter 맥락 내에서 all 그룹화를 검색합니다. 대규모 쿼리 결과 검색을 통한 and 평가는 종종 보고서 렌더링 속도를 느리게 만듭니다. 각 예제는 measure 스파스 계산을 조밀한 계산으로 효과적으로 전환하여 Power BI가 필요한 것보다 더 많은 메모리를 사용하도록 강제합니다.
또한 너무 많은 그룹화가 보고서 사용자를 압도하는 경우가 많습니다.
Profit Marginmeasure을 테이블 시각화에 추가한 후 고객별로 그룹화했을 때 무엇이 발생하는지 살펴보겠습니다.
테이블 시각화는 압도적인 수의 행을 표시합니다. (모델에는 fact 18,484명의 고객이 있으며, and 테이블은 그 중 all명을 표시하려고 시도합니다.) 현재 화면에 표시된 고객은 아무런 판매도 달성하지 않았습니다. 그러므로 Profit Marginmeasure는 항상 value을 반환하기 때문에 그것들이 표시됩니다.
메모
시각화에 표시할 데이터 요소가 너무 많은 경우 Power BI는 데이터 축소 전략을 사용하여 orsummarize 큰 쿼리 결과를 삭제할 수 있습니다. 자세한 내용은 데이터 요소 제한 및 시각적 형식별 and 전략를 참조하세요.
Profit Marginmeasure 정의가 개선되면 어떻게 되는지 살펴보겠습니다. Salesmeasure이 BLANK 않을 때만 now이 value 반환됩니다 (or 0).
Profit Margin =
DIVIDE([Profit], [Sales])
테이블 시각화 now는 현재 filter 컨텍스트 내에서 구매한 고객만을 표시합니다. 향상된 measure은 보고서 사용자에게 보다 효율적인 and의 실제 경험을 제공합니다.
팁
필요한 경우 데이터가 없는 항목 표시 옵션을 사용하여 filter 컨텍스트 내에서 all 그룹화(valuesorBLANK반환)를 표시하도록 시각적 개체를 구성할 수 있습니다.
추천
의미 있는 value을 반환할 수 없는 경우, 당신의 측정값이 BLANK을 반환하는 것이 좋습니다.
이 디자인 방법은 효율적이므로 Power BI가 보고서를 더 빠르게 렌더링할 수 있습니다. 또한 기본적으로 보고서 시각화가 요약이 BLANK일 때 그룹화를 제거하므로, BLANK를 반환하는 것이 더 좋습니다.
콘텐츠 Related
- 학습 path: Power BI Desktop에서 DAX를 사용
- 질문? Power BI 커뮤니티에 질문해 보세요.
- 제안? Power BI 개선하기 위한 아이디어 기여