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.
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.
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.
Powiązana zawartość
- Ścieżka szkoleniowa: Używanie DAX w programie Power BI Desktop
- Pytania? Spróbuj zapytać społeczności usługi Power BI
- Sugestie? Współtworzenie pomysłów na ulepszanie usługi Power BI