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
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.
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.
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
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.