Unikanie konwertowania wartości BLANK na wartości

Jako modeler danych podczas pisania wyrażeń miar mogą wystąpić przypadki, w których nie można zwrócić znaczącej wartości. W tych przypadkach może być kuszony, aby zwrócić wartość — na przykład zero — zamiast tego. Zaleca się dokładne określenie, czy ten projekt jest wydajny i praktyczny.

Rozważmy następującą definicję miary, która jawnie konwertuje wyniki BLANK na zero.

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

Rozważmy inną definicję miary, która również konwertuje wyniki BLANK na zero.

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

Funkcja DIVIDE dzieli miarę Profit według miary Sales. Jeśli wynik ma wartość zero lub BLANK, zwracany jest trzeci argument — wynik alternatywny (opcjonalny). W tym przykładzie, ponieważ zero jest przekazywane jako wynik alternatywny, miara ma gwarancję, że zawsze zwraca wartość.

Te projekty miar są nieefektywne i prowadzą do słabych projektów raportów.

Po dodaniu ich do wizualizacji raportu usługa Power BI próbuje pobrać wszystkie grupy w kontekście filtru. Ocena i pobieranie dużych wyników zapytań często prowadzi do powolnego renderowania raportu. Każda przykładowa miara skutecznie zamienia obliczenia rozrzedzące na gęste, co zmusza usługę Power BI do używania większej ilości pamięci niż jest to konieczne.

Ponadto zbyt wiele grup często przeciąża użytkowników raportów.

Zobaczmy, co się stanie, gdy miara Profit Margin zostanie dodana do wizualizacji tabeli pogrupowania według klienta.

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.

Wizualizacja tabeli wyświetla przytłaczającą liczbę wierszy. (W modelu istnieje 18 484 klientów, więc tabela próbuje wyświetlić wszystkie z nich). Zwróć uwagę, że klienci w widoku nie osiągnęli żadnej sprzedaży. Jednak ponieważ miara Profit Margin zawsze zwraca wartość, są one wyświetlane.

Uwaga

Jeśli w wizualizacji jest wyświetlanych zbyt wiele punktów danych, usługa Power BI może używać strategii redukcji danych do usuwania lub podsumowywania dużych wyników zapytań. Aby uzyskać więcej informacji, zobacz Limity i strategie punktów danych według typu wizualizacji.

Zobaczmy, co się stanie, gdy definicja miary Profit Margin zostanie ulepszona. Teraz zwraca wartość tylko wtedy, gdy miara Sales nie jest pusta (lub zero).

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

Wizualizacja tabeli wyświetla teraz tylko klientów, którzy dokonali sprzedaży w bieżącym kontekście filtru. Ulepszona miara zapewnia wydajniejsze i praktyczne środowisko dla użytkowników raportów.

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

Napiwek

W razie potrzeby można skonfigurować wizualizację tak, aby wyświetlała wszystkie grupowania (które zwracają wartości lub PUSTE) w kontekście filtru, włączając opcję Pokaż elementy bez danych .

Zalecenie

Zaleca się, aby miary zwracały wartość BLANK, gdy nie można zwrócić znaczącej wartości.

Takie podejście projektowe jest wydajne, dzięki czemu usługa Power BI może szybciej renderować raporty. Ponadto zwracanie wartości BLANK jest lepsze, ponieważ wizualizacje raportu — domyślnie — eliminują grupowanie, gdy podsumowania są puste.