Funzione IF

Viene controllato se viene soddisfatta una condizione fornita come primo argomento. Viene restituito un valore se la condizione è TRUE e un altro valore se la condizione è FALSE.

Sintassi

IF(logical_test>,<value_if_true>, value_if_false)

Parametri

Termine

Definizione

logical_test

Qualsiasi valore o espressione tramite cui venga restituito TRUE o FALSE.

value_if_true

Valore restituito se il test logico è TRUE. Se viene omesso, viene restituito TRUE.

value_if_false

Valore restituito se il test logico è FALSE. Se viene omesso, viene restituito FALSE.

Valore restituito

Qualsiasi tipo di valore che può essere restituito da un'espressione.

Osservazioni

Se il valore di value_if_true o value_if_false viene omesso, IF tratta l'argomento come valore di stringa vuoto ("").

Se il valore a cui viene fatto riferimento nell'espressione è una colonna, IF restituisce il valore corrispondente alla riga corrente.

La funzione IF tenta di restituire un singolo tipo di dati in una colonna. Se, pertanto, i valori restituiti da value_if_true e value_if_false sono di tipi di dati diversi, tramite la funzione IF verrà eseguita la conversione implicita dei tipi di dati per adattare entrambi i valori nella colonna. La formula IF(<condition>,TRUE(),0) restituisce, ad esempio, una colonna di valori uno e zero e i risultati possono essere sommati, ma formula IF(<condition>,TRUE(),FALSE()) restituisce solo valori logici. Per ulteriori informazioni sulla conversione implicita dei tipi di dati, vedere Tipi di dati supportati nelle cartelle di lavoro di PowerPivot.

Esempio

Nell'esempio seguente vengono utilizzate funzioni IF nidificate che restituiscono il numero nella colonna Calls della tabella FactCallCenter in Adventure Works DW Multidimensional 2012 . Tramite la funzione viene assegnata un'etichetta come indicato di seguito: low se il numero di chiamate è minore di 200, medium se il numero di chiamate è minore di 300 ma maggiore di 200 e high per tutti gli altri valori.

=IF([Calls]<200,"low",IF([Calls]<300,"medium","high"))

L'esempio seguente consente di ottenere un elenco di città che contengono clienti potenziali nell'area della California utilizzando le colonne della tabella ProspectiveBuyer in Adventure Works DW Multidimensional 2012 . Poiché l'elenco serve per pianificare una campagna destinata a persone sposate o con figli in casa, la condizione nella funzione IF consente di controllare il valore delle colonne [MaritalStatus] e [NumberChildrenAtHome] e di restituire come output la città se viene soddisfatta una delle due condizioni e il cliente risiede in California. In caso contrario, viene restituita una stringa vuota.

=IF([StateProvinceCode]= "CA" && ([MaritalStatus] = "M" || [NumberChildrenAtHome] >1),[City])

Si noti che le parentesi vengono utilizzate per controllare l'ordine con cui vengono utilizzati gli operatori AND (&&) e OR (||). Si noti inoltre che non è stato specificato alcun valore per value_if_false. La funzione restituisce pertanto il valore predefinito, ovvero una stringa vuota.

Vedere anche

Riferimento

Funzione TRUE

Funzione FALSE

Funzione NOT

Funzione IF

Altre risorse

Riferimento alle funzioni DAX