Udostępnij za pośrednictwem


DIVIDE funkcja vs operator divide (/)

Jako modeler danych, podczas pisania wyrażenia DAX w celu divide licznika przez mianownik, możesz użyć funkcji DIVIDEor operatora divide (/ — ukośnik).

Podczas korzystania z funkcji DIVIDE musisz przekazać wyrażenia z licznika i mianownika and. Opcjonalnie możesz przekazać value reprezentującą alternatywny wynik .

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

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

Funkcja DIVIDE jest wygodna, ponieważ chroni wyrażenie przed koniecznością przetestowania first mianownika value. Funkcja jest również lepiej zoptymalizowana pod kątem testowania mianownika value niż funkcja IF. Wzrost wydajności jest znaczący, ponieważ sprawdzanie podziału według zera jest kosztowne. Dalsze użycie DIVIDE skutkuje bardziej zwięzłym and eleganckim wyrażeniem.

Przykład

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

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

To wyrażenie measure osiąga ten sam wynik, lecz w sposób bardziej wydajny i elegancki and.

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 orBLANK.

W przypadku, gdy mianownik jest stałą value, zalecamy użycie operatora divide. W takim przypadku podział na pewno się uda, and wyrażenie będzie bardziej efektywne, gdyż uniknie niepotrzebnego testowania.

Dokładnie zastanów się, czy funkcja DIVIDE powinna zwrócić alternatywny value. 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 w Power BI można skonfigurować wizualizację, aby wyświetlała grupy all (które zwracają valuesorBLANK) w kontekście filter, włączając opcję Pokaż elementy bez danych.