Condividi tramite


Utilizzo di valori vuoti

Un valore vuoto indica che un determinato membro, tupla o cella è vuoto. Una cella vuota indica che nella tabella dei fatti sottostante non è possibile trovare i dati per la cella specificata oppure che la tupla per la cella specificata rappresenta una combinazione di membri non applicabile per il cubo.

[!NOTA] Sebbene un valore vuoto sia diverso da un valore zero, i valori vuoti vengono gestiti come zero nella maggior parte dei casi.

Per i valori vuoti vale quanto segue:

  • La funzione IsEmpty restituisce TRUE se e solo se la cella identificata dalla tupla specificata nella funzione è vuota. In caso contrario, la funzione restituisce FALSE.

    [!NOTA] La funzione IsEmpty non è in grado di determinare se un determinato membro è vuoto. Per determinare se un determinato membro è vuoto, utilizzare l'operatore IS.

  • Quando il valore di cella vuota è un operando per un operatore numerico (+, -, *, /), verrà trattato come zero se l'altro operando è un valore non vuoto. Se entrambi gli operandi sono vuoti, l'operatore numerico restituirà il valore di cella vuota.

  • Quando il valore di cella vuota è un operando per l'operatore di concatenamento delle stringhe (+), verrà trattato come una stringa vuota se l'altro operando è un valore non vuoto. Se entrambi gli operandi sono vuoti, l'operatore di concatenamento delle stringhe restituirà il valore di cella vuota.

  • Quando il valore di cella vuota è un operando per gli operatori di confronto (=. <>, >=, <=, >, <), verrà trattato come zero o come una stringa vuota, a seconda che il tipo di dati dell'altro operando sia numeric o string, rispettivamente. Se entrambi gli operandi sono vuoti, verranno trattati come zero.

  • Quando si confrontano valori numerici, il valore di cella vuota occupa la stessa posizione dello zero. Nel confronto tra il valore di cella vuota e lo zero, il valore di cella vuota precede lo zero.

  • Quando si confrontano valori stringa, il valore di cella vuota occupa la stessa posizione della stringa vuota. Nel confronto tra il valore di cella vuota e la stringa vuota, il valore di cella vuota precede la stringa vuota.

Gestione di valori vuoti in cubi e istruzioni MDX

Nelle istruzioni MDX (Multidimensional Expressions) è possibile cercare valori vuoti e quindi eseguire determinati calcoli su celle contenenti dati validi, ovvero non vuote. L'eliminazione dei valori vuoti prima dell'esecuzione dei calcoli può essere molto importante, perché se vengono incluse celle vuote alcuni calcoli, ad esempio il calcolo della media, non vengono eseguiti correttamente.

Se nella tabella dei fatti sottostante possono essere archiviati valori vuoti e non si desidera includere valori di cella vuota nel cubo, sarà necessario creare query e istruzioni per la modifica dei dati che eliminano i valori vuoti o assegnano altri valori ai valori vuoti. È inoltre possibile utilizzare l'opzione Elaborazione valori Null su una misura per modificare fatti Null di modo che il valore Null venga convertito in 0 o in un valore vuoto oppure in modo da generare un errore durante l'elaborazione.

Valori vuoti e operatori di confronto

Se i dati includono valori vuoti, oltre a TRUE e FALSE gli operatori logici e di confronto possono restituire un terzo valore, EMPTY. Questa logica a tre valori è necessaria, ma causa numerosi errori nelle applicazioni. Nelle tabelle seguenti vengono indicati i risultati ottenuti quando si includono valori vuoti in un confronto.

Nella tabella seguente vengono indicati i risultati ottenuti quando si applica l'operatore AND a due operandi booleani.

AND TRUE EMPTY FALSE

TRUE

TRUE

FALSE

FALSE

EMPTY

FALSE

EMPTY

FALSE

FALSE

FALSE

FALSE

FALSE

Nella tabella seguente vengono indicati i risultati ottenuti quando si applica l'operatore OR a due operandi booleani.

OR TRUE FALSE

TRUE

TRUE

TRUE

EMPTY

TRUE

TRUE

FALSE

TRUE

FALSE

Nella tabella seguente viene illustrato come l'operatore NOT esegue la negazione, ovvero inverte, il risultato di un operatore booleano.

Espressione booleana a cui viene applicato l'operatore NOT Valore restituito

TRUE

FALSE

EMPTY

EMPTY

FALSE

TRUE

Vedere anche

Riferimento

Guida di riferimento alle funzioni MDX (MDX)
Guida di riferimento agli operatori MDX (MDX)

Concetti

Espressioni (MDX)

Altre risorse

Definizione e configurazione dell'utilizzo e delle relazioni delle dimensioni
Lezione 5: Definizione delle relazioni tra dimensioni e gruppi di misure

Guida in linea e informazioni

Assistenza su SQL Server 2005