Condividi tramite


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 TRUEorFALSE.
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 ifvalue_if_trueandvalue_if_false sono di tipi di dati diversi, ma la funzione tenta di restituire un singolo tipo di dati if entrambi i value_if_trueandvalue_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) restituisce TRUEor 0, ma la formula IF(<condition>, 1.0, 0) restituisce solo valueseven decimale 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 della tabella Product seguenti usano la funzione IF in modi diversi per classificare ogni product in base all'elenco price.

Nell'esempio viene verificato se il della colonna list è minore di 500. Quando questa condizione è , viene restituita la bassa . Poiché non è presente alcun value_if_falsevalue, 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_falsevalue. La formula classifica quindi ogni product come LoworHigh.

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.

IF.EAGER funzioneSWITCH (DAX)funzioni logiche