Udostępnij za pośrednictwem


DIVIDE, funkcja a operator dzielenia (/)

Jako modelarz danych, gdy piszesz wyrażenie DAX, aby podzielić licznik przez mianownik, możesz użyć funkcji DIVIDE lub operatora dzielenia (/ — ukośnik).

W przypadku korzystania z funkcji DIVIDE należy przekazać wyrażenia liczbowe i mianownikowe. Opcjonalnie możesz przekazać wartość reprezentującą wynik alternatywny .

DIVIDE(<numerator>, <denominator> [,<alternateresult>])

Funkcja DIVIDE została zaprojektowana tak, aby automatycznie obsługiwała dzielenie według zerowych przypadków. Jeśli alternatywny wynik nie zostanie przekazany, a mianownik ma wartość zero lub BLANK, funkcja zwraca wartość BLANK. Gdy zostanie przekazany alternatywny wynik, zwracany jest on zamiast BLANK.

Funkcja DIVIDE jest wygodna, ponieważ eliminuje konieczność najpierw przetestowania wartości mianownika. Funkcja jest również lepiej zoptymalizowana pod kątem testowania wartości mianownika niż funkcja IF. Wzrost wydajności jest znaczący, ponieważ sprawdzanie podziału według zera jest kosztowne. Dalsze użycie DIVIDE powoduje bardziej zwięzłe i eleganckie wyrażenie.

Przykład

Poniższe wyrażenie miary tworzy bezpieczny podział, ale obejmuje użycie czterech funkcji DAX.

Profit Margin =
IF(
    OR(
        ISBLANK([Sales]),
        [Sales] == 0
    ),
    BLANK(),
    [Profit] / [Sales]
)

To wyrażenie miary osiąga ten sam wynik, ale jeszcze wydajniej i elegancko.

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

Zalecenia

Zaleca się użycie funkcji DIVIDE za każdym razem, gdy mianownik jest wyrażeniem, które może zwrócić zero lub BLANK.

W przypadku, gdy mianownik jest wartością stałą, zalecamy użycie operatora dzielenia. W takim przypadku podział ma gwarancję powodzenia, a wyrażenie będzie działać lepiej, ponieważ pozwoli uniknąć niepotrzebnego testowania.

Dokładnie zastanów się, czy funkcja DIVIDE powinna zwracać wartość alternatywną. W przypadku miar zwykle jest to lepszy projekt, który zwraca BLANK. Zwracanie BLANK jest lepsze, ponieważ wizualizacje raportów — domyślnie — eliminują grupowanie, gdy podsumowania są BLANK. Dzięki niej wizualizacja może skupić uwagę na grupach, w których istnieją dane. W razie potrzeby możesz skonfigurować wizualizację w Power BI tak, aby w kontekście filtru wyświetlała wszystkie grupy (które zwracają wartości lub BLANK), włączając opcję Pokaż elementy bez danych.