20 Fevereiro 2018

TM1 Rolling Periods (gerar anos e transferir dados na dimensão tempo)

1. IBM COGNOS TM1 – O QUE É?

O IBM Cognos TM1 é um software de planeamento que pode transformar todo o ciclo de planeamento, desde orçamento a report, scorecarding, análise e previsão.

2. TM1 - PROCESSOS TURBOINTEGRATOR

Um processo TurboIntegrator (TI) permite manipular data e metadata através do uso de funções nas subfunções do processo Prolog, Metadata, Data e Epilog. Essas subfunções incluem declarações baseadas nas configurações e opções selecionadas ao definir o processo TI.

3. DESENVOLVIMENTO DO MODELO

3.1. Construção da dimensão Tempo

Sendo a dimensão Tempo fixa, por exemplo, ano corrente e 10 anos seguintes, na mudança de ano interessa atualizar a dimensão para o novo ano corrente, isto é, o ano corrente passa para o seguinte, é acrescentado o último ano e mantêm-se os valores assignados aos anos corretos. Para isso começa-se por criar a dimensão Tempo com códigos nos elementos e o “nome” dos anos como atributo Alias. O atributo NextPeriod é definido pelo utilizador e indica qual o código/período seguinte.

 

3.2. Construção dos cubos

Para simplificar e uniformizar a construção de todos os cubos, optou-se pela atribuição da dimensão Tempo à segunda posição, independentemente do número de dimensões dos cubos.

 

4. PROCESSOS TI

4.1. Construção do processo TI de cálculo dos anos

Criação de um processo sem datasource e contendo apenas um parâmetro (string) com uma prompt question.

 

 

No Prolog começa-se por ler o ano corrente definido na dimensão Tempo e caso o parâmetro definido na prompt question seja diferente do ano corrente da dimensão, calculam-se os anos posteriores, no exemplo 10, com base nesse ano convertidos depois para o formato string. Posteriormente ao cálculo dos anos é dada a instrução de execução de processos TI separados por tamanho de cubo * (têm que ser executados tantos quanto o número de cubos que queremos atualizar) onde é passado um parâmetro com o nome do cubo a atualizar.

 

* É necessário construir um processo TI conforme o tamanho de cubos que existem no modelo, isto é, se existirem cubos de 2, 4, 5 e 6 dimensões é necessário construir 4 processos, um para o de 2 dimensões, outro para o de 4, outro para o de 5 e outro para o de 6.

 

4.2. Construção do processo TI para os cubos de diferentes dimensões

Exemplo para cubos de 4 dimensões - Inicia-se pela escolha da datasource do tipo IBM Cognos TM1 Cube View e escolhe-se um cubo com esse número de dimensões.

4.2.1. Variables

Altera-se o nome das dimensões/variáveis (de forma a tornar o processo dinâmico) para V1, V2, V3, V4 e Value com tipo de conteúdo Other.

4.2.2. Advanced - Parameters

Criar um novo chamado pCubo (parâmetro que vai receber na execução do processo de cálculo dos anos).

4.2.3. Advanced - Prolog

Definem-se novas variáveis (TABx), tantas quantas forem as dimensões dos cubos e lê-se do cubo essas dimensões com recurso à instrução TABDIM.

 

4.2.4. Advanced - Metadata (independente do número de dimensões)

Vazia.

4.2.5. Advanced - Data

Nesta subfunção verifica-se se existe índex na dimensão TABx do elemento Vx do cubo, acabando por se criarem novas variáveis (FinalVx).

Criam-se também 4 variáveis essenciais para a execução das condições do processo. As variáveis são (nrec = 1, selectedElement = ’’, selectedAttribute = ‘’ e nValor = Value).

No exemplo, a 3ª e 4ª dimensões só têm um elemento e dessa forma limita-se o processo a esses elementos.

WHILE (nrec <= 27 ) – para o processo correr apenas nos 4 anos anteriores ao corrente, nos 12 meses e nos 10 anos seguintes.

 

4.2.6. Advanced - Epilog (independente do número de dimensões)

CUBESETLOGCHANGES (pCubo, OldCubeLogChanges) – ativação da opção de registos do cubo.

5. Resultado Final