IF
Si applica a:colonna calcolatatabella calcolataMeasurecalcolo visivo
Controlla una condizione, and restituisce un value quando è TRUE
, in caso contrario restituisce un secondvalue.
Sintassi
IF(<logical_test>, <value_if_true>[, <value_if_false>])
Parametri
Termine | Definizione |
---|---|
logical_test |
Qualsiasi espressione valueor che può essere valutata per TRUE orFALSE . |
value_if_true |
Il value restituito if il test logico è TRUE . |
value_if_false |
(Facoltativo) Il value restituito if il test logico è FALSE .
If omesso, viene restituito BLANK. |
Restituisce value
Sia value_if_true
, value_if_false
, orBLANK
.
Osservazioni
La funzione IF può restituire un tipo di dati variant if
value_if_true
andvalue_if_false
sono di tipi di dati diversi, ma la funzione tenta di restituire un singolo tipo di dati if entrambi ivalue_if_true
andvalue_if_false
sono di tipi di dati numerici. In quest'ultimo caso, la funzione IFconvert in modo implicito per supportare sia values.Ad esempio, la formula
IF(<condition>, TRUE(), 0)
restituisceTRUE
or 0, ma la formulaIF(<condition>, 1.0, 0)
restituisce solo valueseven decimale 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 della tabella Product seguenti usano la funzione IF in modi diversi per classificare ogni product in base all'elenco price.
Nell'esempio value_if_false
value, viene restituito BLANK.
Gli esempi in questo articolo possono essere usati con il modello sample Adventure Works DW 2020 Power BI Desktop. Per ottenere il modello, vedere DAXsample modello.
Price Group =
IF(
'Product'[List Price] < 500,
"Low"
)
Nell'esempio second viene usato lo stesso test, ma questo time include un value_if_false
value. La formula classifica quindi ogni product come Low
orHigh
.
Price Group =
IF(
'Product'[List Price] < 500,
"Low",
"High"
)
Il terzo esempio usa lo stesso test, ma questo time annida una funzione IF per eseguire un test aggiuntivo. La formula classifica quindi ogni product come Low
, Medium
, orHigh
.
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 possibili values.