Métodos de distribuição de valores em valores de células consolidadas

Os comandos Splasher, que faz write-back de valores em células consolidadas, são prefixados com o símbolo hash (#). Em uso, o nome de cada comando splasher é abreviado para uma única letra, como C (Copiar) ou L (Like).

Se um valor de texto gravado em uma célula começar com uma dessas letras ou com o símbolo #, ou o nome completo de um comando splasher, o valor poderá ser analisado incorretamente como um comando splasher. Quando isto ocorre, a célula exibe #REF!.

Se o valor a ser gravado em uma célula for sempre texto, e nunca uma data ou número, você poderá evitar esse problema prefixando o valor com dois apóstrofos. O primeiro apóstrofo garante que a string não seja interpretada como um número ou uma data ou hora. O segundo apóstrofo garante que a string não seja interpretada como um comando splasher.

O problema ocorre apenas com valores de células, não com observações ou atributos de célula, por exemplo. Isso ocorrerá somente se o splash estiver habilitado.

Exemplo

Esta fórmula CELLWRITE parcial é destinada a gravar o valor de C2019-20 em uma célula.
=CELLWRITE("C2019-20","DEPM","BPCCONFIG_CYCLE","...

No entanto, o C é interpretado como um comando COPY e um erro #REF! é retornado.

A adição de dois apóstrofos após as aspas de abertura indica ao analisador que o valor não é um comando splasher nem um número ou uma data:

=CELLWRITE("''C2019-20","DEPM","BPCCONFIG_CYCLE","...

Alocar e modificar

Para cada método de write-back, é possível especificar a alocação ou a alteração de valores.

A alocação substitui os valores existentes. Por exemplo, se uma célula contiver 1 e você gravar 2 usando Alocar, o valor da célula se tornará 2.

A modificação altera os valores existentes pelo valor inserido. Por exemplo, se uma célula contiver 1 e você gravar 2 usando Modificar, o valor da célula se tornará 3.

Os comandos Modificar são prefixados com a letra E comercial (&).

Métodos e comandos de write-back

Por padrão, os métodos de write-back são adicionais: eles aumentam os valores existentes de várias maneiras. É possível alterar a sintaxe de cada método de write-back para subtrair valores e para especificar valores por porcentagem.

Nessa seção, para os exemplos de sintaxe de alocação Ponderada, Uniforme, Base e Como, [valor] pode ser prefixado com o sinal de menos (-) para gravar valores negativos. Eles podem também ser seguidos pelo símbolo de porcentagem (%) para corrigir valores por uma porcentagem.

Por exemplo:
Sintaxe Explicação
&W20 Acrescenta 20 ao valor da célula
&W-20 Subtrai 20 do valor da célula
&W5% Aumenta o valor da célula em 5%

O sinal de mais (+) está implícito, mas é possível explicitá-lo (por exemplo, &W+20). Cada método de write-back oferece suporte a duas ou três sintaxes. Por exemplo, #W[valor] e #@[valor] são equivalentes. Exemplos que contêm dimensão específica e nomes de elementos baseiam-se no aplicativo Samples.

Ponderada

As proporções entre os valores de filhos são mantidas quando o valor do pai deles é aumentado ou reduzido.

Alocação ponderada: #W[value]

Se você usar a alocação ponderada para gravar em uma célula pai um valor que é, por exemplo, o dobro do valor existente, o valor de cada filho também dobrará.

Modificação ponderada: &W[value]

Se você usar a modificação ponderada para gravar em uma célula pai um valor que é, por exemplo, o dobro do valor existente, o valor de cada filho também dobrará e será somado ao valor existente.

Exemplo

O valor da célula pai é 9, e o valor de cada um de seus três filhos é 3. Você insere 18 na célula pai com alteração ponderada. O valor de cada célula filha é dobrado e somado ao valor existente. Dessa forma, o valor de cada célula filha se torna 9. O valor da célula pai se torna 27.

Igual

Os valores que você especificar nas células pai são distribuídos uniformemente entre os filhos dela.

Alocação uniforme: #E[value]

Um valor inserido em uma célula pai substitui o valor existente e é distribuído uniformemente entre os filhos.

Exemplo

Uma célula pai possui três filhos. Você grava 12 na célula pai com alocação uniforme. O valor de cada célula filha se torna 4.

Modificação uniforme: &E[value]

Um valor inserido em uma célula pai é distribuído uniformemente entre as células filhas e somado ao valor existente.

Exemplo

O valor da célula pai é 12. Há três células filhas, cada uma com um valor de 4. Você insere 12 na célula pai com alteração uniforme. O valor 12 é distribuído uniformemente entre os filhos e somado ao valor existente. O valor de cada célula filha se torna 8 e o da célula pai se torna 24.

Base

Um valor gravado em uma célula pai é gravado em cada célula filha. O valor da célula pai é atualizado.

Alocação base: #B[value]

O valor que você grava em uma célula pai é gravado em cada célula filha, substituindo o valor existente.

Exemplo

Uma célula pai possui três filhos. Você grava 2 na célula pai com alocação base. O valor de cada célula filha se torna 2 e o da célula pai se torna 6.

Modificação base: &B[value]

Um valor que você grava em uma célula pai é gravado em cada filho e somado ao valor existente.

Exemplo

Uma célula pai possui três filhos. O valor da célula pai é 2. Dessa forma, o valor da célula pai é 6. Você insere 2 na célula pai com alteração base. O valor 2 é gravado em cada célula filha e somado ao valor existente. O valor de cada filha se torna 4 e o da célula pai se torna 12.

COPY

É possível copiar valores de uma área de cubo para outra, como, por exemplo, os valores reais do orçamento de um ano para outro. Neste exemplo, os valores reais são a origem e o orçamento é o destino.

Você grava o comando 'Copiar' na célula de destino. No comando, é necessário especificar somente as dimensões e os elementos que diferenciam a área de origem do cubo da área de destino. É necessário especificar apenas os elementos quando eles pertencem inequivocamente a uma dimensão específica.

Copiar - alocação: #C[Tuple]

Copiar - alterar: &C[Tuple]

Uma tupla é o endereço de uma área específica do banco de dados. Neste caso, a tupla é o endereço dos dados que você deseja copiar. É recomendável que você use nomes exclusivos de elementos para especificar a tupla.

Os valores que você copiar de uma área de cubo para outra substituem os valores existentes.
Nota

COPY com alocação usa Base ponderada externa como método de write-back específico ao OLAP quando os elementos de origem e destino são elementos consolidados (C) ou de base (N). No caso de elementos C, a estrutura dos elementos abaixo deve ser semelhante. Ou seja, os elementos de origem e destino devem ter os mesmos números de filhos, netos etc. Em outros casos, o método Ponderada externa é usado.

COPY com alteração usa Delta ponderado externo como método de write-back.

Exemplos

Você deseja copiar os valores reais do quarto trimestre de 2006 no orçamento do mesmo trimestre. Selecione a célula que contém os valores do orçamento do trimestre e especifique:

#COPY [VALTYPE].[Variance].[Actual];[PERIOD].[All Years].[2006].[2006_Q4]

Você deseja copiar os valores reais do terceiro trimestre alemão de 2006 no orçamento do quarto trimestre francês de 2006.

Selecione a célula que contém o orçamento do quarto trimestre e especifique:

#COPY [REGION].[All Regions].[Europe].[Germany];[VALTYPE].[Variance].[Actual];[PERIOD].[All Years].[2006].[2006_Q3]

COPYFULL

O comando COPYFULL funciona da mesma forma que COPY, mas copia valores que são calculados por regras.
Nota

COPYFULL com alocação usa Ponderada externa como método específico de write-back do OLAP.

COPYFULL com alteração usa Delta ponderado externo.

Elementos de dados

O Microsoft Analysis Services oferece suporte a elementos de dados. Um elemento de dados é uma cópia de um elemento pai, mas que não tem o status de pai. É possível aplicar write-back a um membro de dados sem afetar os elementos filhos.

Exemplo

Você tem uma hierarquia de funcionários em que o gerente é o elemento pai. Se você estiver planejando o salário do gerente, poderá fazer write-back de um valor no elemento de dados Gerente em vez de fazê-lo no elemento Gerente. Dessa maneira, os salários dos outros funcionários não afetarão nem serão afetados pelo do gerente.

LIKE

É possível distribuir valores para filhos de uma célula consolidada nas mesmas proporções dos valores dos filhos de outra célula consolidada.

Grave o comando Como na célula de destino. No comando, especifique somente as dimensões e os elementos que diferenciam a área de origem do banco de dados da área de destino. Se os elementos pertencerem de forma inequívoca a uma dimensão específica, não será necessário especificar os elementos.

No comandos de write-back, L indica Like.

LIKE - alocação: #L[value][Tuple]

LIKE - alteração: &L[value][Tuple]

Uma tupla é o endereço de uma área específica do banco de dados. Neste caso, a tupla é o endereço da área de origem do banco de dados.

Exemplo

Os valores de vendas do quarto trimestre para a Espanha em 2005 são iguais a 60. Os valores para os meses individuais são outubro 10, novembro 20 e dezembro 30.

Para ver qual efeito a venda de 600 causaria no primeiro trimestre de 2006 na Itália (se o valor for distribuído nas mesmas proporções das vendas no quarto trimestre de 2005 na Espanha), selecione a célula contendo as vendas do primeiro trimestre para a Itália e insira:

#L 600 [REGION].[All Regions].[Europe].[Spain];[PERIOD].[All Years].[2005].[2005_Q4]

As vendas do primeiro trimestre para a Itália tornam-se 600. Os valores para os meses individuais tornam-se janeiro 100, fevereiro 200 e março 300.

#delete

Para excluir todos os valores de uma fatia do banco de dados, especifique #excluir em uma célula que contém uma fórmula de write-back (por exemplo, WBC).

LIKEFULL

LIKEFULL combina LIKE e COPYFULL. Ou seja, ela permite fazer write-back de um valor especificado, mas utilizando Ponderada externa como o modo de write-back. A sintaxe para alocação é:

#LIKEFULL [value] [tuple]

Para alteração, a sintaxe é:

&LIKEFULL [value] [tuple]. Delta ponderado externo é usado como método de write-back.