Questo articolo descrive la sintassi della formula e l'uso della funzione VALORE.CUBO in Microsoft Excel.
Descrizione
Restituisce un valore aggregato dal cubo.
Sintassi
VALORE.CUBO(connessione; [espressione_membro1]; [espressione_membro2]; …)
Gli argomenti della sintassi della funzione VALORE.CUBO sono i seguenti:
-
Connessione Obbligatorio. Stringa di testo che si riferisce al nome della connessione al cubo.
-
Espressione_membro1 Facoltativo. Stringa di testo di un'espressione multidimensionale (MDX) che restituisce un membro o una tupla all'interno del cubo. In alternativa, può essere un insieme definito mediante la funzione SET.CUBO. È possibile usare espressione_membro1 come filtro dei dati per la definizione della porzione del cubo per cui viene restituito il valore aggregato. Se in espressione_membro1 non viene specificata una misura, verrà usata la misura predefinita per il cubo.
Osservazioni
-
Quando viene eseguito il calcolo della funzione VALORE.CUBO, nella cella viene temporaneamente visualizzato il messaggio "#ESTRAZIONE_DATI_IN_CORSO", fino a quando non vengono recuperati tutti i dati.
-
Se per espressione_membro viene usato un riferimento di cella che contiene una funzione CUBO, verrà usata l'espressione MDX relativa all'elemento della cella cui si fa riferimento, non il valore visualizzato in tale cella.
-
Se il nome della connessione non è una connessione valida alla cartella di lavoro archiviata nella cartella di lavoro, VALORE.CUBO restituisce un valore di errore #NOME? . Se il server di elaborazione OLAP (Online Analytical Processing) non è in esecuzione, non è disponibile o restituisce un messaggio di errore, VALORE.CUBO restituisce un valore di errore #NOME? .
-
Se all'interno della tupla è presente almeno un elemento non valido, VALORE.CUBO restituirà il valore di errore #VALORE! .
-
Verrà restituito il valore di errore #N/D nei casi riportati di seguito.
-
La sintassi di espressione_membro non è corretta.
-
Il membro specificato da espressione_membro1 non è presente nel cubo.
-
La tupla non è valida in quanto non è presente alcuna intersezione per i valori specificati. Questa situazione può verificarsi quando sono presenti più elementi della stessa gerarchia.
-
L'insieme contiene almeno un membro la cui dimensione è diversa da quella degli altri membri.
-
VALORE.CUBO può restituire un valore di errore #N/D se quando si condivide una connessione si fa riferimento a un oggetto specifico della sessione, ad esempio un membro calcolato o un set denominato, in una tabella pivot e tale tabella pivot viene eliminata o convertita in formule. (Nella schedaOpzioni del gruppo Strumenti fare clic su Strumenti OLAP e quindi su Converti in formule).
-
Problema: i valori Null vengono convertiti in stringhe di lunghezza zero
In Excel, se una cella non contiene dati perché non è stata mai modificata o si elimina il contenuto, la cella contiene un valore vuoto. In molti sistemi di database, un valore vuoto viene chiamato valore Null. Valore vuoto o Null significa letteralmente "nessun valore". Tuttavia, una formula non può restituire una stringa vuota o un valore Null. Una formula restituisce sempre uno dei tre valori seguenti: un valore numerico, un valore di testo, che può essere una stringa di lunghezza zero, oppure un valore di errore, ad esempio #NUM! o #VALORE!
Se una formula contiene una funzione VALORE.CUBO collegata a un database OLAP (Online Analytical Processing) e una query a questo database restituisce un valore Null, Excel converte il valore Null in una stringa di lunghezza zero anche se la formula invece restituirebbe un valore numerico. Questo può portare a una situazione in cui un intervallo di celle contiene una combinazione di valori numerici e stringhe di lunghezza zero, che può influire sul risultato delle formule che fanno riferimento a tale intervallo di celle. Ad esempio, se A1 e A3 contengono numeri e A2 contiene una formula con una funzione VALORE.CUBO che restituisce una stringa di lunghezza zero, la formula seguente restituisce un errore #VALORE! :
=A1+A2+A3
Per impedire che ciò accada, è possibile provare una stringa di lunghezza zero usando la funzione VAL.TESTO e la funzione SE per sostituire la lunghezza zero con uno 0 (zero) come illustrato nell'esempio seguente:
=SE(VAL.TESTO(A1);0;A1)+SE(VAL.TESTO(A2);0;A2)+SE(VAL.TESTO(A3);0;A3)
In alternativa, è possibile annidare la funzione VALORE.CUBO in una condizione SE che restituisce un valore 0 se la funzione VALORE.CUBO restituisce una stringa di lunghezza zero come illustrato nell'esempio seguente:
=SE (VALORE.CUBO("Vendite";"[Misure].[Profitto]";"[Periodo].[2004]";"[Tutti i prodotti].[Bevande]")=""; 0; VALORE.CUBO("Vendite";"[Misure].[Profitto]";"[Periodo].[2004]";"[Tutti i prodotti].[Bevande]"))
Tenere presente che la funzione SOMMA non richiede tale test per una stringa di lunghezza zero in quanto ignora automaticamente tali stringhe quando ne calcola il valore restituito.
Esempi
=VALORE.CUBO("Vendite";"[Misure].[Profitto]";"[Periodo].[2004]";"[Tutti i prodotti ].[Bevande]")
=VALORE.CUBO($A$1;"[Misure].[Profitto]";D$12;$A23)
=VALORE.CUBO("Vendite";$B$7;D$12;$A23)