Udostępnij za pośrednictwem


Funkcja IF

Sprawdza, czy jest spełniony warunek podany jako pierwszy argument. Zwraca jedną wartość, jeśli warunek jest spełniony, i drugą wartość, jeśli warunek nie jest spełniony.

Składnia

IF(logical_test>,<value_if_true>, value_if_false)

Parametry

Termin

Definicja

logical_test

Dowolna wartość lub wyrażenie, które może przyjąć wartość PRAWDA lub FAŁSZ.

value_if_true

Wartość zwracana, jeśli wynikiem testu logicznego jest PRAWDA. W przypadku pominięcia tego argumentu zwracana jest wartość PRAWDA.

value_if_false

Wartość zwracana, jeśli wynikiem testu logicznego jest FAŁSZ. W przypadku pominięcia tego argumentu zwracana jest wartość FAŁSZ.

Wartość zwracana

Dowolny typ wartości, który może zostać zwrócony przez wyrażenie.

Uwagi

Jeśli argument value_if_true lub value_if_false zostanie pominięty, funkcja IF traktuje go jak wartość ciągu pustego ("").

Jeśli wartość, do której odwołuje się wyrażenie, jest kolumną, funkcja IF zwraca wartość odpowiadającą bieżącemu wierszowi.

Funkcja IF próbuje zwrócić pojedynczy typ danych w kolumnie. Dlatego jeśli wartości zwracane przez argumenty value_if_true i value_if_false mają różne typy danych, funkcja IF niejawnie konwertuje typy danych, aby zwrócić obie wartości w kolumnie. Na przykład formuła IF(<condition>,TRUE(),0) zwraca kolumnę jedności i zer i wyniki mogą zostać zsumowane, ale formuła IF(<condition>,TRUE(),FALSE()) zwraca tylko wartości logiczne. Aby uzyskać więcej informacji dotyczących niejawnej konwersji typów danych, zobacz temat Typy danych obsługiwane w skoroszytach programu PowerPivot.

Przykład

W poniższym przykładzie są używane zagnieżdżone funkcje IF, które zwracają liczbę z kolumny Calls tabeli FactCallCenter w bazie danych Adventure Works DW Multidimensional 2012 . Funkcja przypisuje etykietę w następujący sposób: low, jeśli liczba połączeń (wartość Calls) jest mniejsza niż 200, medium, jeśli liczba połączeń jest mniejsza niż 300 i nie mniejsza niż 200 oraz high dla wszystkich innych wartości.

=IF([Calls]<200,"low",IF([Calls]<300,"medium","high"))

W poniższym przykładzie pobierana jest lista miast potencjalnych klientów w obszarze California przy użyciu kolumn z tabeli ProspectiveBuyer w bazie danych Adventure Works DW Multidimensional 2012 . Ta lista ma być wykorzystana w kampanii skierowanej do osób pozostających w związku małżeńskim lub wychowujących dzieci, więc funkcja IF sprawdza wartość w kolumnach [MaritalStatus] (stan cywilny) i [NumberChildrenAtHome] (liczba dzieci na wychowaniu) i zwraca miasto, jeśli któryś z warunków dotyczących tych kolumn jest spełniony i klient pochodzi z obszaru California. W przeciwnym wypadku zwraca ciąg pusty.

=IF([StateProvinceCode]= "CA" && ([MaritalStatus] = "M" || [NumberChildrenAtHome] >1),[City])

Należy zwrócić uwagę, że w celu określenia kolejności, w jakiej mają być używane operatory ORAZ (&&) i LUB (||) zastosowano nawiasy. Należy również zwrócić uwagę, że nie określono wartości argumentu value_if_false. Dlatego funkcja zwraca wartość domyślną, którą jest ciąg pusty.

Zobacz także

Odwołanie

Funkcja TRUE

Funkcja FALSE

Funkcja NOT

Funkcja IF

Inne zasoby

Funkcje języka DAX — kompendium