다음을 통해 공유


공백을 값으로 변환하지 마세요.

데이터 모델러로서 측정값 식을 작성할 때 의미 있는 값을 반환할 수 없는 경우가 발생할 수 있습니다. 이러한 경우 0과 같은 값을 반환하는 것이 좋습니다. 이 디자인이 효율적이고 실용적인지 신중하게 결정하는 것이 좋습니다.

BLANK 결과를 0으로 명시적으로 변환하는 다음 측정값 정의를 고려합니다.

Sales (No Blank) =
IF(
    ISBLANK([Sales]),
    0,
    [Sales]
)

BLANK 결과를 0으로 변환하는 또 다른 측정값 정의를 고려합니다.

Profit Margin =
DIVIDE([Profit], [Sales], 0)

DIVIDE 함수는 Profit 측정값을 Sales 측정값으로 나눕니다. 결과가 0이거나 BLANK이면 세 번째 인수인 대체 결과(선택 사항)가 반환됩니다. 이 예제에서는 0이 대체 결과로 전달되므로 측정값은 항상 값을 반환하도록 보장됩니다.

이러한 측정값 디자인은 비효율적이며 보고서 디자인이 저하됩니다.

보고서 시각적 개체에 추가되면 Power BI는 필터 컨텍스트 내의 모든 그룹화 검색을 시도합니다. 대용량 쿼리 결과를 평가 및 검색하면 보고서 렌더링 속도가 느려지는 경우가 많습니다. 각 예제 측정값은 스파스 계산을 조밀한 계산으로 효과적으로 전환하여 Power BI가 필요한 것보다 더 많은 메모리를 사용하도록 합니다.

또한 너무 많은 그룹화가 보고서 사용자를 압도하는 경우가 많습니다.

Profit Margin 측정값이 테이블 시각적 개체에 추가되어 고객별로 그룹화되면 어떻게 되는지 살펴보겠습니다.

Screenshot of Power B I Desktop showing table visual of data with one row per customer. Sales values are BLANK and Profit Margin values are zero per cent.

테이블 시각적 개체는 압도적인 수의 행을 표시합니다. (실제로 모델에는 18,484 명의 고객이 있으므로 테이블에서 모든 고객을 표시하려고 시도합니다.) 보기에서 고객은 어떤 판매도 달성하지 못했습니다. 그러나 Profit Margin 측정값은 항상 값을 반환하므로 표시됩니다.

참고 항목

시각적 개체에 표시할 데이터 요소가 너무 많은 경우 Power BI는 데이터 감소 전략을 사용하여 큰 쿼리 결과를 제거하거나 요약할 수 있습니다. 자세한 내용은 시각적 유형별 데이터 요소 제한 및 전략을 참조 하세요.

이익률 측정값 정의가 개선되면 어떻게 되는지 살펴보겠습니다. 이제 Sales 측정값이 BLANK(또는 0)가 아닌 경우에만 값을 반환합니다.

Profit Margin =
DIVIDE([Profit], [Sales])

이제 테이블 시각적 개체는 현재 필터 컨텍스트 내에서 판매한 고객만 표시합니다. 향상된 측정값은 보고서 사용자에게 보다 효율적이고 실용적인 환경을 제공합니다.

Screenshot of Power BI Desktop showing table visual of data that has filtered content.

권장

의미 있는 값을 반환할 수 없는 경우 측정값이 BLANK를 반환하는 것이 좋습니다.

이 디자인 방법은 효율적이므로 Power BI에서 보고서를 더 빠르게 렌더링할 수 있습니다. 또한 기본적으로 보고서 시각적 개체는 요약이 BLANK인 경우 그룹화를 제거하므로 BLANK를 반환하는 것이 좋습니다.