Funkcja IF (język DAX)
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 |
---|---|
test_logiczny |
Dowolna wartość lub wyrażenie, które może przyjąć wartość PRAWDA lub FAŁSZ. |
wartość_jeśli_prawda |
Wartość zwracana, jeśli wynikiem testu logicznego jest PRAWDA.W przypadku pominięcia tego argumentu zwracana jest wartość PRAWDA. |
wartość_jeśli_fałsz |
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 wartość wartość_jeżeli_prawda i wartość_jeżeli_fałsz jest pominięta, jeśli traktuje ją jako pusty ciąg znaków ("").
Jeśli wartość, do którego odwołuje się wyrażenie jest kolumna, jeżeli zwraca wartość, która odpowiada do bieżącego wiersza.
Funkcja IF próbuje zwrócić pojedynczy typ danych w kolumnie.Dlatego jeśli różnych typów danych zwracanych przez wartość_jeżeli_prawda i wartość_jeżeli_fałsz, to funkcja jeżeli niejawnie przekonwertuje typy danych, aby pomieścić zarówno wartości kolumna.Na przykład formuła IF(<condition>,TRUE(),0) , ale formuła zwraca kolumna jedynek i zer i wyniki mogą być sumowane, IF(<condition>,TRUE(),FALSE()) zwraca tylko logiczne wartości.Aby uzyskać więcej informacji na temat danych niejawna konwersja typu Zobacz Typy danych obsługiwane w skoroszytach programu PowerPivot.
Przykład
W poniższym przykładzie wykorzystano zagnieżdżone funkcje Jeżeli określających numer kolumna wywołań z tabela FactCallCenter w Adventure Works DW2008R2.Funkcja przypisuje etykietę w następujący sposób: niska, jeśli liczba wywołań jest mniejsza niż 200, średnia, jeżeli liczba wywołań jest mniej niż 300, ale nie mniej niż 200 i wysoka dla wszystkich innych wartości.
=IF([Calls]<200,"low",IF([Calls]<300,"medium","high"))
Poniższy przykład pobiera listę miast, które zawierają potencjalnych klientów w obszarze California przy użyciu kolumn z tabela ProspectiveBuyer w Adventure Works DW2008R2.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 zauważyć, że nawiasy są używane do kontrolowania kolejności, w jakiej I (&&) I są używane operatory (|).Należy również zauważyć, że wartość nie została określona dla wartość_jeżeli_fałsz.Dlatego funkcja zwraca wartość domyślną, którą jest ciąg pusty.