CELLGET

Essa função retorna valores de um cubo com base nos elementos especificados. A função pode ser usada somente com bancos de dados compatíveis com ODBO e XMLA. É similar a uma fórmula ROC, mas é dinâmica. Ou seja, você não precisa especificar todos os elementos de uma dimensão. O elemento padrão é usado para as dimensões que você não especifica.

Esse dinamismo é especialmente relevante para modelos de relatório. O designer de um modelo pode especificar, por exemplo, que os usuários devem selecionar uma dimensão que contenha medidas ou uma dimensão que contenha períodos de tempo. Mas o designer não pode saber as dimensões reais que estão disponíveis para o usuário ou que o usuário selecionará. Portanto, qualquer fórmula que o designer de modelo inserir não deve referenciar dimensões, hierarquias ou elementos específicos. Cada argumento de uma fórmula CELLGET pode ser fornecido por uma variável.

A ordem em que as dimensões são especificadas não é importante. É possível referenciar um intervalo de células em uma fórmula CELLGET, em vez de referenciar cada célula individualmente.

A CELLGET suporta a seleção de vários elementos de uma única dimensão.

Sintaxe

=CELLGET("data_connection", "cube"{,"slice_element"})

Exemplo

=CELLGET( "BestPracticesOLAP", "Analysis", "[Period].[All Years].[2017]",
"[Product].[Car Tires All Season]")
	 

É possível usar CELLGET para referenciar elementos de várias dimensões individualmente ou como um intervalo. Portanto, se as células B4, B5, B6 e B7 tiverem um nome de elemento, estes dois exemplos produzirão o mesmo resultado:

=CELLGET("BestPracticesOLAP", "Analysis",B4,B5,B6,B7)
=CELLGET("BestPracticesOLAP","Analysis",B4:B7)

Quando você altera o valor da célula que contém a fórmula CELLGET, os valores são submetidos a write-back no banco de dados.

É possível usar uma fórmula CELLGET para referenciar uma célula em um hiperbloco.

Multisseleção

CELLGET suporta multisseleção. É possível substituir qualquer um dos elementos em uma fórmula CELLGET com referências a XML de multisseleção válido (MLS-XML). As referências podem ser de células ou de variáveis que contêm MLS-XML.

Neste exemplo, os elementos de 2016 e 2017 são armazenados como MLS-XML em uma variável de relatório:

=CELLGET("BestPracticesOLAP","ANALYSIS","[CHANNEL].[All Channels]","[MEASURE].[Gross Margin]",
"[POS].[All POS]","[PRODUCT].[All Tires]","[REGION].[All Regions].[Europe]",
ReportVariables.rv_multi.Text,"[VALTYPE].[Variance]")

Também é possível utilizar um intervalo para especificar vários elementos de uma dimensão:

Neste exemplo, os elementos de 2016 e 2017 são especificados em um intervalo.

=CELLGET("BestPracticesOLAP","ANALYSIS","[CHANNEL].[All Channels]","[MEASURE].[Gross Margin]"
,"[POS].[all pos]","[Product].[all tires]","[region].[all regions].[europe]",
"[Period].[all years].[2016]::[period].[all years].[2017]","[valtype].[variance]")
A função retorna a soma dos valores dos elementos individuais.