IF
Controlla una condizione e restituisce un valore quando è TRUE
, in caso contrario restituisce un secondo valore.
Sintassi
IF(<logical_test>, <value_if_true>[, <value_if_false>])
Parametri
Termine | Definizione |
---|---|
logical_test |
Qualsiasi valore o espressione che può essere valutata per TRUE o FALSE . |
value_if_true |
Valore restituito se il test logico è TRUE . |
value_if_false |
(Facoltativo) Valore restituito se il test logico è FALSE . Se omesso, viene restituito BLANK. |
Valore restituito
value_if_true
, value_if_false
o BLANK
.
Osservazioni
La funzione IF può restituire un tipo di dati variant se
value_if_true
evalue_if_false
sono di tipi di dati diversi, ma la funzione tenta di restituire un singolo tipo di dati se siavalue_if_true
chevalue_if_false
sono di tipi di dati numerici. In quest'ultimo caso, la funzione IF convertirà in modo implicito i tipi di dati in modo da contenere entrambi i valori.Ad esempio, la formula
IF(<condition>, TRUE(), 0)
restituisceTRUE
o 0, ma la formulaIF(<condition>, 1.0, 0)
restituisce solo valori decimali anche sevalue_if_false
è del tipo di dati numero intero. Per altre informazioni sulla conversione implicita dei tipi di dati, vedere Tipi di dati.Per eseguire le espressioni di ramo indipendentemente dall'espressione della condizione, usare IF.EAGER.
Esempi
Le definizioni di colonna calcolate Product tabella usano la funzione IF in modi diversi per classificare ogni prodotto in base al relativo prezzo di listino.
Il primo esempio verifica se il valore della colonna list value_if_false
, viene restituito BLANK.
Gli esempi in questo articolo possono essere usati con il modello adventure works DW 2020 di Power BI Desktop di esempio. Per ottenere il modello, vedere DAX modello di esempio.
Price Group =
IF(
'Product'[List Price] < 500,
"Low"
)
Il secondo esempio usa lo stesso test, ma questa volta include un valore value_if_false
. La formula classifica quindi ogni prodotto come Low
o High
.
Price Group =
IF(
'Product'[List Price] < 500,
"Low",
"High"
)
Il terzo esempio usa lo stesso test, ma questa volta annida una funzione IF per eseguire un test aggiuntivo. La formula classifica quindi ogni prodotto come Low
, Medium
o High
.
Price Group =
IF(
'Product'[List Price] < 500,
"Low",
IF(
'Product'[List Price] < 1500,
"Medium",
"High"
)
)
Mancia
Quando è necessario annidare più funzioni di IF, la funzione SWITCH potrebbe essere un'opzione migliore. Questa funzione offre un modo più elegante per scrivere un'espressione che restituisce più di due valori possibili.