Exemplos adicionais de regra avançada
Constantes de dimensão
É possível especificar as constantes de dimensão criadas para o item, o local e o período no SCP com regras de cálculo. Isso pode ser usado para especificar todos os elementos de uma dimensão que devem receber o valor do elemento da constante, ou especificar mais apropriadamente um cálculo de destino para a constante de dimensão (texto de filtro).
Por exemplo, para especificar que todos os locais devem receber o valor da constante de local LCONST, o texto de definição da regra avançada seria ['LCONST']
.
Para especificar um cálculo com um destino do elemento de constante, o texto de filtro seria 'LCONST'
.
Valores nulos
Recomenda-se não preencher o OLAP com valores 0 onde nenhum valor deva existir. Em vez disso, use uma definição para nulo: #NA
.
Por exemplo, para especificar um valor nulo para uma regra de cálculo (ou elementos filtrados em um cálculo), o texto da definição da regra avançada deve ser: #NA
Comando STET
Para alguns elementos filtrados de um cálculo, é possível configurar o mecanismo de regras OLAP para usar o valor existente armazenado (e não calculá-lo para esse filtro/subseleção). Nesse caso, é possível usar o comando STET (latim para "deixe ficar"). Com base nesse comando, o OLAP não calcula a dimensão de destino e mantém o valor existente.
Comando GETATTR
Esta função permite recuperar um atributo em uma das dimensões de cubo, por exemplo, um atributo de item, local ou período, que pode se usado no cálculo.
Sintaxe:
GETATTR(DimName,ElemName,ATabID,FieldName)
Atributo | Descrição |
---|---|
DimName
|
Nome da dimensão: item, local, período, medida e cenário. |
ElemName
|
Um nome de elemento. |
ATabID
|
Número da tabela de atributos (padrão "1"). |
FieldName
|
Nome do campo de atributo. |
Por exemplo, para recuperar o atributo HPreviousPeriod (período hierárquico anterior) para um elemento de período dentro da dimensão de período:
GETATTR(%periods, !%periods,1,'HPreviousPeriod')
Comando DB
Esta função permite consultar um valor específico no cubo ou para fazer referência a um cubo alternativo com dimensões semelhantes.
Sintaxe:
DB(Cube,Dim1Element,Dim2Element,...,DimxElement)
Atributo | Descrição |
---|---|
Cube
|
O nome do cubo externo. |
Dim1Element
|
Um elemento da primeira dimensão desse cubo. |
Dim2Element
|
Um elemento da segunda dimensão desse cubo e assim por diante. |
O SCP tem cinco dimensões padrão (itens, locais, períodos, medidas e cenários) com dimensões de item e local adicionais para cada atributo dinâmico definido para esse módulo de período de ciclo (ou cubo). Isso deve ser especificado no comando DB e na ordem necessária. Se o cubo atual e o cubo de referência compartilharem as mesmas dimensões, será possível especificar o argumento para uma dimensão específica como uma variável. Assim, o cálculo cobre todos os elementos da dimensão que os cubos compartilham. Para especificar um argumento de dimensão como uma variável, defina o nome da dimensão como argumento, precedido de um ponto de exclamação: !itens
.
Por exemplo, para recuperar o valor de medida NSO_NET_SUPPLY do cubo para o elemento de período representado pelo atributo HPreviousPeriod e para os elementos correspondentes de outras dimensões:
DB(%cube, !%items, !%locations, GETATTR(%periods, !%periods,1,'HPreviousPeriod'), !%scenarios, 'NSO_NET_SUPPLY')