Este artigo descreve a sintaxe da fórmula e o uso da função VALORCUBOno Microsoft Excel.
Descrição
Retorna um valor agregado do cubo.
Sintaxe
VALORCUBO(conexão; [expressão_membro1]; [expressão_membro2]; …)
A sintaxe da função VALORCUBO tem os seguintes argumentos:
-
Conexão Obrigatório. Uma cadeia de texto do nome da conexão com o cubo.
-
Expressão_membro Opcional. Uma cadeia de texto de uma expressão multidimensional (MDX) que resulta em um membro ou em uma tupla no cubo. De maneira alternativa, expressão_membro pode ser um conjunto definido com a função CONJUNTOCUBO. Use expressão_membro como um slicer para definir a porção do cubo para a qual o valor agregado é retornado. Se nenhuma medida for especificada na expressão_membro, será usada a medida padrão para esse cubo.
Comentários
-
Quando a função VALORCUBO faz uma avaliação, ela exibe temporariamente uma mensagem "#OBTENDO_DADOS…" na célula antes de todos os dados serem recuperados.
-
Se for usada uma referência de célula para expressão_membro, e essa referência de célula contiver uma função CUBO, a expressão_membro usará a expressão MDX para esse item na célula referenciada, e não o valor exibido nessa célula referenciada.
-
Se o nome da ligação não for uma ligação de livro válida armazenada no livro, VALORDO CUBO devolve uma #NAME? valor de erro. Se o servidor OLAP (Online Analytical Processing) não estiver em execução, não estiver disponível ou devolver uma mensagem de erro, VALORDO CUBO devolve uma #NAME? valor de erro.
-
Se, pelo menos, um elemento na cadeia de identificação for inválido, VALORDO CUBO devolve um #VALUE! valor de erro.
-
VALORCUBO retornará um valor de erro #N/D quando:
-
A sintaxe da expressão_membro estiver incorreta.
-
O membro especificado pela expressão_membro não existir no cubo.
-
A tupla será válida porque não haverá interseção para os valores especificados. (Isso pode ocorrer com vários elementos da mesma hierarquia.)
-
O conjunto contiver pelo menos um membro com uma dimensão diferente dos outros membros.
-
O VALORCUBO pode retornar um valor de erro #N/D se você fizer referência um objeto com base na sessão, como um conjunto nomeado ou membro calculado em uma Tabela Dinâmica ao compartilhar a conexão com a Tabela Dinâmica quando ela é excluída ou quando você a converte em fórmulas. (Na guia Opções no grupo Ferramentas clique em Ferramentas OLAP , e em Converter em Fórmulas.)
-
Problema: valores nulos são convertidos em cadeias de caracteres de comprimento zero
No Excel, quando uma célula não contém dados porque você nunca a alterou ou excluiu o conteúdo, ela contém um valor vazio. Em vários sistemas de bancos de dados, um valor vazio é chamado de valor Nulo. Um valor vazio ou Nulo significa literalmente "Sem valor". Entretanto, uma fórmula jamais pode retornar uma cadeia de caracteres vazia ou um valor Nulo. Uma fórmula sempre retorna um destes três valores: um número; um texto, que pode ser uma cadeia de comprimento zero, ou um erro como #NÚM! ou #VALOR.
Se uma fórmula contiver uma função VALOR CUBO ligada a uma base de dados de Processamento Analítico Online (OLAP) e uma consulta a esta base de dados resultar num valor Nulo, o Excel converte este valor Nulo numa cadeia de comprimento zero, mesmo que a fórmula devolvesse um valor numérico. Isto pode levar a uma situação em que um intervalo de células contém uma combinação de valores de cadeia numéricos e de comprimento zero, e esta situação pode afetar os resultados de outras fórmulas que referenciam esse intervalo de células. Por exemplo, se A1 e A3 contiverem números e A2 contiver uma fórmula com uma função VALOR CUBO que devolve uma cadeia de comprimento zero, a seguinte fórmula devolverá um #VALUE! erro:
=A1+A2+A3
Para evitar isso, é possível testar uma cadeia de comprimento zero, usando a função ÉTEXTO e a função SE para substituir o comprimento zero por um 0 (zero) como mostra o seguinte exemplo:
=SE(ÉTEXTO(A1);0;A1)+SE(ÉTEXTO(A2);0;A2)+SE(ÉTEXTO(A3);0;A3)
Como alternativa, é possível testar a função VALORCUBO em uma condição SE que retorne um valor 0 caso a função VALORCUBO avalie como cadeia de comprimento zero, como mostra o exemplo a seguir:
=SE(VALORCUBO("Vendas";"[Medidas].[Lucro]";"[Hora].[2004]";"[Todos os Produtos].[Bebidas]")=""; 0; VALORCUBO("Vendas";"[Medidas].[Lucro]";"[Hora].[2004]";"[Todos os Produtos].[Bebidas]"))
Observe que a função SOMA não exige o teste para uma cadeia de comprimento zero porque ignora automaticamente cadeias de comprimento zero durante o cálculo do valor de retorno.
Exemplos
VALORCUBO("Vendas";"[Medidas].[Lucro]";"[Hora].[2004]";"[Todos os Produtos].[Bebidas]")
=VALORCUBO($A$1;"[Medidas].[Lucro]";D$12;$A23)
=VALORCUBO("Vendas";$B$7;D$12;$A23)