Condividi tramite


IF

Si applica a:colonna calcolatatabella calcolata calcolo visivomisura

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_falseo BLANK.

Osservazioni

  • La funzione IF può restituire un tipo di dati variant se value_if_true e value_if_false sono di tipi di dati diversi, ma la funzione tenta di restituire un singolo tipo di dati se sia value_if_true che value_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) restituisce TRUE o 0, ma la formula IF(<condition>, 1.0, 0) restituisce solo valori decimali anche se value_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 è minore di 500. Quando questa condizione è true, viene restituito il valore basso. Poiché non è presente alcun valore 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, Mediumo 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.

IF.EAGER funzioneSWITCH (DAX)funzioni logiche