Cube - Funzione CUBEVALUE

Descrizione

La funzione CUBEVALUE restituisce un valore aggregato dal cubo.

Sintassi

CUBEVALUE (connection, [member_expression1], [member_expression2], …)

argomenti

Discussione Descrizione Obbligatorio / Facoltativo
connessione Il nome della connessione al cubo. - Una stringa di testo necessario
espressione_membro

Una stringa di testo di un'espressione multidimensionale (MDX) che restituisce un membro o una tupla all'interno del cubo.

O

Un set definito con la funzione CUBESET.

Opzionale
  • Utilizzare l'argomento member_expression come filtro dei dati per definire la parte del cubo per la quale viene restituito il valore aggregato.

  • Se non è specificata alcuna misura in member_expression, viene utilizzata la misura predefinita per quel cubo.

Appunti

  • Quando la funzione CUBEVALUE valuta, visualizza temporaneamente un messaggio "# GETTING_DATA ..." nella cella prima che tutti i dati vengano recuperati.

  • Se un riferimento di cella viene utilizzato per member_expression e tale riferimento di cella contiene una funzione CUBE, member_expression utilizza l'espressione MDX per l'elemento nella cella di riferimento e non il valore visualizzato in quella cella di riferimento.

  • Se il nome della connessione non è una connessione della cartella di lavoro valida archiviata nella cartella di lavoro, CUBEVALUE restituisce un #NAME? Valore di errore. Se il server OLAP (Online Analytical Processing) non è in esecuzione, non è disponibile o restituisce un messaggio di errore, CUBEVALUE restituisce un #NAME? Valore di errore.

  • Se almeno un elemento all'interno della tupla non è valido, CUBEVALUE restituisce un #VALUE! Valore di errore.

  • CUBEVALUE restituisce un valore di errore # N / D quando

    • La sintassi member_expression non è corretta

    • Il membro specificato da member_expression non esiste nel cubo

    • La tupla non è valida perché non c'è intersezione per i valori specificati. (Ciò può verificarsi con più elementi della stessa gerarchia).

    • L'insieme contiene almeno un membro con una dimensione diversa rispetto agli altri membri.

    • CUBEVALUE può restituire un valore di errore # N / D se si fa riferimento a un oggetto basato sulla sessione, ad esempio un membro calcolato o un insieme denominato, in una tabella pivot quando si condivide una connessione. La tabella pivot viene eliminata o si converte la tabella pivot in formule. (Nella scheda Opzioni, nel gruppo Strumenti, fare clic su Strumenti OLAP, quindi su Converti in formule.)

Issue: Null values are converted to zero-length strings

  • In Excel, se una cella non ha dati perché non l'hai mai modificata o hai eliminato il contenuto, la cella contiene un valore vuoto. In molti sistemi di database, un valore vuoto è chiamato aNullvalore. Unempty o Nullvalore significa letteralmente "Nessun valore". Tuttavia, una formula non può mai restituire una stringa vuota o un valore Null. Una formula restituisce sempre uno dei tre valori:

    • Un valore numerico
    • Un valore di testo, che può essere una stringa di lunghezza zero
    • Un valore di errore, come #NUM! o #VALORE
  • Se una formula contiene una funzione CUBEVALUE connessa a un database OLAP (Online Analytical Processing) e una query a questo database restituisce un valore Null, Excel converte questo valore Null in una stringa di lunghezza zero, anche se la formula restituirebbe un numero valore. Ciò può portare a una situazione in cui un intervallo di celle contiene una combinazione di valori di stringa numerici e di lunghezza zero e questa situazione può influire sui risultati di altre formule che fanno riferimento a quell'intervallo di celle.

  • Ad esempio, se A1 e A3 contengono numeri e A2 contiene una formula con una funzione CUBEVALUE che restituisce una stringa di lunghezza zero, la formula seguente restituirà un #VALUE! Errore -

    = A1 + A2 + A3

  • Per evitare ciò, è possibile verificare una stringa di lunghezza zero utilizzando la funzione ISTEXT. È possibile utilizzare la funzione SE per sostituire la lunghezza zero con uno 0 (zero) come segue:

=IF(ISTEXT(A1),0,A1)+IF(ISTEXT(A2),0,A2)+IF(ISTEXT(A3),0,A3)
  • In alternativa, puoi 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 segue:

=IF (CUBEVALUE ("Sales","[Measures].[Profit]","[Time].[2004]",
   "[All Product].[Beverages]")="", 0, CUBEVALUE("Sales",
   "[Measures].[Profit]","[Time].[2004]","[All Product].[Beverages]"))

Applicabilità

Excel 2007, Excel 2010, Excel 2013, Excel 2016

Esempio