Udostępnij za pośrednictwem


Unikaj konwertowania wartości BLANKs 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żesz być skłonny, aby zwrócić wartość, na przykład zero. Zaleca się dokładne określenie, czy ten projekt jest wydajny i praktyczny.

Rozważmy następującą definicję miary, która w sposób jawny przekształca wyniki BLANK na zero.

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

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

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

Funkcja DIVIDE dzieli miarę Profit przez miarę 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 grupowania 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 rzadkie obliczenia na gęste, co zmusza usługę Power BI do używania więcej pamięci niż to konieczne.

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

Zobaczmy, co się stanie, gdy miara marży zysku zostanie dodana do wizualizacji tabeli, grupując według klienta.

Zrzut ekranu programu Power BI Desktop przedstawiający wizualizację tabeli danych z jednym wierszem na klienta. Wartości sprzedaży są BLANK, a wartości marży zysku to zero procent.

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.

Notatka

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, jeśli miara Sales nie jest BLANK (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.

Zrzut ekranu programu Power BI Desktop przedstawiający wizualizację tabeli danych, która filtrowała zawartość.

Napiwek

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

Zalecenie

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

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