O manual do T6 Planning oferece uma visão abrangente sobre o uso de fórmulas e funções no software, destacando a versatilidade desde cálculos simples até operações avançadas. Explora a execução automática de fórmulas em resposta a alterações nos dados, incluindo a capacidade de execução manual através de um assistente. O capítulo de desempenho fornece dicas práticas para otimizar o uso de fórmulas, identificando gargalos e problemas em ciclos. Além disso, o manual aborda as funções disponíveis e os tipos de parâmetros, buscando proporcionar aos usuários uma compreensão detalhada das propriedades e características das fórmulas para uma utilização eficiente no contexto do T6 Planning.
O módulo de fórmulas permite escrever todas as regras de negócio conforme mapeamento criado a partir do modelo em Excel. Sempre que possível ou necessário serão criadas contas de apoio para demonstrar a memória de cálculo das contas, porém isso não é regra e pode-se optar pelo cálculo direto de uma conta quando esta forma for mais otimizada matematicamente ou já existir função interna disponível.
As fórmulas do T6 Planning são uma poderosa ferramenta para a execução de cálculos sobre os dados do modelo.
O T6 Planning permite desde a criação de fórmulas simples com operações básicas, até fórmulas complexas com condicionais ou cálculos avançados. Além disso, oferece ao usuário uma vasta gama de funções prontas para auxiliar ainda mais na elaboração e criação de cálculos complexos. Este manual descreve detalhadamente as propriedades e características das fórmulas disponíveis na solução T6 Planning, visando proporcionar um maior entendimento quanto a utilização de configurações avançadas.
Neste tópico iremos explicar um pouco mais sobre o que são a estrutura e a criação das fórmulas do T6, suas características e funcionalidades.
As fórmulas são ferramentas importantíssimas para a realização de cálculos sobre os dados e através delas o T6 torna possível a realização de manipulações avançadas sobre os dados salvos nas tabelas da Fato.
Para podermos criar, visualizar e executar fórmulas dentro do T6, precisaremos ter as seguintes funcionalidades habilitadas:
Funcionalidades de usuário
Funcionalidade de grupo global
A estrutura básica de uma fórmula é constituída por quatro etapas de configuração, as quais são exibidas em abas no panel de fórmulas, sendo elas Fórmula, Escopo, Descritivo e Dados.
É a primeira etapa do processo de criação da fórmula. De preenchimento obrigatório; Dentro de fórmula, teremos Aplicação, Tipo, Grupo de fórmulas, Posição, Nome da fórmula e Expressão;
Aplicação: Campo que informa em qual aplicação a fórmula será criada. Após a criação não será mais possível editar esta informação;
Tipo: Campo de preenchimento obrigatório onde seleciona-se o tipo da fórmula:
Grupo de fórmulas: Campo opcional onde selecionaremos o grupo da fórmula (funcionalidade para agrupar fórmulas dentro do T6, utilizada para organizar as fórmulas por contexto, categoria ou finalidade);
Posição: Campo não editável; Indica o posicionamento da fórmula em relação às demais; O posicionamento se refere a ordem em que as fórmulas serão executadas, é gerado automaticamente pelo T6 durante a publicação do cubo;
O T6 leva em conta as novas fórmulas criadas ou possíveis alterações que tenham ocorrido nas fórmulas já existentes. É possível realizar o posicionamento manual de ordenação das fórmulas na Lista de Fórmulas, porém, ao publicar o Cubo, o T6 irá reposicioná-las, de acordo com a melhor ordem para execução.
Exemplo:
| Posição | Fórmula |
|---|---|
| 1 | [A] = [B] + [C] |
| 2 | [B] = [D] + [E] |
A fórmula da posição 1 tem um membro [B] que é calculado por outra fórmula. Porém, pela ordenação, a fórmula que calcula [B] está na segunda posição. Ao publicar o Cubo, o T6 automaticamente fará o reposicionamento da fórmula [B] = [D] + [E] para antes da fórmula [A] = [B] + [C], pois somente após calcular [B] será possível calcular o valor de [A].
Nome da fórmula: Campo obrigatório, deve ser preenchido com o nome da fórmula.
Expressão: Campo onde é realizado o detalhamento da fórmula, representa a expressão que a fórmula irá realizar em sua execução. Assemelha-se a uma expressão matemática, contém um operando sendo igualado a uma sequência de operandos e operadores intercalados, sempre iniciando e encerrando com um operando.
Exemplo:
[C1] = [C2] + [C3]
[C1]: Operando que receberá o resultado da expressão. Este operando também é conhecido operando resultante;
[C2]: Operando que será utilizado no cálculo da expressão;
+ : Operador a ser utilizado no cálculo da expressão;
[C3]: Operando que será utilizado no cálculo da expressão.
Neste exemplo, o valor de [C1] será igual ao valor de [C2] mais o valor de [C3].
Em uma expressão, os operandos podem ser: Membro, Número, Função e Bloco;
O operando resultante deve ser obrigatoriamente um membro, onde o mesmo pode ou não possuir escopo.
Dentre os operadores temos: Soma (+), Subtração (-), Multiplicação (*), Divisão (/) e Potência (^);
No campo expressão, poderemos utilizar o autocomplete digitando no mínimo 3 caracteres (após 1 segundo serão exibidas as sugestões), ou, clicando em CTRL + ESPAÇO que exibirá as sugestões para inserção.
Temos um botão que exibe as Funções disponíveis para seleção:
.
As funções são os auxiliadores para a criação de fórmulas, permitindo cálculos mais elaborados, além de oferecerem acesso a diversas informações do modelo.
Para informações complementares referentes às funções no T6, acesse: Fórmulas e Funções
Permite filtrar o contexto de execução de uma fórmula. Com isto, a execução da fórmula será realizada de acordo com os filtros inseridos.
Utilizando o escopo é possível filtrar em quais membros da dimensão a fórmula será executada. Se nenhum filtro for inserido na dimensão, a fórmula será executada em todos os membros.
Os filtros de execução na aba escopo são exibidos como checkboxes, nos filtros teremos:
As fórmulas com esta propriedade ativa são chamadas de Fórmulas Online; As fórmulas em que a propriedade está desativada são chamadas de Fórmulas Off-line.
Sempre que a premissa de uma fórmula tiver o seu valor alterado, direta ou indiretamente, a fórmula será executada, alterando os seus valores, deixando então a expressão da fórmula verdadeira novamente.
Executar Apenas no Planejado: Esta opção está disponível apenas em aplicações de Planejamento e permite executar a fórmula apenas no cenário planejado. Quando esta propriedade estiver ativada, o cálculo da fórmula será realizado apenas nos períodos configurados como planejado.
Executar Apenas no Realizado: Esta opção está disponível apenas em aplicações de Planejamento e permite executar a fórmula apenas no cenário realizado. Quando esta propriedade estiver ativa, o cálculo da fórmula será realizado apenas nos períodos configurados como realizado.
Caso deseje rodar a fórmula em ambos os cenários, Planejado e Realizado, desmarque ambas as caixas de seleção.
Permitir Persistir Zero: Ao selecionarmos a checkbox, a fórmula poderá salvar o valor zero na fato; Normalmente, no T6 o valor zero não é salvo na fato, porém em alguns casos específicos isso se faz necessário.
Executar nas Agregações: Esta opção está disponível apenas para fórmulas do tipo In-Memory. Quando esta propriedade estiver ativa, o cálculo da fórmula será realizado nos níveis agregados.
Executar nas Folhas: Esta opção está disponível apenas para fórmulas do tipo In-Memory. Quando esta propriedade estiver ativa, o cálculo da fórmula será realizado nos níveis folha.
Cálculo Vivo: Quando esta propriedade estiver ativa, o cálculo da fórmula será realizado sempre que uma das premissas for alterada pelo usuário, sem a necessidade de salvar os dados.
Permite descrever a função da fórmula ou seus objetivos, de modo a fornecer uma descrição detalhada sobre a fórmula.
Permite visualizar informações referentes ao escopo de execução da fórmula, tornando possível analisar cada expressão gerada pela fórmula e a visualização de dados destas expressões, na aba dados, temos, Expressão, Distintos e Resultado;
Expressão: Em expressão, podemos ver o escopo de execução de fórmula, exibindo cada uma das premissas de forma separada;
Distintos: Em distintos, podemos visualizar a combinação única dos membros alterado pela expressão, em distintos teremos Conta, Tempo, Cenário e Entidade, assim, poderemos visualizar onde os dados estão sendo alterados por aquela expressão;
Resultado: Em resultado, podemos fazer um preview dos dados que temos no modelo com base na expressão selecionada;
Para criar uma nova fórmula, siga os seguintes passos:
;Toda nova fórmula recebe um posicionamento automático temporário. Após a publicação do cubo, o T6 ajusta o posicionamento de todas as fórmulas de forma automática.
Com a expressão configurada podemos seguir para o escopo, não há impeditivo para navegar entre as abas, porém, para configurar o escopo precisamos ter a expressão configurada.
para selecionarmos os membros e os atributos que irão compor o escopo da fórmula;A = B + C, será exibido na lista B, C e B + C;- **Distintos**: Exibe uma lista com os valores distintos das tuplas onde existem dados para a expressão selecionada;
- **Resultado**: Exibe uma lista com os valores encontrados em diversas tuplas para a expressão selecionada.
Após a criação de uma fórmula, é necessário efetuar a publicação do cubo para que ela possa ser utilizada!
A lista de fórmulas existentes na aplicação pode ser acessada a partir da tela principal do T6 Planning, através do Menu -> Modelagem -> Fórmulas.

O sistema exibirá a tela Fórmulas, a qual contém a listagem de todas as fórmulas da aplicação.

A configuração de fórmulas é feita a partir da tela Fórmulas.
Esta tela contém várias funcionalidades e, entre outras funções, permitirá que você ordene, adicione, edite, remova e execute fórmulas, além de visualizar ciclos ou intersecções nas fórmulas.
Para um melhor entendimento, observe as funcionalidades numeradas e destacadas na imagem abaixo, e a seguir, acompanhe o detalhamento e a utilização de cada funcionalidade.

Lista de Fórmulas: Trata-se de uma grid que exibe a listagem das fórmulas existentes no modelo e que contém as seguintes colunas:
Configuração da listagem e uso das funcionalidades:
Tipo: Trata-se de combobox que permite filtrar as fórmulas com base no tipo selecionado, exibindo apenas as fórmulas referentes ao grupo selecionado.
Grupo de Fórmula: Trata-se de combobox que permite filtrar a listagem das fórmulas com base no Grupo selecionado, exibindo apenas as fórmulas referentes ao grupo selecionado.
Aplicação: Trata-se de combobox que permite filtrar as fórmulas com base na aplicação selecionada, exibindo apenas as fórmulas referentes a aplicação selecionada.
Executar fórmulas automaticamente: Trata-se de uma checkbox, a qual deverá ser desmarcada quando você desejar desabilitar temporariamente a execução automática das fórmulas. O uso desta funcionalidade reflete em toda a lista de fórmulas.
Botões de Ação: São os botões localizados no canto inferior direito da tela.
Uso dos botões:
Opções dos botões:
Menu Ações: É o menu de opções localizado no canto inferior direito da tela.
Opções do menu ações:
Menu Ferramentas: É o menu de opções localizado no canto superior direito da tela. O menu ferramentas contém funcionalidades que, quando utilizadas, afetam automaticamente todo o conteúdo da lista de fórmulas. Assim sendo, não é preciso fazer a seleção prévia de uma determinada fórmula na listagem.
Opções do menu ferramentas:
Utilize esta funcionalidade para criar uma nova fórmula ou alterar as propriedades de uma fórmula já existente.

Os botões Adicionar e Editar estão em destaque na imagem acima. Ao clicar nos botões Adicionar ou Editar, será exibida a tela Fórmula. Nesta tela constam as 4 etapas de configuração da fórmula, conforme destaque na imagem a seguir.

Para dar início a configuração, tanto para Adição quanto para Edição de uma fórmula, utilize os seguintes passos:
Na tela Fórmula – Aba FÓRMULA:
Aplicação: Indica em qual aplicação a fórmula foi criada.
Tipo: Indica o tipo da fórmula.
Grupo da Fórmula: Campo opcional, no qual você poderá selecionar um grupo para a fórmula.
Posição: Indica o posicionamento da fórmula em relação às demais. O posicionamento se refere à ordem em que as fórmulas serão executadas.
Nome da Fórmula: Campo de preenchimento obrigatório, onde você deverá inserir o nome da fórmula.
Funções: Seu uso está atrelado ao campo Expressão. Ao clicar sobre este campo, será exibida a tela Lista de Funções. Você poderá selecionar uma função, considerando a sua necessidade com base na descrição da mesma. Para maiores detalhes sobre as funções existentes, consulte o Capítulo Funções, neste manual.
Expressão: Campo de preenchimento obrigatório, onde deverá ser informado o detalhamento da fórmula. Observe alguns pontos que vão facilitar o detalhamento:
Na imagem a seguir, os destaques em vermelho apontam os campos de preenchimento obrigatório. O destaque em azul mostra o assistente de preenchimento do campo Expressão.
Observe que toda nova fórmula recebe um posicionamento automático temporário. Após publicar o Cubo, o T6 Planning irá acertar o posicionamento de todas as fórmulas.
Para finalizar, clique em OK. A lista de fórmulas será atualizada.

Na tela Fórmula – Aba ESCOPO:

Na tela Fórmula – Aba DESCRITIVO:

Na tela Fórmula – Aba DADOS:

Visando facilitar a cópia de fórmulas sem alterar a estrutura original, o T6 Planning disponibiliza um botão que permite que uma nova fórmula seja criada, idêntica a atual. O botão Duplicar permite replicar uma fórmula e otimizar o tempo de criação de fórmulas.

Utilize esta funcionalidade para criar grupos de fórmulas e melhor organizar as Fórmulas por contexto, categorias ou finalidade.
Para adicionar um Grupo de Fórmulas:
No menu T6 Planning, acesse Explorer -> Navegador.

No lado esquerdo da tela, você encontrará a listagem de pastas do sistema.
Selecione a pasta na qual você deseja salvar o Grupo de Fórmulas.
Na barra de opções, clique em Novo Item, expanda o item Modelagem clicando sobre ele, e depois clique em Grupo de Fórmulas.

O novo Grupo de Fórmulas irá aparecer na parte central da tela, na lista de grupo de fórmulas.
Nomeie o grupo.

Para Editar um Grupo de Fórmulas:
Na lista de grupo de fórmulas, selecione o Grupo de Fórmulas que deseja editar, clicando sobre o mesmo.
Em seguida, na barra de opções, clique no botão Editar.

Será exibida uma janela pop-up. O campo aplicação já está definido, você deve então informar o nome do grupo que está sendo criado, sendo o campo Nome de preenchimento obrigatório. Em seguida clique em Ok.

Sempre que uma alteração ou inserção de dados é realizada, o T6 Planning identifica as fórmulas envolvidas no cálculo destes dados e as executa. Caso haja uma dependência entre alguma dessas fórmulas, ela também será executada.
O T6 Planning utiliza este sistema de identificação para evitar que todas as outras fórmulas existentes sejam recalculadas sem que tenha ocorrido qualquer alteração nos dados.
Este capítulo irá mostrar como funcionam os ciclos, dependências, parâmetros e execução de fórmulas no T6 Planning.
Quando a aplicação possui diversas fórmulas que interagem entre si, ou quando há uma dependência entre elas, este conjunto de fórmulas é chamado de ciclo.
Ao publicar o cubo, o T6 Planning ordena as fórmulas de acordo com as dependências. Caso a fórmula esteja em um ciclo. A fórmula irá permanecer na mesma posição em relação as fórmulas que se encontram no ciclo. Ou seja, as fórmulas devem ser ordenadas dentro de um ciclo manualmente.
Os ciclos de fórmulas podem ser visualizados em: -> janela Ordernar Fórmulas –> Ferramentas –> Ciclos. Esta visualização é utilizada para verificar quando algum ciclo é criado sem querer e caso seja necessário apagar alguma fórmula, sabendo onde isso irá impactar.
Exemplo:
Em uma aplicação temos os membros: A, B e C, e iremos criar duas fórmulas:
Fórmula 1:
[C] = [A] + [B]
Fórmula 2:
A = Lag([C], -1)
(Clique no link a seguir caso tenha dúvidas quanto à Função Lag.)
Após publica-las vamos voltar para a tela fórmulas.
Em ferramentas, dentro da tela de fórmulas, teremos a opção Ciclos, ao clicarmos, serão exibidos os ciclos existentes entre as fórmulas.
Na exibição do ciclo, teremos as fórmulas que criamos anteriormente, e ao lado do seu nome, uma numeração entre parênteses, que estará definindo o elo de dependência entre as fórmulas.
É exibido também, ao lado do nome do ciclo, se temos Recursão e/ou se temos Referência Circular.
Temos um parâmetro da aplicação chamado Iteração Máxima em Fórmulas que tem como valor padrão 1, alterar esse valor pode gerar uma grande perca de performance na sua aplicação.
A dependência entre fórmulas pode ser caracterizada como direta ou indireta, conforme os percursos entre as fórmulas.
Um ciclo é um grupo de formulas onde a execução das mesmas pode ocorrer com recursão e/ou referência circular.
A recursão é um percurso da dependência mútua de um ciclo onde ocorrem variações nas dimensões do modelo, e onde todas as fórmulas do ciclo são executadas a cada membro folha da dimensão, alterando apenas o resultado naquele contexto.
Na execução de um ciclo com recursão, a cada membro folha da dimensão, todas as fórmulas do ciclo são executadas. Podemos citar como exemplo a dimensão Tempo, que pode apresentar uma referência a um período anterior, executando todas as fórmulas do ciclo mês a mês, e contendo cálculos em que o saldo inicial do mês corrente é o resultado do saldo final do mês anterior. Já o saldo final do mês corrente será o saldo inicial mais um movimento qualquer.
Quando é uma recursão, temos pelo menos um caminho onde teremos que trocar um membro da dimensão horizontalmente, ou seja, quando temos um Lag o ponto de conexão entre as fórmulas é um Lag, isso quer dizer que estamos andando de lado em um contexto, fazendo uma iteração em membros de mesmo nível em uma dimensão. (caso não seja definida uma dimensão, o Lag automaticamente selecionará a dimensão Tempo)
EXEMPLO:
([C],[2024].[Janeiro]) = ([A],[2024].[Janeiro]) + ([B],[2024].[Janeiro])
([A],[2024].[Janeiro]) = ([C],[2023].[Dezembro])
A recursão torna a execução da fórmula mais lenta conforme o número de períodos a serem calculados, quanto mais períodos, mais lenta.
Quando há uma fórmula dependendo de outra sem que haja variação na dimensão, ocorre uma referência circular. Na execução de um ciclo com referência circular, todas as fórmulas do ciclo são executadas N vezes, onde N é definido na tabela de parâmetros da aplicação, através do parâmetro MaximumFormulasIteration, o qual possui como padrão o valor 1.
Neste parâmetro é informado qual será o número máximo de iterações utilizadas para resolver fórmulas com referência circular. Enquanto os valores resultantes continuarem sendo alterados pela execução, o T6 Planning continuará iterando; por isso, o ideal é que este parâmetro permaneça com o valor padrão 1, uma vez que, na maioria dos casos, basta uma única iteração para que o T6 Planning consiga resolver a referência circular.
Temos algumas operações onde queremos realizar vários cálculos no mesmo mês, entretanto, não temos uma interação horizontal na dimensão, porém, o cálculo vai mudar de acordo com o número de interações que utilizamos.
Por exemplo: No caso da dimensão Tempo, quando todo o cálculo das fórmulas ocorre dentro do mesmo mês. Neste caso, o sistema executa as fórmulas para todos os meses diversas vezes, conforme as interações vão acontecendo.
A intersecção acontece quando temos duas ou mais fórmulas calculando a mesma célula em um formulário;
Podemos através do wizard de fórmulas, em ferramentas, selecionar a opção intersecção, que irá listar as fórmulas que estão calculando o mesmo ponto do cubo.
NUNCA VAMOS QUERER TER INTERSECÇÃO NO MODELO!
É a funcionalidade que permite executar manualmente uma ou mais fórmulas do modelo.Para utilizá-la, siga os passos abaixo.
Na tela Fórmulas:

Na tela Assistente de Execução das Fórmulas Especiais – etapa FÓRMULAS:

Na tela Assistente de Execução das Fórmulas Especiais – etapa ESCOPO DE EXECUÇÃO:

Na tela Assistente de Execução das Fórmulas Especiais – etapa RESUMO:

Na tela Assistente de Execução das Fórmulas Especiais – etapa FINALIZADA:

Esta funcionalidade exibe a listagem de execuções de uma determinada fórmula, permitindo que sejam feitas análises para verificar quais fórmulas estão tendo um maior consumo de tempo.
Na tela Fórmulas:

Na tela Execução de Fórmulas, uma listagem exibe em colunas os seguintes detalhes:

Para visualizar mais detalhes sobre uma determinada execução, clique no botão Visualizar Detalhes, na linha desejada.

Será aberto um popup com mais detalhes da execução.
É importante ressaltar que, caso o parâmetro EnableLogs não esteja habilitado, será exibida somente a última execução da fórmula, pois os registros das execuções anteriores não serão mantidos. Para mais detalhes sobre os parâmetros do T6 Planning consulte o Manual STD Parâmetros Setup.

Neste capítulo serão abordados alguns pontos importantes, que irão lhe ajudar a obter o máximo de desempenho na utilização de fórmulas no T6 Planning.
Para um melhor desempenho das fórmulas, siga as seguintes instruções:
Para identificar gargalos de implementação das fórmulas, identifique o formulário que está apresentando lentidão ao salvar os dados e confira os passos a seguir:
Limpe a tabela de log de fórmulas com o seguinte SQL:
TRUNCATE TABLE REP_LOGFORMULA
Salve dados no formulário que está apresentando lentidão e verifique o tempo total de salvamento em segundos.
Para saber o tempo de salvamento das fórmulas em segundos, execute o seguinte SQL:
SELECT SUM((DATEDIFF(MS,datExecutionStart,datExecutionEnd) / 1000)) as Duration FROM REP_LOGFORMULA
Para saber o tempo total de execução das fórmulas em segundos, execute o seguinte SQL:
SELECT (DATEDIFF(MS,(SELECT MIN(datExecutionStart) FROM REP_LOGFORMULA),(SELECT MAX(datExecutionEnd) FROM REP_LOGFORMULA)) / 1000) as Duration
Para saber o tempo de execução de cada uma das fórmulas em segundos, execute o seguinte SQL:
SELECT (DATEDIFF(MS,datExecutionStart,datExecutionEnd) / 1000) as Duration, dscFormulaName FROM REP_LOGFORMULA ORDER BY Duration DESC
Divida o valor encontrado no passo cinco pelo valor encontrado no passo três e multiplique o resultado por cem. Este valor representa a percentagem do tempo utilizado com fórmulas. Caso esta percentagem esteja com um valor muito próximo a cem, veja no resultado do passo cinco quais fórmulas estão contribuindo mais para o problema de desempenho.
Divida o resultado do passo quatro pelo passo cinco e multiplique o resultado por cem. Este valor representa a percentagem de execução do SQL Server em relação ao tempo total de execução das fórmulas. Caso este valor não fique próximo a cem, a aplicação pode estar apresentando problemas de desempenho.
Para lhe ajudar a identificar problemas específicos em ciclos, iremos descrever algumas ocorrências e como solucioná-las.
Cálculo incorreto em um ciclo com recursão de fórmulas mês a mês
Cálculo incorreto em um ciclo com recursão de fórmulas dependentes
Cálculo incorreto em um ciclo com referência circular
Para verificar se o problema de lentidão no salvamento do formulário está associado às fórmulas:
Uma vez identificada quais fórmulas estão com problemas de desempenho, verifique se existe uma melhor maneira de realizar o mesmo cálculo.
Verifique se há alguma intersecção interferindo no desempenho dos cálculos. Intersecções são ocorrências onde duas fórmulas ou expressões estão calculando a mesma tupla, o que não pode ocorrer em nenhuma hipótese, pois isto gera recálculo, sobrecarga no banco de dados e degradação da performance.
Sempre que houver necessidade, você pode acessar a tela Ordenar Fórmulas – Intersecções; verificar se há alguma intersecção criada por engano, como uma fórmula duplicada por exemplo, e removê-la.
Neste capítulo serão abordadas as funções disponíveis na aplicação e suas finalidades.
Para acessar a lista de funções no menu principal do T6 Planning acesse Modelagem -> Fórmulas.
Será exibida a tela Fórmulas. Clique no botão Adicionar no lado inferior direito da tela.

Será exibida a tela que apresenta a Lista de Funções da aplicação. Você poderá navegar entre as funções disponíveis e visualizar a descrição da mesma. Após selecionar a função desejada, clique no botão Ok.

Neste campo serão apresentados os Tipos de Parâmetos usados nas funções do T6 Planning.
Uma característica aplicável aos membros da dimensão.
Exemplo:


Conjunto de elementos a serem calculados.
Exemplo:
(2 + 3 + 4) = Bloco numérico
Coluna de uma tabela do banco de dados.
Exemplo:

Expressão que compara dois valores utilizando os sinais abaixo, e retorna verdadeiro ou falso.
= igual a
!= diferente de
> maior que
>= maior ou igual a
< menor que
<= menor ou igual a
Exemplo:

Condicional a ser testada. Este parâmetro deve ser uma comparação entre dois operandos. Sua sintaxe deve ser um operando seguido de um comparador seguido de um operando.
O operando deve ser:
Exemplo:

Uma dimensão é uma hierarquia organizada de categorias, ou membros. As dimensões representam elementos da empresa.
Exemplo: Os elementos podem ser tangíveis, como Funcionários, Produtos ou Contas, ou podem representar importantes modos de exibição dos dados comerciais, como Processos Empresariais, Tempo e Cenário.


Agrupamentos de membros diferentes pertencentes à mesma dimensão.
Exemplo:


Um membro da dimensão é uma única posição ou um item em uma dimensão. O conjunto formado por um membro de cada dimensão representa um contexto na tabela de fatos.
Exemplo:

É um conjunto de membros, sendo um de cada dimensão.
Exemplo:


Representa o nível hierárquico entre os membros de uma mesma dimensão. Sendo Pai (Nível 1), Filho (Nível 2), Neto (Nível 3), etc.
Exemplo:

Conceito matemático para a representação de medida, ordem ou quantidade.
Exemplo:
Os números inteiros são constituídos de todos os números positivos naturais, negativos e o zero.
Exemplo: Z= {...,−1, −2, −3,−4 ...} or
Os números inteiros positivos são constituídos dos números positivos naturais, incluindo o zero.
Exemplo: Z+=
Tabela de Banco de Dados.
Exemplo:

Números inteiros ou com casas decimais.
Exemplo:

Neste tópico serão listadas as funções disponíveis no T6 Planning, descrição, Syntax e os parâmetros de cada uma delas.
Descrição:
Retorna o valor absoluto de um número, eliminando o sinal negativo caso exista. O valor absoluto representa a magnitude do número original, independentemente do seu sinal. É utilizada quando se deseja trabalhar com valores sem considerar se são positivos ou negativos, como em análises de variações, desvios ou ajustes financeiros.
Syntax:
ABS(Item)
Parâmetros:
| Nome | Descrição | Tipos de parâmetros | Obrigatório | Repetições |
|---|---|---|---|---|
| Item | Valor cujo módulo será calculado | Membro, Membro com Escopo, Bloco | Sim | Não |
| Fórmula | Descrição | Resultado |
|---|---|---|
| ABS([Variação Orçamento]) | Valor absoluto de 500,00 | 500,00 |
| ABS([Variação Orçamento]) | Valor absoluto de -300,00 | 300,00 |
Descrição do Resultado: A função retorna o módulo do valor informado. Para uma variação negativa de R$ -300,00, a função retorna R$ 300,00, desconsiderando o sinal negativo e permitindo comparações de magnitude entre períodos.
Descrição:
Realiza o reajuste percentual de um valor base, aplicando uma variação positiva ou negativa. A fórmula utilizada internamente é Resultado = Valor × (1 + Percentual / 100). É amplamente utilizada em planejamento para simular reajustes salariais, aumentos de preço ou correções de orçamento ao longo do tempo.
Syntax:
Adjust(Item, Percentage, Attribute)
Parâmetros:
| Nome | Descrição | Tipos de parâmetros | Obrigatório | Repetições |
|---|---|---|---|---|
| Item | Valor base que será reajustado | Membro, Membro com Escopo, Bloco | Sim | Não |
| Percentage | Percentual de reajuste a ser aplicado | Membro, Membro com Escopo | Sim | Não |
| Attribute | Atributo da dimensão para segmentação do reajuste | Dimensão, Atributo, Valor | Não | Sim |
| Dados | Descrição |
|---|---|
| 5.000,00 | Salário atual (Item) |
| 8% | Percentual de reajuste (Percentage) |
| Fórmula | Descrição | Resultado |
|---|---|---|
| [Salário Reajustado] = Adjust([Salário], [% Reajuste]) | Aplica um reajuste de 8% ao salário atual | 5.400,00 |
Descrição do Resultado: O salário de R$ 5.000,00 é multiplicado por (1 + 8/100) = 1,08, resultando em R$ 5.400,00. Para reajustes negativos (ex.: -5%), o valor seria multiplicado por 0,95.
Descrição:
Retorna a soma dos valores de um membro dentro de um intervalo de períodos definido por uma data de início e uma data de fim. Apenas os períodos compreendidos entre as duas datas (inclusive) são considerados no cálculo. É utilizada para calcular totais em janelas temporais específicas, como o total de salários pagos entre a admissão e a demissão de um colaborador.
Syntax:
Between(Value, StartDate, EndDate)
Parâmetros:
| Nome | Descrição | Tipos de parâmetros | Obrigatório | Repetições |
|---|---|---|---|---|
| Value | Valor a ser somado no intervalo de períodos | Membro, Membro com Escopo | Sim | Não |
| StartDate | Data ou período de início do intervalo | Membro, Membro com Escopo | Sim | Não |
| EndDate | Data ou período de fim do intervalo | Membro, Membro com Escopo | Sim | Não |
| Dados | Descrição |
|---|---|
| 3.000,00 | Salário mensal (Value) |
| Jan/24 | Data de admissão (StartDate) |
| Mai/24 | Data de demissão (EndDate) |
| Fórmula | Descrição | Resultado |
|---|---|---|
| Between([Salário Mensal], [Tempo].[2024].[Janeiro/24], [Tempo].[2024].[Maio/24]) | Soma o salário mensal nos 5 meses entre janeiro e maio de 2024 | 15.000,00 |
Descrição do Resultado: A função soma o salário de R$ 3.000,00 para cada um dos 5 meses do intervalo (jan, fev, mar, abr, mai), retornando o total de R$ 15.000,00. Períodos fora do intervalo informado não são considerados.
Descrição:
Cria um produto cartesiano entre um item e uma ou mais dimensões especificadas, distribuindo ou replicando o valor por todas as combinações possíveis dos membros das dimensões fornecidas. É utilizada quando se deseja propagar um valor base para todas as combinações de dimensões, como distribuir um orçamento total por todas as combinações de produto e cenário.
Syntax:
Cartesian(Item, Dimension1, Dimension2, ..., DimensionN)
Parâmetros:
| Nome | Descrição | Tipos de parâmetros | Obrigatório | Repetições |
|---|---|---|---|---|
| Item | Valor a ser distribuído pelo produto cartesiano | Membro, Membro com Escopo, Bloco | Sim | Não |
| Dimension | Dimensão cujos membros participarão do produto cartesiano | Dimensão | Sim | Sim |
| Dados de Exemplo | ||
|---|---|---|
| Produto | Cenário | Valor de Venda |
| Smartphone | Orçado | R$ 10.000,00 |
| Smartphone | Realizado | R$ 10.000,00 |
| TV | Orçado | R$ 10.000,00 |
| TV | Realizado | R$ 10.000,00 |
| Fórmula | Descrição | Resultado |
|---|---|---|
| [Vendas Total] = Cartesian([Vendas Total], [Produto], [Cenário]) | Distribui o valor de [Vendas Total] para cada combinação de membros das dimensões Produto e Cenário | R$ 10.000,00 replicado em todas as 4 combinações |
Descrição do Resultado: O valor de R$ 10.000,00 é replicado para as quatro combinações geradas pelo produto cartesiano entre Produto e Cenário: Smartphone/Orçado, Smartphone/Realizado, TV/Orçado e TV/Realizado.
Descrição:
Arredonda um número para cima, retornando o menor inteiro que seja maior ou igual ao valor especificado. Opcionalmente, é possível informar uma precisão decimal para controlar o nível de arredondamento. É utilizada em cálculos de provisões, quantidades e orçamentos onde valores fracionados devem ser sempre arredondados para cima por critério de segurança.
Syntax:
Ceiling(Number, Precision)
Parâmetros:
| Nome | Descrição | Tipos de parâmetros | Obrigatório | Repetições |
|---|---|---|---|---|
| Number | Número a ser arredondado para cima | Membro, Membro com Escopo, Bloco | Sim | Não |
| Precision | Precisão decimal do arredondamento | Número Inteiro | Não | Não |
| Fórmula | Descrição | Resultado |
|---|---|---|
| Ceiling([Qtd Unidades]) | Arredonda 2,3 unidades para cima sem precisão | 3 |
| Ceiling([Custo Unitário], 2) | Arredonda 15,234 para cima com 2 casas decimais | 15,24 |
| Ceiling([Provisão], 0) | Arredonda 1.234,70 para cima sem casas decimais | 1.235 |
Descrição do Resultado: A função garante que valores fracionados sejam sempre arredondados para cima. Com precisão 2, o valor 15,234 se torna 15,24. Sem precisão definida, o arredondamento é realizado para o inteiro imediatamente superior.
Descrição:
Calcula o crescimento composto de um valor ao longo dos períodos, aplicando uma taxa de crescimento percentual sobre o valor acumulado do período anterior e somando um incremento fixo. A fórmula utilizada é: Resultado = Valor Anterior × (1 + Taxa/100) + Incremento. É utilizada para projetar crescimento de receitas, salários ou qualquer grandeza que cresça de forma composta ao longo do tempo.
Syntax:
CGrow(Start, Grow, %GrowRate)
Parâmetros:
| Nome | Descrição | Tipos de parâmetros | Obrigatório | Repetições |
|---|---|---|---|---|
| Start | Valor base inicial do primeiro período | Membro, Membro com Escopo | Sim | Não |
| Grow | Incremento fixo adicionado a cada período | Membro, Membro com Escopo | Sim | Não |
| %GrowRate | Taxa percentual de crescimento composto | Membro, Membro com Escopo | Sim | Não |
| Dados | Descrição |
|---|---|
| 1.000,00 | Valor inicial (Start) |
| 200,00 | Incremento fixo por período (Grow) |
| 10% | Taxa de crescimento composto (%GrowRate) |
| Fórmula | Descrição |
|---|---|
| CGrow([Receita Base], [Incremento Mensal], [% Crescimento]) | Calcula o valor acumulado aplicando crescimento composto e incremento fixo a cada período |
| Conta | Período 1 | Período 2 | Período 3 | Período 4 |
|---|---|---|---|---|
| Valor Inicial (Start) | 1.000,00 | 1.320,00 | 1.682,00 | 2.090,20 |
| Incremento (Grow) | 200,00 | 200,00 | 200,00 | 200,00 |
| Taxa (%GrowRate) | 10% | 10% | 10% | 10% |
| Resultado do Período | 1.320,00 | 1.682,00 | 2.090,20 | 2.559,22 |
Descrição do Resultado: A cada período, o crescimento composto é aplicado sobre o resultado acumulado anterior, somando-se o incremento fixo. O crescimento é composto, ou seja, cada período cresce sobre um valor já maior do que o anterior.
Descrição:
Calcula o saldo de fechamento com base no saldo de abertura, somando os valores de entrada e subtraindo os valores de saída. Implementa a fórmula contábil clássica: Saldo Final = Saldo Inicial + Entradas - Saídas. É fundamental em contextos financeiros e contábeis para calcular saldos finais de contas, estoques ou fluxo de caixa ao longo do tempo.
Syntax:
Closing(Opening, In, Out)
Parâmetros:
| Nome | Descrição | Tipos de parâmetros | Obrigatório | Repetições |
|---|---|---|---|---|
| Opening | Saldo inicial do período | Membro, Membro com Escopo | Sim | Não |
| In | Movimentos de entrada | Membro, Membro com Escopo | Sim | Sim |
| Out | Movimentos de saída | Membro, Membro com Escopo | Não | Sim |
| Dados | Descrição |
|---|---|
| 1.000,00 | Saldo inicial (Opening) |
| 500,00 | Movimentos de entrada (In) |
| 200,00 | Movimentos de saída (Out) |
| Fórmula | Descrição | Resultado |
|---|---|---|
| [Saldo Final] = Closing([Saldo Inicial], [Entradas], [Saídas]) | Calcula o saldo final somando entradas e subtraindo saídas do saldo inicial | 1.300,00 |
| Conta | Período 1 |
|---|---|
| Saldo Inicial (Opening) | 1.000,00 |
| Movimentos de Entrada (In) | 500,00 |
| Movimentos de Saída (Out) | 200,00 |
| Saldo Final | 1.300,00 |
Descrição do Resultado: O saldo final de R$ 1.300,00 é obtido somando o saldo inicial (R$ 1.000,00) às entradas (R$ 500,00) e subtraindo as saídas (R$ 200,00). Múltiplos parâmetros de entrada e saída podem ser informados, todos sendo somados ou subtraídos respectivamente.
Descrição:
Calcula o saldo de fechamento com variação percentual, uma versão mais sofisticada da função Closing. Além das entradas e saídas diretas, aplica percentuais de variação sobre o saldo inicial e um divisor de amortização. A fórmula é: Saldo Final = Opening + (Opening × In%) - (Opening × Out%) - (Opening ÷ Divider) + Entradas - Saídas. É utilizada para modelar saldos de financiamentos, provisões com remuneração e depreciações combinadas.
Syntax:
ClosingVariance(Opening, OpeningIn%, OpeningOut%, DividerOutput, In, Out)
Parâmetros:
| Nome | Descrição | Tipos de parâmetros | Obrigatório | Repetições |
|---|---|---|---|---|
| Opening | Saldo inicial do período | Membro, Membro com Escopo | Sim | Não |
| Opening In % | Percentual de variação positiva aplicado ao saldo inicial | Membro, Membro com Escopo, Número | Sim | Não |
| Opening Out % | Percentual de variação negativa aplicado ao saldo inicial | Membro, Membro com Escopo, Número | Sim | Não |
| Divider Output | Divisor aplicado ao saldo inicial para amortização ou redução | Membro, Membro com Escopo, Número | Sim | Não |
| In | Movimentos de entrada adicionais | Membro, Membro com Escopo | Sim | Sim |
| Out | Movimentos de saída adicionais | Membro, Membro com Escopo | Não | Sim |
| Dados | Descrição |
|---|---|
| 10.000,00 | Saldo inicial (Opening) |
| 2% | Percentual de juros sobre o saldo (Opening In %) |
| 1% | Percentual de taxa de serviço (Opening Out %) |
| 24 | Prazo de amortização em meses (Divider Output) |
| 500,00 | Aportes adicionais (In) |
| 200,00 | Retiradas (Out) |
| Fórmula | Descrição | Resultado |
|---|---|---|
| [Saldo Final] = ClosingVariance([Saldo], [% Juros], [% Taxa], [Prazo], [Aportes], [Retiradas]) | Calcula o saldo final aplicando juros, taxa e amortização sobre o saldo inicial | 10.383,33 |
Descrição do Resultado: O saldo de R$ 10.000,00 recebe juros de 2% (+R$ 200,00), desconta a taxa de serviço de 1% (-R$ 100,00), desconta a parcela de amortização (10.000 ÷ 24 = -R$ 416,67), soma os aportes (+R$ 500,00) e subtrai as retiradas (-R$ 200,00), resultando em R$ 9.983,33.
Descrição:
Acumula um valor ao longo dos períodos aplicando operações compostas: soma um incremento, multiplica por uma taxa e adiciona um incremento pós-multiplicação. Utiliza internamente uma CTE (Common Table Expression) recursiva para garantir a propagação correta do valor acumulado entre períodos. O parâmetro Restart permite reiniciar o acumulado a partir de um valor específico em qualquer período.
Syntax:
CumAdjust(Increment, Multiplier%, IncrementAfterMultiplier, Restart)
Parâmetros:
| Nome | Descrição | Tipos de parâmetros | Obrigatório | Repetições |
|---|---|---|---|---|
| Increment | Valor de incremento adicionado ao acumulado a cada período | Membro, Membro com Escopo | Sim | Não |
| Multiplier % | Percentual multiplicador aplicado sobre o valor acumulado | Membro, Membro com Escopo, Número | Não | Não |
| Increment After Multiplier | Incremento adicionado após a multiplicação | Membro, Membro com Escopo, Número | Não | Não |
| Restart | Valor que reinicia o acumulado no período seguinte | Membro, Membro com Escopo | Não | Não |
Resultado com Incremento
| Dados | Descrição | |
|---|---|---|
| 100 | Acumulado (valor do período anterior, calculado pela própria fórmula) | |
| 100 | Incremento | |
| Fórmula | Descrição | Resultado |
| [Acumulado] = CumAdjust([Increment]) | Soma o incremento ao valor acumulado do período anterior | 200 |
Resultado com Incremento e Multiplicador
| Dados | Descrição | |
|---|---|---|
| 100 | Acumulado (valor do período anterior) | |
| 100 | Incremento | |
| 10% | Multiplicador % | |
| Fórmula | Descrição | Resultado |
| [Acumulado] = CumAdjust([Increment], [Multiplier]) | Soma o incremento e aplica o multiplicador sobre o total | 220 |
Resultado com Incremento após a Multiplicação
| Dados | Descrição | |
|---|---|---|
| 100 | Acumulado (valor do período anterior) | |
| 100 | Incremento | |
| 10% | Multiplicador % | |
| 100 | Incremento após multiplicação | |
| Fórmula | Descrição | Resultado |
| [Acumulado] = CumAdjust([Increment], [Multiplier], [IncrementAfterMultiplier]) | Soma o incremento, aplica o multiplicador e soma o incremento pós-multiplicação | 320 |
Resultado com Restart
| Dados | Descrição | |
|---|---|---|
| 100 | Acumulado (valor do período anterior) | |
| 100 | Incremento | |
| 10% | Multiplicador % | |
| 100 | Incremento após multiplicação | |
| 0 | Restart | |
| Fórmula | Descrição | Resultado |
| [Acumulado] = CumAdjust([Increment], [Multiplier %], [IncrementAfterMultiplier], [Restart]) | Calcula o acumulado e reinicia no próximo período com o valor de Restart | 320 (atual), 0 (próximo) |
Exemplo de aplicação do Restart:

Descrição do Resultado: O parâmetro Restart substitui o valor acumulado no período atual, fazendo com que o próximo período inicie com o valor informado em Restart ao invés do valor calculado.
Descrição:
Acumula progressivamente os valores de um membro ao longo dos períodos, retornando a soma de todos os valores desde o primeiro período até o período atual. A cada período, o resultado é a soma dos valores de todos os períodos anteriores mais o valor do período atual. É utilizada para calcular totais acumulados no ano (YTD), acumulados de vendas ou qualquer métrica que precise ser somada progressivamente.
Syntax:
Cumulate(Value[, TipoCalculo])
Parâmetros:
| Nome | Descrição | Tipos de parâmetros | Obrigatório | Repetições |
|---|---|---|---|---|
| Value | Valor a ser acumulado período a período | Membro, Membro com Escopo | Sim | Não |
| TipoCalculo | Tipo de cálculo a ser utilizado: "normal" (padrão), "window" ou "windowfull" |
Valor | Não | Não |
| Dados | Descrição |
|---|---|
| Jan: 100,00 | Receita de Janeiro (Value) |
| Fev: 150,00 | Receita de Fevereiro |
| Mar: 120,00 | Receita de Março |
| Fórmula | Período | Resultado Acumulado |
|---|---|---|
| Cumulate([Receita Mensal]) | Janeiro | 100,00 |
| Cumulate([Receita Mensal]) | Fevereiro | 250,00 |
| Cumulate([Receita Mensal]) | Março | 370,00 |
Descrição do Resultado: A função soma todos os valores desde o início até o período atual. Em março, o acumulado de R$ 370,00 representa a soma de janeiro (100,00) + fevereiro (150,00) + março (120,00).
Descrição:
Distribui um valor de entrada ao longo de múltiplos períodos futuros, aplicando um percentual específico a cada período de defasagem. Cada parâmetro %Period corresponde a um período deslocado em relação ao período da transação original. É amplamente utilizada para modelar inadimplência, recebimentos parcelados de vendas ou pagamentos distribuídos no tempo.
Syntax:
Delay(Input, %Period1, %Period2, ..., %PeriodN)
Parâmetros:
| Nome | Descrição | Tipos de parâmetros | Obrigatório | Repetições |
|---|---|---|---|---|
| Input | Valor total a ser distribuído pelos períodos | Membro, Membro com Escopo | Sim | Não |
| % Period | Percentual a ser aplicado em cada período de defasagem | Membro, Membro com Escopo, Número | Sim | Sim |
| Dados | Descrição |
|---|---|
| 10.000,00 | Valor da venda (Input) |
| 40% | Recebimento no mês da venda (1º %Period) |
| 35% | Recebimento no mês seguinte (2º %Period) |
| 25% | Recebimento em 2 meses (3º %Period) |
| Fórmula | Período | Resultado |
|---|---|---|
| Delay([Vendas], [% Mês 0], [% Mês 1], [% Mês 2]) | Janeiro (mês da venda) | 4.000,00 |
| Delay([Vendas], [% Mês 0], [% Mês 1], [% Mês 2]) | Fevereiro | 3.500,00 |
| Delay([Vendas], [% Mês 0], [% Mês 1], [% Mês 2]) | Março | 2.500,00 |
Descrição do Resultado: O valor da venda de R$ 10.000,00 é distribuído ao longo de 3 meses: 40% (R$ 4.000,00) recebido no mês da venda, 35% (R$ 3.500,00) no mês seguinte e 25% (R$ 2.500,00) dois meses depois. A soma dos percentuais deve totalizar 100%.
Descrição:
Calcula a depreciação linear de um bem ou ativo com base no seu valor e tempo de vida útil. A fórmula é: Depreciação = Valor do Bem ÷ Vida Útil. A depreciação linear distribui a perda de valor de forma constante e uniforme a cada período. É utilizada em planejamento financeiro para provisionar a desvalorização de ativos imobilizados como equipamentos, veículos e instalações.
Syntax:
Depr(Capitalization, Life)
Parâmetros:
| Nome | Descrição | Tipos de parâmetros | Obrigatório | Repetições |
|---|---|---|---|---|
| Capitalization | Valor do bem a ser depreciado | Membro, Membro com Escopo | Sim | Não |
| Life | Tempo de vida útil do bem (em períodos) | Membro, Membro com Escopo | Sim | Não |
| Dados | Descrição |
|---|---|
| 60.000,00 | Valor do veículo (Capitalization) |
| 60 | Vida útil em meses (Life) |
| Fórmula | Descrição | Resultado |
|---|---|---|
| Depr([Valor Veículo], [Vida Útil]) | Calcula a depreciação linear mensal do veículo | 1.000,00 por mês |
Descrição do Resultado: O veículo de R$ 60.000,00 é depreciado linearmente ao longo de 60 meses, gerando uma despesa de depreciação de R$ 1.000,00 por mês. Ao final dos 60 meses, o valor total depreciado será igual ao valor original do bem.
Descrição:
Retorna o valor dos membros descendentes de um membro na hierarquia, excluindo o valor do próprio membro especificado. Ou seja, retorna apenas a soma dos membros filhos e todos os níveis inferiores. É utilizada quando se deseja obter o detalhamento de um total hierárquico sem incluir o valor agregado do nível pai, como obter as vendas por região sem incluir o total geral.
Syntax:
Descendants(Member)
Parâmetros:
| Nome | Descrição | Tipos de parâmetros | Obrigatório | Repetições |
|---|---|---|---|---|
| Member | Membro pai cujos descendentes serão retornados | Membro, Membro com Escopo | Sim | Não |
| Dados | Descrição |
|---|---|
| Total Vendas: 300.000,00 | Membro pai (não incluído no resultado) |
| Sul: 80.000,00 | Descendente 1 |
| Sudeste: 120.000,00 | Descendente 2 |
| Norte: 100.000,00 | Descendente 3 |
| Fórmula | Descrição | Resultado |
|---|---|---|
| Descendants([Total Vendas]) | Retorna os valores de cada região descendente, sem incluir o total | Sul: 80.000, Sudeste: 120.000, Norte: 100.000 |
Descrição do Resultado: A função retorna os valores das três regiões (Sul, Sudeste e Norte) sem incluir o valor agregado de "Total Vendas". É útil para detalhar componentes individuais de uma hierarquia sem o risco de duplicar o total.
Descrição:
Calcula a diferença entre o valor do membro atual e o primeiro valor encontrado na hierarquia, considerando deslocamentos vertical (nível pai) e horizontal (período). É utilizada para análises comparativas em estruturas hierárquicas, como calcular a variação de cada mês em relação ao primeiro mês do ano ou de cada produto em relação ao produto base da hierarquia.
Syntax:
DiffFirstValue(Item, Parent, Lag, Dimension)
Parâmetros:
| Nome | Descrição | Tipos de parâmetros | Obrigatório | Repetições |
|---|---|---|---|---|
| Item | Valor do membro para o qual se calcula a diferença | Membro, Membro com Escopo, Bloco | Sim | Não |
| Parent | Deslocamento vertical na hierarquia (nível pai) | Número Inteiro Positivo | Sim | Não |
| Lag | Deslocamento horizontal (períodos) | Número Inteiro | Sim | Não |
| Dimension | Dimensão em que o primeiro valor será buscado | Dimensão, Hierarquia | Não | Não |
| Dados | Descrição |
|---|---|
| Jan/24: 100.000,00 | Receita de Janeiro (primeiro valor na hierarquia Tempo) |
| Fev/24: 120.000,00 | Receita de Fevereiro |
| Mar/24: 140.000,00 | Receita de Março |
| Fórmula | Período | Resultado |
|---|---|---|
| DiffFirstValue([Receita], 0, 0, [Tempo]) | Janeiro | 0 |
| DiffFirstValue([Receita], 0, 0, [Tempo]) | Fevereiro | 20.000,00 |
| DiffFirstValue([Receita], 0, 0, [Tempo]) | Março | 40.000,00 |
Descrição do Resultado: A função subtrai o primeiro valor da hierarquia (Janeiro = R$ 100.000,00) do valor de cada período. Fevereiro apresenta variação de +R$ 20.000,00 e março de +R$ 40.000,00 em relação ao primeiro mês.
Descrição:
Calcula a diferença entre o valor do membro atual e o último valor encontrado na hierarquia, considerando deslocamentos vertical (nível pai) e horizontal (período). É utilizada para análises de variação em relação ao fechamento, como comparar cada mês com o resultado final do ano ou identificar quanto cada item está abaixo ou acima do último valor de referência.
Syntax:
DiffLastValue(Item, Parent, Lag, Dimension)
Parâmetros:
| Nome | Descrição | Tipos de parâmetros | Obrigatório | Repetições |
|---|---|---|---|---|
| Item | Valor do membro para o qual se calcula a diferença | Membro, Membro com Escopo, Bloco | Sim | Não |
| Parent | Deslocamento vertical na hierarquia (nível pai) | Número Inteiro Positivo | Sim | Não |
| Lag | Deslocamento horizontal (períodos) | Número Inteiro | Sim | Não |
| Dimension | Dimensão em que o último valor será buscado | Dimensão, Hierarquia | Não | Não |
| Dados | Descrição |
|---|---|
| Jan/24: 100.000,00 | Receita de Janeiro |
| Fev/24: 120.000,00 | Receita de Fevereiro |
| Mar/24: 140.000,00 | Receita de Março (último valor na hierarquia Tempo) |
| Fórmula | Período | Resultado |
|---|---|---|
| DiffLastValue([Receita], 0, 0, [Tempo]) | Janeiro | -40.000,00 |
| DiffLastValue([Receita], 0, 0, [Tempo]) | Fevereiro | -20.000,00 |
| DiffLastValue([Receita], 0, 0, [Tempo]) | Março | 0 |
Descrição do Resultado: A função subtrai o último valor da hierarquia (Março = R$ 140.000,00) do valor de cada período. Janeiro apresenta -R$ 40.000,00 e fevereiro -R$ 20.000,00 em relação ao mês de fechamento.
Descrição:
Calcula a variação percentual entre o valor do período atual e o valor de um período anterior, com base em um passo configurável. A fórmula é: (Valor Atual - Valor Anterior) / Valor Anterior × 100. O parâmetro Step define quantos períodos de defasagem considerar (padrão: 1). É utilizada para calcular crescimento percentual mês a mês, trimestre a trimestre ou entre quaisquer dois períodos.
Syntax:
DiffPercent(Value, Step)
Parâmetros:
| Nome | Descrição | Tipos de parâmetros | Obrigatório | Repetições |
|---|---|---|---|---|
| Value | Valor base para calcular a variação percentual | Membro, Membro com Escopo | Sim | Não |
| Step | Número de períodos de defasagem para comparação (padrão: 1) | Membro, Membro com Escopo, Número Inteiro | Não | Não |
| Dados | Descrição |
|---|---|
| Jan/24: 100.000,00 | Receita de Janeiro |
| Fev/24: 120.000,00 | Receita de Fevereiro |
| Mar/24: 114.000,00 | Receita de Março |
| Fórmula | Período | Resultado |
|---|---|---|
| DiffPercent([Receita Mensal], 1) | Janeiro | - (sem período anterior) |
| DiffPercent([Receita Mensal], 1) | Fevereiro | 20,00% |
| DiffPercent([Receita Mensal], 1) | Março | -5,00% |
Descrição do Resultado: A função retorna a variação percentual em relação ao período anterior. Fevereiro cresceu 20% sobre janeiro ((120.000 - 100.000) / 100.000 × 100). Março caiu 5% sobre fevereiro ((114.000 - 120.000) / 120.000 × 100). Para o primeiro período não há cálculo pois não existe período anterior de referência.
Descrição:
Calcula a diferença proporcional entre o valor do período atual e o valor de um período anterior, utilizando a fórmula (atual - anterior) / atual. Útil para análises de crescimento relativo, identificando a variação percentual de um valor em relação ao período de referência.
O parâmetro Step controla quantos períodos atrás será feita a comparação. Quando omitido, o valor padrão é 1 (período imediatamente anterior).
Syntax:
DiffProportion(Value, Step)
Parâmetros:
| Nome | Descrição | Tipos de parâmetros | Obrigatório | Repetições |
|---|---|---|---|---|
| Value | Valor base para o cálculo da diferença proporcional | Membro, Membro com Escopo, Bloco | Sim | Não |
| Step | Número de períodos de distância para a comparação | Número Inteiro | Não | Não |
| Período | Receita Mensal |
|---|---|
| Janeiro | R$ 100.000 |
| Fevereiro | R$ 120.000 |
| Março | R$ 150.000 |
| Fórmula | Descrição | Resultado |
|---|---|---|
| DiffProportion([Receita Mensal], 1) | Calcula a diferença proporcional entre o mês atual e o mês anterior. | Fevereiro: 0,1667 ((120k - 100k) / 120k), Março: 0,2 ((150k - 120k) / 150k) |
Descrição do Resultado: A função retorna a variação proporcional entre os períodos. Para o primeiro período (Janeiro) não há resultado, pois não existe período anterior para comparação.
Descrição:
Calcula a diferença absoluta em valor entre o período atual e um período anterior, utilizando a fórmula atual - anterior. Útil para análises de variação temporal, identificando o crescimento ou decréscimo absoluto entre períodos consecutivos ou com intervalos personalizados.
O parâmetro Step controla quantos períodos atrás será feita a comparação. Quando omitido, o valor padrão é 1 (período imediatamente anterior).
Syntax:
DiffValue(Value, Step)
Parâmetros:
| Nome | Descrição | Tipos de parâmetros | Obrigatório | Repetições |
|---|---|---|---|---|
| Value | Valor base para o cálculo da diferença absoluta | Membro, Membro com Escopo, Bloco | Sim | Não |
| Step | Número de períodos de distância para a comparação | Número Inteiro | Não | Não |
| Período | Receita Mensal |
|---|---|
| Janeiro | R$ 100.000 |
| Fevereiro | R$ 120.000 |
| Março | R$ 150.000 |
| Fórmula | Descrição | Resultado |
|---|---|---|
| DiffValue([Receita Mensal], 1) | Calcula a diferença em valor entre o mês atual e o mês anterior. | Fevereiro: R$ 20.000 (120k - 100k), Março: R$ 30.000 (150k - 120k) |
Descrição do Resultado: A função retorna a variação absoluta entre os períodos. Para o primeiro período (Janeiro) não há resultado, pois não existe período anterior para comparação.
Descrição:
Expande um item de um nível hierárquico para os membros filhos dentro de um intervalo de níveis especificado, utilizando INNER JOIN nas tabelas de hierarquia da dimensão. Permite distribuir um valor de um nível superior para todos os seus descendentes entre o nível inicial e o nível final.
É possível especificar múltiplos pares de dimensão/nível para trabalhar com diferentes dimensões simultaneamente.
Syntax:
Expand(Item, Level Start, Level End)
Parâmetros:
| Nome | Descrição | Tipos de parâmetros | Obrigatório | Repetições |
|---|---|---|---|---|
| Item | Item a ser expandido na hierarquia | Membro, Membro com Escopo, Bloco | Sim | Não |
| Level Start | Dimensão e nível de início da expansão | Dimensão, Nível | Sim | Sim |
| Level End | Dimensão e nível final da expansão | Dimensão, Nível | Sim | Sim |
| Nível | Membros |
|---|---|
| Região | Sul, Sudeste |
| Estado | Paraná, São Paulo |
| Cidade | Curitiba, Londrina, Campinas, São Paulo (SP) |
| Fórmula | Descrição | Resultado |
|---|---|---|
| Expand([Vendas], [Entidade].[Região], [Entidade].[Cidade]) | Expande o valor de [Vendas] do nível Região até o nível Cidade, distribuindo para cada cidade correspondente. | Sul → Curitiba: R$ 300, Londrina: R$ 200; Sudeste → Campinas: R$ 700, São Paulo (SP): R$ 500 |
Descrição do Resultado: A função percorre os níveis da hierarquia da dimensão Entidade, do nível Região até o nível Cidade, retornando os valores detalhados de cada membro descendente.
Descrição:
Filtra um bloco de valores pelos atributos de membros de uma dimensão, utilizando INNER JOIN nas tabelas de atributos. Retorna apenas os valores cujos membros satisfaçam as condições de atributo informadas.
Permite aplicar múltiplos filtros simultaneamente, combinando diferentes atributos de diferentes dimensões para refinar o conjunto de dados retornado.
Syntax:
Filter(Item, Attribute)
Parâmetros:
| Nome | Descrição | Tipos de parâmetros | Obrigatório | Repetições |
|---|---|---|---|---|
| Item | Bloco de dados a ser filtrado | Bloco | Sim | Não |
| Atributo | Dimensão, atributo e valor pelo qual filtrar os membros | Dimensão, Atributo, Valor | Sim | Sim |
| Produto | Categoria | Vendas |
|---|---|---|
| Smartphone | Eletrônicos | R$ 10.000 |
| TV | Eletrônicos | R$ 15.000 |
| Geladeira | Eletrodomésticos | R$ 8.000 |
| Máquina de Lavar | Eletrodomésticos | R$ 7.000 |
| Fórmula | Descrição | Resultado |
|---|---|---|
| Filter([Vendas], [Produto].[Categoria].[Eletrônicos]) | Filtra o bloco [Vendas] para incluir apenas produtos com atributo Categoria igual a Eletrônicos. | Smartphone: R$ 10.000, TV: R$ 15.000 |
| Filter([Vendas], [Produto].[Categoria].[Eletrodomésticos]) | Filtra o bloco [Vendas] para incluir apenas produtos com atributo Categoria igual a Eletrodomésticos. | Geladeira: R$ 8.000, Máquina de Lavar: R$ 7.000 |
Descrição do Resultado: A função Filter percorre os membros da dimensão Produto e retorna somente os valores dos membros cujo atributo Categoria corresponde ao valor especificado.
Descrição:
Retorna o primeiro valor de um item dentro de uma hierarquia, considerando deslocamentos vertical (quantos níveis acima na hierarquia) e horizontal (quantos períodos de offset). Útil para buscar o valor inicial de uma sequência dentro de um grupo hierárquico.
O parâmetro Dimension permite especificar explicitamente a dimensão sobre a qual navegar; quando omitido, utiliza a dimensão de tempo padrão.
Syntax:
FirstValue(Item, Parent, Lag, Dimension)
Parâmetros:
| Nome | Descrição | Tipos de parâmetros | Obrigatório | Repetições |
|---|---|---|---|---|
| Item | Item do qual se deseja buscar o primeiro valor | Membro, Membro com Escopo, Bloco | Sim | Não |
| Parent | Deslocamento vertical na hierarquia (número de níveis acima) | Número Inteiro Positivo | Sim | Não |
| Lag | Deslocamento horizontal (offset de períodos) | Número Inteiro | Sim | Não |
| Dimension | Dimensão e hierarquia para navegação | Dimensão, Hierarquia | Não | Sim |
| Semestre | Trimestre | Mês | Receita |
|---|---|---|---|
| 1S/25 | 1T/25 | Janeiro/25 | R$ 50.000 |
| 1S/25 | 1T/25 | Fevereiro/25 | R$ 60.000 |
| 1S/25 | 1T/25 | Março/25 | R$ 55.000 |
| 1S/25 | 2T/25 | Abril/25 | R$ 70.000 |
| Fórmula | Descrição | Resultado |
|---|---|---|
| FirstValue([Receita], 1, 0, [Tempo].[Mensal]) | Retorna o primeiro mês de cada trimestre (1 nível acima = Trimestre), sem offset horizontal. | 1T/25: R$ 50.000 (Janeiro), 2T/25: R$ 70.000 (Abril) |
Descrição do Resultado: A função identifica o primeiro valor dentro do grupo determinado pelo nível pai (Trimestre), retornando a Receita do mês inicial de cada trimestre.
Descrição:
Arredonda um número para baixo, retornando o maior valor inteiro (ou com a precisão especificada) que seja menor ou igual ao valor fornecido. Utiliza a função SQL FLOOR() internamente.
Diferentemente do arredondamento convencional, o Floor sempre arredonda em direção ao menos infinito, independente da parte decimal do número. O parâmetro Precisão define o número de casas decimais a manter; quando omitido, arredonda para o inteiro mais próximo abaixo.
Syntax:
Floor(Number, Precision)
Parâmetros:
| Nome | Descrição | Tipos de parâmetros | Obrigatório | Repetições |
|---|---|---|---|---|
| Number | Valor numérico a ser arredondado para baixo | Membro, Membro com Escopo, Bloco | Sim | Não |
| Precision | Número de casas decimais a preservar | Número Inteiro | Não | Não |
| Produto | Preço Calculado |
|---|---|
| Produto A | R$ 43,14 |
| Produto B | R$ 18,89 |
| Fórmula | Descrição | Resultado |
|---|---|---|
| Floor([Preço Calculado], 1) | Arredonda para baixo com 1 casa decimal. | Produto A: R$ 43,10; Produto B: R$ 18,80 |
| Floor([Preço Calculado]) | Arredonda para baixo sem casas decimais. | Produto A: R$ 43,00; Produto B: R$ 18,00 |
Descrição do Resultado: A função Floor garante que os valores sejam sempre arredondados para baixo, nunca ultrapassando o valor original. Útil para cálculos de precificação e regras financeiras que exigem valores conservadores.
Descrição:
Lê e integra dados de outra aplicação (cubo de planejamento) na fórmula atual. Permite referenciar valores calculados ou armazenados em um cubo diferente, realizando o mapeamento das dimensões entre as aplicações automaticamente.
Se a aplicação de destino possuir o mesmo ID de dimensão da aplicação de origem, os dados são trazidos mantendo o mapeamento. Dimensões presentes na aplicação de destino mas ausentes na de origem são preenchidas com o valor -1 (não aplicável).
Syntax:
GetApplicationData(Aplicação, Membro)
Parâmetros:
| Nome | Descrição | Tipos de parâmetros | Obrigatório | Repetições |
|---|---|---|---|---|
| Aplicação | Aplicação de origem dos dados | Aplicação | Sim | Não |
| Membro | Membro da aplicação de origem que contém os dados | Membro, Membro com Escopo | Sim | Sim |
| Dado | Descrição |
|---|---|
| Planejamento Comercial | Aplicação de origem |
| [Conta].[Receita Bruta] | Membro da dimensão Conta na aplicação de origem |
| Fórmula | Descrição | Resultado |
|---|---|---|
| [Conta].[Receita Consolidada] = GetApplicationData([Planejamento Comercial], [Conta].[Receita Bruta]) | Carrega os valores do membro Receita Bruta da aplicação Planejamento Comercial para o membro Receita Consolidada na aplicação atual. | Os valores de Receita Bruta são copiados para Receita Consolidada, com as dimensões mapeadas automaticamente. |
Se na aplicação de destino existir o mesmo ID de dimensão da aplicação setada no parâmetro "Aplicação", os dados serão trazidos e mantidos iguais. Se existir o ID da dimensão na aplicação de destino e na aplicação de origem não, ele será colocado no -1 (não aplicável).
Descrição:
Lê e integra dados armazenados em uma Tabela de Dados (DataTable) na fórmula atual. Permite consultar dados externos ou de referência sem necessidade de armazená-los diretamente nas estruturas dimensionais do cubo.
Se a tabela de dados possuir uma coluna vinculada a uma dimensão, o sistema realiza o mapeamento automaticamente. Dimensões não informadas no escopo são tratadas como "Não aplicável".
Syntax:
GetDataTableData(Tabela, Coluna)
Parâmetros:
| Nome | Descrição | Tipos de parâmetros | Obrigatório | Repetições |
|---|---|---|---|---|
| Tabela | Tabela de dados de origem | Tabela | Sim | Não |
| Coluna | Coluna da tabela de dados que contém os valores ou o mapeamento dimensional | Coluna | Não | Sim |
| Tabela de Dados | Coluna | Valor |
|---|---|---|
| Total de Itens Vendidos | Valor | 500 |
| Fórmula | Descrição | Resultado |
|---|---|---|
| ([Conta].[Produtos], [Tempo].[Março/25], [Cenário].[Planejado]) = GetDataTableData([Total de Itens Vendidos], [Valor]) | Carrega o valor da coluna Valor da tabela Total de Itens Vendidos para o escopo definido. | Carrega o valor 500 para o membro Produtos no mês Março/25, cenário Planejado. |
Em dimensões não informadas no escopo, o sistema assume Não aplicável.
Se a tabela de dados possuir uma coluna vinculada (link) a uma dimensão, não é necessário informar essa dimensão no escopo — o sistema fará o mapeamento automaticamente.
Exemplo de fórmula utilizando link para dimensão tempo: ([Produtos], [Cenário].[Planejado]) = GetDataTableData([Total de Itens Vendidos]). Neste exemplo, a tabela de dados possui uma coluna linkada à dimensão tempo.
Descrição:
Agrega valores de um bloco para um nível hierárquico superior da dimensão, utilizando SUM e INNER JOIN nas tabelas de níveis. A função sobe na hierarquia, consolidando os valores dos membros filhos em seus respectivos membros pai no nível especificado.
Os pares de dimensão e nível podem ser repetidos para agrupar por múltiplas dimensões simultaneamente.
Syntax:
Group(Item, Level)
Parâmetros:
| Nome | Descrição | Tipos de parâmetros | Obrigatório | Repetições |
|---|---|---|---|---|
| Item | Bloco de dados a ser agrupado | Bloco | Sim | Não |
| Level | Dimensão e nível de destino para o agrupamento | Dimensão, Nível | Sim | Sim |
| Cidade | Estado | País | Vendas |
|---|---|---|---|
| Ubatuba | São Paulo | Brasil | R$ 10.000 |
| Campinas | São Paulo | Brasil | R$ 8.000 |
| Niterói | Rio de Janeiro | Brasil | R$ 12.000 |
| Fórmula | Resultado | |
|---|---|---|
| Group([Vendas], [Entidade].[País]) | País | Total |
| Brasil | R$ 30.000 |
| Fórmula | Resultado | |
|---|---|---|
| Group([Vendas], [Entidade].[Estado]) | Estado | Total |
| São Paulo | R$ 18.000 | |
| Rio de Janeiro | R$ 12.000 |
Descrição do Resultado: A função Group consolida os valores das vendas por diferentes níveis hierárquicos da dimensão Entidade, somando os valores dos membros filhos no nível informado.
Descrição:
Verifica se um item possui valor registrado (diferente de nulo), retornando 1 se o valor existir e 0 caso contrário. Utiliza LEFT JOIN e CASE internamente para identificar a presença de dados no cubo.
Útil para identificar a presença de dados em análises, especialmente quando se deseja filtrar ou contar células com valores significativos em relatórios.
Syntax:
HasValue(Valor)
Parâmetros:
| Nome | Descrição | Tipos de parâmetros | Obrigatório | Repetições |
|---|---|---|---|---|
| Valor | Item a ser verificado quanto à existência de valor | Membro, Membro com Escopo, Bloco | Sim | Não |
| Produto | Janeiro/25 | Fevereiro/25 | Março/25 |
|---|---|---|---|
| Produto A | R$ 500 | R$ 700 | - (NULL) |
| Produto B | - (NULL) | - (NULL) | - (NULL) |
| Produto C | R$ 300 | - (NULL) | R$ 900 |
| Fórmula | Produto | Janeiro/25 | Fevereiro/25 | Março/25 |
|---|---|---|---|---|
| HasValue([Vendas]) | Produto A | 1 | 1 | 0 |
| Produto B | 0 | 0 | 0 | |
| Produto C | 1 | 0 | 1 |
Descrição do Resultado: A função HasValue retorna 1 para células que possuem valores registrados e 0 para células nulas. É útil para identificar a presença de dados e construir fórmulas condicionais baseadas na existência de valores.
Descrição:
Função condicional que avalia uma expressão lógica e retorna um valor se a condição for verdadeira ou outro valor se a condição for falsa. É possível encadear múltiplas condições usando lógica AND.
A condição é formada por três elementos: o operando esquerdo, um comparador e o operando direito. Quando o parâmetro Else é omitido, a função retorna nulo para o caso falso.
Syntax:
IIF(Condition Left Comparator Condition Right, Then, Else)
Parâmetros:
| Nome | Descrição | Tipos de parâmetros | Obrigatório | Repetições |
|---|---|---|---|---|
| Condition Left | Operando esquerdo da condição | Membro, Membro com Escopo, Número | Sim | Não |
| Comparador | Operador de comparação (=, <>, <, >, <=, >=) | Comparador | Sim | Não |
| Condition Right | Operando direito da condição | Membro, Membro com Escopo, Número | Sim | Não |
| Then | Valor retornado quando a condição é verdadeira | Membro, Membro com Escopo, Número, Condicional | Sim | Não |
| Else | Valor retornado quando a condição é falsa | Membro, Membro com Escopo, Número, Condicional | Não | Não |
Comentários: Nem todas as combinações possíveis entre operandos e comparadores são válidas. Segue abaixo a lista de combinações válidas:
| Produto | Vendas | Meta |
|---|---|---|
| Produto A | R$ 50.000 | R$ 40.000 |
| Produto B | R$ 5.000 | R$ 40.000 |
| Produto C | R$ 30.000 | R$ 40.000 |
| Fórmula | Descrição | Resultado |
|---|---|---|
| IIF([Vendas] >= 10000, [Vendas], 0) | Retorna [Vendas] quando maior ou igual a R$ 10.000; caso contrário, retorna 0. | Produto A: R$ 50.000, Produto B: 0, Produto C: R$ 30.000 |
| IIF([Vendas] > [Meta], [Vendas], [Meta]) | Retorna [Vendas] se superar a [Meta]; caso contrário, retorna [Meta]. | Produto A: R$ 50.000, Produto B: R$ 40.000, Produto C: R$ 40.000 |
Descrição do Resultado: A função IIF avalia a condição para cada membro do escopo e retorna o valor correspondente ao resultado verdadeiro ou falso. Útil para aplicar regras de negócio condicionais diretamente nas fórmulas, sem necessidade de fórmulas separadas para cada caso.
Descrição:
Calcula o valor dos juros pagos em um período específico de um empréstimo ou financiamento, baseado em pagamentos periódicos constantes e taxa de juros constante. Útil para determinar quanto de cada parcela corresponde a juros em um cronograma de amortização.
Syntax:
IPMT(Taxa, Período, Nper, Valor Presente, Valor Futuro, Tipo)
Parâmetros:
| Nome | Descrição | Tipos de parâmetros | Obrigatório | Repetições |
|---|---|---|---|---|
| Taxa | Taxa de juros por período | Membro, Membro com Escopo | Sim | Não |
| Período | Número do período para o qual se deseja calcular os juros | Membro, Membro com Escopo | Sim | Não |
| Nper | Número total de períodos (parcelas) | Membro, Membro com Escopo | Sim | Não |
| Valor Presente | Valor presente do empréstimo (principal) | Membro, Membro com Escopo | Sim | Não |
| Valor Futuro | Saldo desejado ao final do contrato (padrão: 0) | Membro, Membro com Escopo | Não | Não |
| Tipo | Momento do vencimento: 0 = final do período, 1 = início do período | Número Inteiro | Não | Não |
| Fórmula | Descrição | Resultado |
|---|---|---|
| IPMT(0.02, 5, 12, -10000, 0, 0) | Calcula os juros pagos na 5ª parcela de um empréstimo de R$ 10.000 com taxa de 2% ao mês, 12 parcelas, pagamentos ao final do período. | R$ 142,83 |
| Parâmetro | Valor | Descrição |
|---|---|---|
| Taxa | 0,02 (2%) | Taxa de juros mensal aplicada. |
| Período | 5 | Período para o qual os juros serão calculados. |
| Nper | 12 | Número total de parcelas. |
| Valor Presente | -10.000 | Valor do empréstimo (negativo = saída de caixa). |
| Valor Futuro | 0 | Saldo zero ao final — empréstimo totalmente quitado. |
| Tipo | 0 | Pagamentos ao final de cada período. |
Descrição do Resultado: Os juros da 5ª parcela são calculados sobre o saldo devedor restante após os 4 primeiros pagamentos, multiplicado pela taxa mensal. Neste caso, os juros pagos no 5º período totalizam R$ 142,83.
Descrição:
Desloca os valores de um bloco de dados por um número especificado de períodos ao longo de uma dimensão, utilizando uma tabela de diferenças dimensionais (diff table). Valores positivos deslocam para o futuro (atraso); valores negativos deslocam para o passado (antecipação).
Quando o parâmetro Dimensão é omitido, o deslocamento é aplicado sobre a dimensão de tempo padrão da aplicação.
Syntax:
Lag(Item, Período[, Padding[, Dimensão]])
Parâmetros:
| Nome | Descrição | Tipos de parâmetros | Obrigatório | Repetições |
|---|---|---|---|---|
| Item | Bloco de dados a ser deslocado nos períodos | Bloco, Membro, Membro com Escopo | Sim | Não |
| Período | Número de períodos a deslocar (positivo = futuro, negativo = passado) | Número Inteiro, Membro, Membro com Escopo | Sim | Não |
| Padding | Valor a ser adicionado nos períodos de origem que ficam sem valor após o deslocamento | Membro, Membro com Escopo | Não | Não |
| Dimensão | Dimensão sobre a qual aplicar o deslocamento (padrão: dimensão de tempo) | Dimensão, Hierarquia | Não | Não |
| Mês | Receita |
|---|---|
| Maio/25 | R$ 10.000 |
| Fórmula | Descrição | Resultado |
|---|---|---|
| Lag([Receita], 3) | Desloca o valor 3 meses para o futuro. | R$ 10.000 em Agosto/25 |
| Lag([Receita], -3) | Desloca o valor 3 meses para o passado. | R$ 10.000 em Fevereiro/25 |
Descrição do Resultado: A função Lag move o valor do período de origem para o período de destino calculado. O período original fica sem valor e o período de destino recebe o valor. Útil em planejamento financeiro para modelar pagamentos diferidos ou antecipados.
Descrição:
Retorna o último valor não nulo (não vazio) de um membro ao percorrer a hierarquia da dimensão especificada. Útil para recuperar o valor mais recente disponível em séries temporais com lacunas de dados, como saldos acumulados ou preços da última atualização.
Syntax:
LastNonEmpty(Item[, Dimensão])
Parâmetros:
| Nome | Descrição | Tipos de parâmetros | Obrigatório | Repetições |
|---|---|---|---|---|
| Item | Membro do qual se deseja obter o último valor não vazio | Membro, Membro com Escopo, Bloco | Sim | Não |
| Dimensão | Dimensão na qual a busca pelo último valor não vazio será realizada (padrão: dimensão de tempo) | Dimensão | Não | Não |
| Período | Saldo de Caixa |
|---|---|
| Janeiro | R$ 5.000 |
| Fevereiro | R$ 8.000 |
| Março | - (NULL) |
| Abril | R$ 10.000 |
| Maio | - (NULL) |
| Fórmula | Descrição | Resultado |
|---|---|---|
| LastNonEmpty([Saldo de Caixa]) | Retorna o último valor não vazio do Saldo de Caixa na hierarquia da dimensão de tempo. | R$ 10.000 (último valor não nulo, referente a Abril) |
Descrição do Resultado: A função LastNonEmpty percorre a hierarquia da dimensão de tempo e retorna o último valor registrado que não seja nulo. No exemplo, Abril é o último mês com valor, portanto o resultado é R$ 10.000.
Descrição:
Retorna o último valor de um item dentro de uma hierarquia, considerando deslocamentos vertical (quantos níveis acima na hierarquia) e horizontal (quantos períodos de offset). Útil para buscar o valor final de uma sequência dentro de um grupo hierárquico.
O parâmetro Dimension permite especificar explicitamente a dimensão sobre a qual navegar; quando omitido, utiliza a dimensão de tempo padrão.
Syntax:
LastValue(Item, Parent, Lag, Dimension)
Parâmetros:
| Nome | Descrição | Tipos de parâmetros | Obrigatório | Repetições |
|---|---|---|---|---|
| Item | Item do qual se deseja buscar o último valor | Membro, Membro com Escopo, Bloco | Sim | Não |
| Parent | Deslocamento vertical na hierarquia (número de níveis acima) | Número Inteiro Positivo | Sim | Não |
| Lag | Deslocamento horizontal (offset de períodos) | Número Inteiro | Sim | Não |
| Dimension | Dimensão e hierarquia para navegação | Dimensão, Hierarquia | Não | Sim |
| Semestre | Trimestre | Mês | Receita Bruta |
|---|---|---|---|
| 1S/25 | 1T/25 | Janeiro/25 | R$ 100.000 |
| 1S/25 | 1T/25 | Fevereiro/25 | R$ 110.000 |
| 1S/25 | 1T/25 | Março/25 | R$ 105.000 |
| 1S/25 | 2T/25 | Abril/25 | R$ 120.000 |
| Fórmula | Descrição | Resultado |
|---|---|---|
| LastValue([Receita Bruta], 1, 0, [Tempo].[Mensal]) | Retorna o último mês de cada trimestre (1 nível acima = Trimestre), sem offset horizontal. | 1T/25: R$ 105.000 (Março), 2T/25: R$ 120.000 (Abril) |
Descrição do Resultado: A função LastValue identifica o último valor dentro do grupo determinado pelo nível pai (Trimestre), retornando a Receita Bruta do mês final de cada trimestre.
Descrição:
Aplica crescimento linear a um valor ao longo dos períodos, adicionando um incremento fixo mais um fator crescente a cada etapa. A fórmula aplicada é: Start + Grow + (Grow × passo × %Grow Rate), onde passo é o número sequencial do período calculado automaticamente.
Útil para modelar projeções de crescimento onde tanto o valor base quanto a taxa de crescimento são constantes ao longo do tempo.
Syntax:
LGrow(Start, Grow, % Grow Rate)
Parâmetros:
| Nome | Descrição | Tipos de parâmetros | Obrigatório | Repetições |
|---|---|---|---|---|
| Start | Valor inicial (base de partida) | Membro, Membro com Escopo | Sim | Não |
| Grow | Incremento fixo adicionado a cada período e usado como base para o fator de crescimento | Membro, Membro com Escopo | Sim | Não |
| % Grow Rate | Taxa de crescimento percentual aplicada sobre o incremento a cada período | Membro, Membro com Escopo | Sim | Não |
| Parâmetro | Valor |
|---|---|
| Start | R$ 10.000 |
| Grow | R$ 1.000 |
| % Grow Rate | 5% (0,05) |
| Fórmula | Período | Resultado |
|---|---|---|
| LGrow([Start], [Grow], [% Grow Rate]) | Janeiro (passo 0) | R$ 11.000 (10.000 + 1.000 + 1.000 × 0 × 0,05) |
| Fevereiro (passo 1) | R$ 12.050 (10.000 + 1.000 + 1.000 × 1 × 0,05) | |
| Março (passo 2) | R$ 13.100 (10.000 + 1.000 + 1.000 × 2 × 0,05) |
Descrição do Resultado: A função LGrow projeta valores crescentes ao longo dos períodos. O crescimento é linear: a cada período o valor cresce pelo incremento fixo (Grow) mais o efeito da taxa percentual multiplicada pelo número do passo.
Descrição:
Verifica o valor de uma conta com lista e retorna um valor específico para cada item correspondente. A função percorre os pares (Item da Lista, Valor) fornecidos e, para cada item da lista que coincidir com o valor testado, retorna o valor associado. É útil para mapear categorias ou tipos predefinidos a valores numéricos distintos dentro de uma fórmula.
Syntax:
List(Valor a Testar, Item da Lista, Valor, ...)
Parâmetros:
| Nome | Descrição | Tipos de parâmetros | Obrigatório | Repetições |
|---|---|---|---|---|
| Valor a Testar | Membro cujo valor será comparado com os itens da lista | Membro, Membro com Escopo | Sim | Não |
| Item da Lista | Item da lista vinculado predefinida que será comparado | Lista | Sim | Sim |
| Valor | Valor retornado quando o item da lista coincidir com o valor testado | Membro, Membro com Escopo, Número | Sim | Sim |
| Colaborador | Tipo de Benefício |
|---|---|
| João | Vale Alimentação |
| Maria | Vale Transporte |
| Pedro | Plano de Saúde |
| Fórmula | Descrição | Resultado |
|---|---|---|
| List([Tipo de Benefício], "Vale Alimentação", 300, "Vale Transporte", 150, "Plano de Saúde", 450) | Para cada colaborador, retorna o valor correspondente ao tipo de benefício cadastrado. | João: 300 | Maria: 150 | Pedro: 450 |
Descrição do Resultado: A função List avalia o membro Tipo de Benefício de cada colaborador e retorna o valor monetário associado ao benefício correspondente. Os pares lista-valor são percorridos sequencialmente até encontrar uma coincidência.
Descrição:
Calcula o logaritmo natural (base e ≈ 2,71828) de um valor. O logaritmo natural é amplamente utilizado em modelos financeiros e estatísticos que envolvem taxas de crescimento contínuo, cálculo de juros compostos ou transformações de escala para análise de dados.
Syntax:
LN(Item)
Parâmetros:
| Nome | Descrição | Tipos de parâmetros | Obrigatório | Repetições |
|---|---|---|---|---|
| Item | Valor ou membro do qual se deseja calcular o logaritmo natural | Membro, Membro com Escopo, Bloco | Sim | Não |
| Conta | Valor |
|---|---|
| Receita Bruta | 1.000 |
| Receita Líquida | 10.000 |
| Lucro Operacional | 100.000 |
| Fórmula | Descrição | Resultado |
|---|---|---|
| LN([Receita Bruta]) | Logaritmo natural de 1.000 | ≈ 6,908 |
| LN([Receita Líquida]) | Logaritmo natural de 10.000 | ≈ 9,210 |
| LN([Lucro Operacional]) | Logaritmo natural de 100.000 | ≈ 11,513 |
Descrição do Resultado: A função LN retorna o expoente ao qual e deve ser elevado para produzir o valor informado. É útil para normalizar distribuições assimétricas de dados financeiros ou calcular taxas de crescimento contínuo entre períodos.
Descrição:
Carrega valores de uma tabela de dados para dentro do cubo, mapeando as colunas da tabela às dimensões correspondentes. A função vincula cada linha da tabela ao contexto dimensional correto, permitindo importar dados externos — como resultados de sistemas transacionais ou planilhas — diretamente nas células do cubo durante o cálculo da fórmula.
Syntax:
LoadData(Table, Column Value, Dimension, Dimension Column, ...)
Parâmetros:
| Nome | Descrição | Tipos de parâmetros | Obrigatório | Repetições |
|---|---|---|---|---|
| Table | Tabela de origem dos dados | Tabela | Sim | Não |
| Column Value | Coluna da tabela que contém o valor a ser carregado | Coluna | Sim | Não |
| Dimension | Dimensão do cubo para mapear a coluna | Dimensão | Sim | Sim |
| Dimension Column | Coluna da tabela correspondente à dimensão | Coluna | Sim | Sim |
| Tabela: tb_vendas | ||
|---|---|---|
| cd_produto | cd_periodo | vl_vendas |
| Produto A | 2024-01 | 10.000 |
| Produto B | 2024-01 | 15.000 |
| Produto A | 2024-02 | 12.000 |
| Produto B | 2024-02 | 18.000 |
| Fórmula | Descrição | Resultado |
|---|---|---|
| LoadData([tb_vendas], [vl_vendas], [Produto], [cd_produto], [Tempo], [cd_periodo]) | Carrega o valor de vendas mapeando pelas dimensões Produto e Tempo. | Valores carregados para cada combinação de produto e período no cubo. |
Descrição do Resultado: A função LoadData lê cada linha da tabela tb_vendas, localiza a célula do cubo correspondente usando as colunas de mapeamento e preenche o valor da coluna vl_vendas. Múltiplos pares Dimensão/Coluna podem ser informados para um mapeamento multidimensional.
Descrição:
Calcula o logaritmo de um valor em uma base especificada. Internamente, a fórmula é calculada como Log(Item) / Log(Base). É útil em modelos financeiros que requerem transformações logarítmicas em bases específicas, como base 2 para crescimento binário ou base 10 para escalas de ordens de grandeza.
Syntax:
Log(Item, Base)
Parâmetros:
| Nome | Descrição | Tipos de parâmetros | Obrigatório | Repetições |
|---|---|---|---|---|
| Item | Valor ou membro do qual se deseja calcular o logaritmo | Membro, Membro com Escopo, Bloco | Sim | Não |
| Base | Base do logaritmo | Número, Membro, Membro com Escopo, Bloco | Sim | Não |
| Conta | Valor |
|---|---|
| Receita Bruta | 1.000 |
| Margem de Contribuição | 8 |
| Fórmula | Descrição | Resultado |
|---|---|---|
| Log([Receita Bruta], 10) | Logaritmo de 1.000 na base 10 | 3 |
| Log([Margem de Contribuição], 2) | Logaritmo de 8 na base 2 (2³ = 8) | 3 |
| Log([Receita Bruta], 2) | Logaritmo de 1.000 na base 2 | ≈ 9,966 |
Descrição do Resultado: A função Log calcula o expoente ao qual a base deve ser elevada para resultar no valor informado. A expressão Log(1000, 10) = 3 significa que 10³ = 1.000.
Descrição:
Calcula o logaritmo de base 10 (logaritmo decimal) de um valor. Equivale a Log(Item, 10) e é útil para analisar grandezas que crescem em ordens de magnitude, como volumes de vendas, populações ou qualquer métrica que varie em múltiplos de 10.
Syntax:
Log10(Item)
Parâmetros:
| Nome | Descrição | Tipos de parâmetros | Obrigatório | Repetições |
|---|---|---|---|---|
| Item | Valor ou membro do qual se deseja calcular o logaritmo na base 10 | Membro, Membro com Escopo, Bloco | Sim | Não |
| Conta | Valor |
|---|---|
| Vendas Pequenas | 100 |
| Vendas Médias | 10.000 |
| Vendas Grandes | 1.000.000 |
| Fórmula | Descrição | Resultado |
|---|---|---|
| Log10([Vendas Pequenas]) | Log₁₀ de 100 (10² = 100) | 2 |
| Log10([Vendas Médias]) | Log₁₀ de 10.000 (10⁴ = 10.000) | 4 |
| Log10([Vendas Grandes]) | Log₁₀ de 1.000.000 (10⁶ = 1.000.000) | 6 |
Descrição do Resultado: A função Log10 retorna a potência de 10 que produz o valor informado. Cada incremento de 1 no resultado representa uma multiplicação por 10 no valor original, facilitando a comparação entre grandezas de escalas muito diferentes.
Descrição:
Pesquisa o valor de um atributo (propriedade) de um membro de dimensão e retorna o valor numérico correspondente, gravando-o na dimensão de destino informada. É útil para traduzir atributos descritivos de membros — como códigos, taxas ou índices cadastrados como propriedades de dimensão — em valores numéricos utilizáveis em cálculos de fórmula.
Syntax:
LookupProperty(Context, Property, Dimension)
Parâmetros:
| Nome | Descrição | Tipos de parâmetros | Obrigatório | Repetições |
|---|---|---|---|---|
| Context | Membro ou bloco do qual se deseja ler a propriedade | Membro, Membro com Escopo, Bloco | Sim | Não |
| Property | Dimensão e atributo que contém o valor a ser recuperado | Dimensão, Atributo | Sim | Não |
| Dimension | Dimensão de destino onde o valor recuperado será gravado | Dimensão | Sim | Não |
| Dimensão: Centro de Custo | Atributo: Taxa de Rateio (%) |
|---|---|
| CC-001 Administrativo | 30 |
| CC-002 Comercial | 50 |
| CC-003 Operações | 20 |
| Fórmula | Descrição | Resultado |
|---|---|---|
| LookupProperty([CC-001 Administrativo], [Centro de Custo].[Taxa de Rateio], [Conta]) | Recupera a taxa de rateio do centro de custo Administrativo e grava na dimensão Conta. | 30 |
| LookupProperty([CC-002 Comercial], [Centro de Custo].[Taxa de Rateio], [Conta]) | Recupera a taxa de rateio do centro de custo Comercial e grava na dimensão Conta. | 50 |
Descrição do Resultado: A função LookupProperty localiza o atributo Taxa de Rateio no membro de Centro de Custo informado e retorna seu valor numérico para ser utilizado em cálculos na dimensão Conta.
Descrição:
Mapeia dados de uma tabela externa para o cubo, realizando um INNER JOIN entre os membros das dimensões do cubo e as colunas de origem e destino da tabela. Para cada dimensão informada, a função associa a coluna de origem (chave de entrada) à coluna de destino (chave de saída), permitindo transformar e redistribuir valores entre membros de dimensões distintas com base em atributos comuns.
Syntax:
Mapping(Table, Dimension, Source Column, Destination Column, ...)
Parâmetros:
| Nome | Descrição | Tipos de parâmetros | Obrigatório | Repetições |
|---|---|---|---|---|
| Table | Tabela de mapeamento a ser utilizada | Tabela | Sim | Não |
| Dimension | Dimensão do cubo a ser mapeada | Dimensão | Sim | Sim |
| Source Column | Coluna da tabela que representa a chave de origem (entrada) | Coluna | Sim | Sim |
| Destination Column | Coluna da tabela que representa a chave de destino (saída) | Coluna | Sim | Sim |
| Tabela: tb_mapeamento_conta | ||
|---|---|---|
| cd_conta_origem | cd_conta_destino | cd_empresa |
| Receita Produto A | Receita Total | Empresa BR |
| Receita Produto B | Receita Total | Empresa BR |
| Receita Serviços | Receita Total | Empresa BR |
| Fórmula | Descrição | Resultado |
|---|---|---|
| Mapping([tb_mapeamento_conta], [Conta], [cd_conta_origem], [cd_conta_destino], [Empresa], [cd_empresa], [cd_empresa]) | Mapeia contas de origem para a conta destino Receita Total, filtrando pela empresa. | Valores de Receita Produto A, B e Serviços consolidados em Receita Total para Empresa BR. |
Descrição do Resultado: A função Mapping realiza um INNER JOIN entre os membros da dimensão Conta e as colunas cd_conta_origem / cd_conta_destino da tabela, redistribuindo os valores das contas de origem para a conta de destino mapeada.
Descrição:
Calcula a média móvel centralizada usando contagem absoluta de períodos. Para cada período corrente, a função considera N períodos anteriores e N períodos posteriores (janela centrada), calculando a média aritmética de todos os valores da janela. O parâmetro Quantidade define o número total de períodos na janela (incluindo o período corrente).
Syntax:
MAvgAbsCenter(Value, Quantity)
Parâmetros:
| Nome | Descrição | Tipos de parâmetros | Obrigatório | Repetições |
|---|---|---|---|---|
| Value | Valor ou membro base para o cálculo da média | Membro, Membro com Escopo | Sim | Não |
| Quantity | Número total de períodos na janela (incluindo atual, anteriores e posteriores) | Número Inteiro Positivo | Sim | Não |
| Tempo | Receita (R$) |
|---|---|
| Janeiro/24 | 1.000 |
| Fevereiro/24 | 1.200 |
| Março/24 | 1.100 |
| Abril/24 | 1.300 |
| Maio/24 | 1.250 |
| Fórmula | Período Corrente | Cálculo | Resultado |
|---|---|---|---|
| MAvgAbsCenter([Receita], 3) | Março/24 | (1.200 + 1.100 + 1.300) / 3 | R$ 1.200 |
Descrição do Resultado: Para o período Março/24 com janela de 3 períodos centrada, a função considera Fevereiro/24 (1 anterior), Março/24 (corrente) e Abril/24 (1 posterior), somando os três valores e dividindo por 3.
Descrição:
Calcula a média móvel dos últimos N períodos usando contagem absoluta. Para o período corrente, a função considera os N períodos imediatamente anteriores (inclusive o período corrente) e retorna a média aritmética dos valores nessa janela. A variante "Abs" utiliza contagem absoluta de períodos, independentemente da hierarquia de tempo.
Syntax:
MAvgAbsLast(Value, Quantity)
Parâmetros:
| Nome | Descrição | Tipos de parâmetros | Obrigatório | Repetições |
|---|---|---|---|---|
| Value | Valor ou membro base para o cálculo da média | Membro, Membro com Escopo | Sim | Não |
| Quantity | Número de períodos anteriores (incluindo o corrente) a considerar | Número Inteiro Positivo | Sim | Não |
| Tempo | Vendas (R$) |
|---|---|
| Janeiro/24 | 1.000 |
| Fevereiro/24 | 1.200 |
| Março/24 | 1.100 |
| Abril/24 | 1.300 |
| Maio/24 | 1.250 |
| Fórmula | Período Corrente | Cálculo | Resultado |
|---|---|---|---|
| MAvgAbsLast([Vendas], 3) | Abril/24 | (1.200 + 1.100 + 1.300) / 3 | R$ 1.200 |
Descrição do Resultado: Para Abril/24 com janela de 3 períodos retroativos, a função considera Fevereiro/24, Março/24 e Abril/24, somando seus valores e dividindo por 3. Períodos anteriores ao início da série são ignorados.
Descrição:
Calcula a média móvel dos próximos N períodos usando contagem absoluta. Para o período corrente, a função considera os N períodos imediatamente posteriores (inclusive o período corrente) e retorna a média aritmética dos valores nessa janela. A variante "Abs" utiliza contagem absoluta de períodos, independentemente da hierarquia de tempo.
Syntax:
MAvgAbsNext(Value, Quantity)
Parâmetros:
| Nome | Descrição | Tipos de parâmetros | Obrigatório | Repetições |
|---|---|---|---|---|
| Value | Valor ou membro base para o cálculo da média | Membro, Membro com Escopo | Sim | Não |
| Quantity | Número de períodos posteriores (incluindo o corrente) a considerar | Número Inteiro Positivo | Sim | Não |
| Tempo | Vendas (R$) |
|---|---|
| Janeiro/24 | 1.000 |
| Fevereiro/24 | 1.200 |
| Março/24 | 1.100 |
| Abril/24 | 1.300 |
| Maio/24 | 1.250 |
| Fórmula | Período Corrente | Cálculo | Resultado |
|---|---|---|---|
| MAvgAbsNext([Vendas], 3) | Fevereiro/24 | (1.200 + 1.100 + 1.300) / 3 | R$ 1.200 |
Descrição do Resultado: Para Fevereiro/24 com janela de 3 períodos futuros, a função considera Fevereiro/24 (corrente), Março/24 e Abril/24, somando os valores e dividindo por 3. Períodos além do fim da série são ignorados.
Descrição:
Calcula a média móvel centralizada relativa à hierarquia de tempo. Para cada período corrente, a função considera N períodos anteriores e N períodos posteriores conforme a hierarquia definida, calculando a média aritmética de todos os valores na janela. Diferencia-se de MAvgAbsCenter por respeitar a estrutura hierárquica da dimensão de tempo ao navegar pelos períodos.
Syntax:
MAvgCenter(Value, Quantity)
Parâmetros:
| Nome | Descrição | Tipos de parâmetros | Obrigatório | Repetições |
|---|---|---|---|---|
| Value | Valor ou membro base para o cálculo da média | Membro, Membro com Escopo | Sim | Não |
| Quantity | Número total de períodos na janela centralizada | Número Inteiro Positivo | Sim | Não |
| Tempo | Receita Bruta (R$) |
|---|---|
| Janeiro/24 | 1.000 |
| Fevereiro/24 | 1.200 |
| Março/24 | 1.100 |
| Abril/24 | 1.300 |
| Maio/24 | 1.250 |
| Fórmula | Período Corrente | Cálculo | Resultado |
|---|---|---|---|
| MAvgCenter([Receita Bruta], 3) | Março/24 | (1.200 + 1.100 + 1.300) / 3 | R$ 1.200 |
Descrição do Resultado: Para Março/24 com janela de 3 períodos, a função considera Fevereiro/24 (1 anterior), Março/24 (corrente) e Abril/24 (1 posterior) respeitando a hierarquia da dimensão de tempo, retornando a média aritmética dos três valores.
Descrição:
Calcula a média móvel dos últimos N períodos relativos à hierarquia de tempo. Para o período corrente, a função considera os N períodos imediatamente anteriores (inclusive o corrente) conforme a hierarquia da dimensão de tempo e retorna a média aritmética. Diferencia-se de MAvgAbsLast por navegar pelos períodos respeitando a estrutura hierárquica.
Syntax:
MAvgLast(Value, Quantity)
Parâmetros:
| Nome | Descrição | Tipos de parâmetros | Obrigatório | Repetições |
|---|---|---|---|---|
| Value | Valor ou membro base para o cálculo da média | Membro, Membro com Escopo | Sim | Não |
| Quantity | Número de períodos anteriores (incluindo o corrente) a considerar | Número Inteiro Positivo | Sim | Não |
| Tempo | Vendas (R$) |
|---|---|
| Janeiro/24 | 1.000 |
| Fevereiro/24 | 1.200 |
| Março/24 | 1.100 |
| Abril/24 | 1.300 |
| Maio/24 | 1.250 |
| Fórmula | Período Corrente | Cálculo | Resultado |
|---|---|---|---|
| MAvgLast([Vendas], 3) | Abril/24 | (1.200 + 1.100 + 1.300) / 3 | R$ 1.200 |
Descrição do Resultado: Para Abril/24 com janela de 3 períodos, a função considera Fevereiro/24, Março/24 e Abril/24 (os 3 períodos mais recentes até o corrente), calculando a média aritmética desses valores respeitando a hierarquia de tempo.
Descrição:
Calcula a média móvel dos próximos N períodos relativos à hierarquia de tempo. Para o período corrente, a função considera os N períodos imediatamente posteriores (inclusive o corrente) conforme a hierarquia da dimensão de tempo e retorna a média aritmética. Diferencia-se de MAvgAbsNext por navegar pelos períodos respeitando a estrutura hierárquica.
Syntax:
MAvgNext(Value, Quantity)
Parâmetros:
| Nome | Descrição | Tipos de parâmetros | Obrigatório | Repetições |
|---|---|---|---|---|
| Value | Valor ou membro base para o cálculo da média | Membro, Membro com Escopo | Sim | Não |
| Quantity | Número de períodos posteriores (incluindo o corrente) a considerar | Número Inteiro Positivo | Sim | Não |
| Tempo | Vendas (R$) |
|---|---|
| Janeiro/24 | 1.000 |
| Fevereiro/24 | 1.200 |
| Março/24 | 1.100 |
| Abril/24 | 1.300 |
| Maio/24 | 1.250 |
| Fórmula | Período Corrente | Cálculo | Resultado |
|---|---|---|---|
| MAvgNext([Vendas], 3) | Fevereiro/24 | (1.200 + 1.100 + 1.300) / 3 | R$ 1.200 |
Descrição do Resultado: Para Fevereiro/24 com janela de 3 períodos futuros, a função considera Fevereiro/24 (corrente), Março/24 e Abril/24, calculando a média aritmética desses valores respeitando a hierarquia de tempo.
Descrição:
Retorna o valor máximo entre múltiplos itens informados. A função aceita membros, membros com escopo ou blocos como argumentos, comparando todos os valores fornecidos e devolvendo o maior. Opcionalmente, é possível informar dimensões adicionais para que a busca pelo máximo percorra todos os membros dessas dimensões.
Syntax:
Max(Item, Item, ..., Dimension, ...)
Parâmetros:
| Nome | Descrição | Tipos de parâmetros | Obrigatório | Repetições |
|---|---|---|---|---|
| Item | Valor ou membro a ser comparado | Membro, Membro com Escopo, Bloco | Sim | Sim |
| Dimension | Dimensão a percorrer na busca pelo valor máximo (opcional) | Dimensão | Não | Sim |
| Vendedor | Vendas (R$) |
|---|---|
| Maria | 8.000 |
| João | 10.000 |
| Paulo | 7.000 |
| Pedro | 12.000 |
| Julia | 9.000 |
| Fórmula | Descrição | Resultado |
|---|---|---|
| Max([Vendas Maria], [Vendas João], [Vendas Paulo], [Vendas Pedro], [Vendas Julia]) | Retorna o maior valor de vendas entre os cinco vendedores. | 12.000 |
Descrição do Resultado: A função Max compara todos os valores fornecidos e retorna o maior dentre eles. No exemplo, o valor máximo de vendas é R$ 12.000, registrado para o vendedor Pedro.
Descrição:
Retorna o valor mínimo entre múltiplos itens informados. A função aceita membros, membros com escopo ou blocos como argumentos, comparando todos os valores fornecidos e devolvendo o menor. Opcionalmente, é possível informar dimensões adicionais para que a busca pelo mínimo percorra todos os membros dessas dimensões.
Syntax:
Min(Item, Item, ..., Dimension, ...)
Parâmetros:
| Nome | Descrição | Tipos de parâmetros | Obrigatório | Repetições |
|---|---|---|---|---|
| Item | Valor ou membro a ser comparado | Membro, Membro com Escopo, Bloco | Sim | Sim |
| Dimension | Dimensão a percorrer na busca pelo valor mínimo (opcional) | Dimensão | Não | Sim |
| Vendedor | Vendas (R$) |
|---|---|
| Maria | 8.000 |
| João | 10.000 |
| Paulo | 7.000 |
| Pedro | 12.000 |
| Julia | 9.000 |
| Fórmula | Descrição | Resultado |
|---|---|---|
| Min([Vendas Maria], [Vendas João], [Vendas Paulo], [Vendas Pedro], [Vendas Julia]) | Retorna o menor valor de vendas entre os cinco vendedores. | 7.000 |
Descrição do Resultado: A função Min compara todos os valores fornecidos e retorna o menor dentre eles. No exemplo, o valor mínimo de vendas é R$ 7.000, registrado para o vendedor Paulo.
Descrição:
Calcula o valor máximo dentro de uma janela de períodos centralizada no período corrente. Para cada período, a função considera N períodos anteriores e N períodos posteriores, retornando o maior valor encontrado nessa janela. O parâmetro Quantidade define o número total de períodos na janela.
Syntax:
MMaxCenter(Value, Quantity)
Parâmetros:
| Nome | Descrição | Tipos de parâmetros | Obrigatório | Repetições |
|---|---|---|---|---|
| Value | Valor ou membro base para determinar o máximo | Membro, Membro com Escopo | Sim | Não |
| Quantity | Número total de períodos na janela centralizada | Número Inteiro Positivo | Sim | Não |
| Tempo | Vendas (R$) |
|---|---|
| Janeiro/24 | 8.000 |
| Fevereiro/24 | 10.000 |
| Março/24 | 7.000 |
| Abril/24 | 12.000 |
| Maio/24 | 9.000 |
| Fórmula | Período Corrente | Janela | Resultado |
|---|---|---|---|
| MMaxCenter([Vendas], 3) | Março/24 | Fevereiro/24, Março/24, Abril/24 | 12.000 |
Descrição do Resultado: Para Março/24 com janela de 3 períodos centrada, a função analisa Fevereiro/24 (10.000), Março/24 (7.000) e Abril/24 (12.000), retornando o maior valor da janela: R$ 12.000.
Descrição:
Calcula o valor máximo dos últimos N períodos anteriores ao período corrente (inclusive). Para cada período, a função percorre os N períodos mais recentes e retorna o maior valor encontrado nessa janela retroativa. É útil para identificar picos de valores em janelas históricas de planejamento.
Syntax:
MMaxLast(Value, Quantity)
Parâmetros:
| Nome | Descrição | Tipos de parâmetros | Obrigatório | Repetições |
|---|---|---|---|---|
| Value | Valor ou membro base para determinar o máximo | Membro, Membro com Escopo | Sim | Não |
| Quantity | Número de períodos anteriores (incluindo o corrente) a considerar | Número Inteiro Positivo | Sim | Não |
| Tempo | Vendas (R$) |
|---|---|
| Janeiro/24 | 8.000 |
| Fevereiro/24 | 10.000 |
| Março/24 | 7.000 |
| Abril/24 | 12.000 |
| Fórmula | Período Corrente | Janela | Resultado |
|---|---|---|---|
| MMaxLast([Vendas], 3) | Abril/24 | Fevereiro/24 (10.000), Março/24 (7.000), Abril/24 (12.000) | 12.000 |
Descrição do Resultado: Para Abril/24 com janela de 3 períodos retroativos, a função avalia os valores de Fevereiro/24, Março/24 e Abril/24, retornando o maior valor encontrado: R$ 12.000.
Descrição:
Calcula o valor máximo dos próximos N períodos a partir do período corrente (inclusive). Para cada período, a função percorre os N períodos posteriores e retorna o maior valor encontrado nessa janela futura. É útil para identificar o pico de valores projetados em janelas de planejamento futuro.
Syntax:
MMaxNext(Value, Quantity)
Parâmetros:
| Nome | Descrição | Tipos de parâmetros | Obrigatório | Repetições |
|---|---|---|---|---|
| Value | Valor ou membro base para determinar o máximo | Membro, Membro com Escopo | Sim | Não |
| Quantity | Número de períodos posteriores (incluindo o corrente) a considerar | Número Inteiro Positivo | Sim | Não |
| Tempo | Vendas (R$) |
|---|---|
| Janeiro/24 | 8.000 |
| Fevereiro/24 | 10.000 |
| Março/24 | 7.000 |
| Abril/24 | 12.000 |
| Fórmula | Período Corrente | Janela | Resultado |
|---|---|---|---|
| MMaxNext([Vendas], 3) | Janeiro/24 | Janeiro/24 (8.000), Fevereiro/24 (10.000), Março/24 (7.000) | 10.000 |
Descrição do Resultado: Para Janeiro/24 com janela de 3 períodos futuros, a função avalia os valores de Janeiro/24, Fevereiro/24 e Março/24, retornando o maior valor encontrado: R$ 10.000.
Descrição:
Calcula o valor mínimo em uma janela móvel centralizada no período corrente. O parâmetro quantidade define quantos períodos adjacentes (para frente e para trás) serão incluídos na janela, além do próprio período corrente. Útil para suavizar variações e identificar mínimos locais ao longo de uma série temporal.
Syntax:
MMinCenter(Value, Quantity)
Parâmetros:
| Nome | Descrição | Tipos de parâmetros | Obrigatório | Repetições |
|---|---|---|---|---|
| Value | Valor base para determinar o valor mínimo | Membro, Membro com Escopo | Sim | Não |
| Quantity | Número de períodos adjacentes a considerar em cada direção (antes e depois do período corrente) | Número Inteiro Positivo | Sim | Não |
Considerando os seguintes valores de receita mensal:
| Período | Receita (R$) |
|---|---|
| Janeiro/24 | 8.000 |
| Fevereiro/24 | 5.000 |
| Março/24 | 9.000 |
| Abril/24 | 3.000 |
| Maio/24 | 7.000 |
| Fórmula | Descrição | Cálculo (janela centrada em Março/24) | Resultado |
|---|---|---|---|
| MMinCenter([Receita], 1) | Mínimo dos valores de Fevereiro/24, Março/24 e Abril/24 (1 período antes e 1 depois). | min(5.000, 9.000, 3.000) | R$ 3.000 |
Descrição do Resultado: A função MMinCenter com Quantity = 1 examina o período corrente e 1 período adjacente em cada direção (totalizando 3 períodos). Para Março/24, considera Fevereiro/24 (5.000), Março/24 (9.000) e Abril/24 (3.000), retornando o menor valor: R$ 3.000.
Descrição:
Calcula o valor mínimo em uma janela móvel composta pelo período corrente e pelos N períodos anteriores. O parâmetro quantidade define quantos períodos anteriores serão incluídos. É ideal para identificar o menor valor registrado em uma janela histórica recente.
Syntax:
MMinLast(Value, Quantity)
Parâmetros:
| Nome | Descrição | Tipos de parâmetros | Obrigatório | Repetições |
|---|---|---|---|---|
| Value | Valor base para determinar o valor mínimo | Membro, Membro com Escopo | Sim | Não |
| Quantity | Número de períodos anteriores a incluir na janela (além do período corrente) | Número Inteiro Positivo | Sim | Não |
| Período | Vendas (R$) |
|---|---|
| Janeiro/24 | R$ 8.000 |
| Fevereiro/24 | R$ 10.000 |
| Março/24 | R$ 7.000 |
| Abril/24 | R$ 12.000 |
| Fórmula | Descrição | Cálculo (período corrente: Abril/24) | Resultado |
|---|---|---|---|
| MMinLast([Vendas], 3) | Mínimo dos últimos 3 períodos anteriores ao período corrente Abril/24. | min(8.000, 10.000, 7.000) | R$ 7.000 |
Descrição do Resultado: A função MMinLast com Quantity = 3 examina os 3 períodos anteriores ao período corrente (Janeiro/24, Fevereiro/24 e Março/24) e retorna o menor valor encontrado: R$ 7.000 (Março/24).
Descrição:
Calcula o valor mínimo em uma janela móvel composta pelo período corrente e pelos N períodos futuros. O parâmetro quantidade define quantos períodos seguintes serão incluídos. É útil para antecipar o menor valor esperado em um horizonte de planejamento futuro.
Syntax:
MMinNext(Value, Quantity)
Parâmetros:
| Nome | Descrição | Tipos de parâmetros | Obrigatório | Repetições |
|---|---|---|---|---|
| Value | Valor base para determinar o valor mínimo | Membro, Membro com Escopo | Sim | Não |
| Quantity | Número de períodos futuros a incluir na janela (além do período corrente) | Número Inteiro Positivo | Sim | Não |
| Período | Vendas (R$) |
|---|---|
| Janeiro/24 | R$ 8.000 |
| Fevereiro/24 | R$ 10.000 |
| Março/24 | R$ 7.000 |
| Abril/24 | R$ 12.000 |
| Fórmula | Descrição | Cálculo (período corrente: Janeiro/24) | Resultado |
|---|---|---|---|
| MMinNext([Vendas], 3) | Mínimo dos 3 períodos seguintes ao período corrente Janeiro/24. | min(10.000, 7.000, 12.000) | R$ 7.000 |
Descrição do Resultado: A função MMinNext com Quantity = 3 examina os 3 períodos seguintes ao período corrente (Fevereiro/24, Março/24 e Abril/24) e retorna o menor valor encontrado: R$ 7.000 (Março/24).
Descrição:
Calcula a soma móvel em uma janela centralizada no período corrente. O parâmetro quantidade define quantos períodos adjacentes (para frente e para trás) serão somados junto ao período corrente. Útil para suavizar séries temporais e calcular médias móveis simétricas.
Syntax:
MSumCenter(Value, Quantity)
Parâmetros:
| Nome | Descrição | Tipos de parâmetros | Obrigatório | Repetições |
|---|---|---|---|---|
| Value | Valor base para calcular a soma | Membro, Membro com Escopo | Sim | Não |
| Quantity | Número de períodos adjacentes a incluir em cada direção (antes e depois do período corrente) | Número Inteiro Positivo | Sim | Não |
| Período (Tempo) | Vendas (R$) |
|---|---|
| Janeiro/24 | 8.000 |
| Fevereiro/24 | 10.000 |
| Março/24 | 7.000 |
| Abril/24 | 12.000 |
| Maio/24 | 9.000 |
| Fórmula | Descrição | Cálculo (janela centrada em Março/24) | Resultado |
|---|---|---|---|
| MSumCenter([Vendas], 1) | Soma de Fevereiro/24, Março/24 e Abril/24 (1 período antes e 1 depois). | 10.000 + 7.000 + 12.000 | R$ 29.000 |
Descrição do Resultado: A função MSumCenter com Quantity = 1 soma o período corrente (Março/24: 7.000) junto com 1 período anterior (Fevereiro/24: 10.000) e 1 período posterior (Abril/24: 12.000), resultando em R$ 29.000.
Descrição:
Calcula a soma móvel dos N períodos anteriores ao período corrente, incluindo o próprio período corrente. O parâmetro quantidade define quantos períodos anteriores serão somados. É amplamente utilizado para calcular totais acumulados em janelas deslizantes, como a soma dos últimos 3 ou 12 meses.
Syntax:
MSumLast(Value, Quantity)
Parâmetros:
| Nome | Descrição | Tipos de parâmetros | Obrigatório | Repetições |
|---|---|---|---|---|
| Value | Valor base para calcular a soma | Membro, Membro com Escopo | Sim | Não |
| Quantity | Número de períodos anteriores a incluir na janela (além do período corrente) | Número Inteiro Positivo | Sim | Não |
| Período (Tempo) | Vendas (R$) |
|---|---|
| Janeiro/24 | 8.000 |
| Fevereiro/24 | 10.000 |
| Março/24 | 7.000 |
| Abril/24 | 12.000 |
| Maio/24 | 9.000 |
| Fórmula | Descrição | Cálculo (período corrente: Abril/24) | Resultado |
|---|---|---|---|
| MSumLast([Vendas], 2) | Soma de Fevereiro/24, Março/24 e Abril/24 (2 períodos anteriores + período corrente). | 10.000 + 7.000 + 12.000 | R$ 29.000 |
Descrição do Resultado: A função MSumLast com Quantity = 2 soma o período corrente (Abril/24: 12.000) junto com os 2 períodos anteriores (Março/24: 7.000 e Fevereiro/24: 10.000), totalizando R$ 29.000.
Descrição:
Calcula a soma móvel do período corrente e dos N períodos futuros seguintes. O parâmetro quantidade define quantos períodos futuros serão somados. É útil para calcular totais projetados em um horizonte de planejamento, como a soma dos próximos 3 ou 6 meses.
Syntax:
MSumNext(Value, Quantity)
Parâmetros:
| Nome | Descrição | Tipos de parâmetros | Obrigatório | Repetições |
|---|---|---|---|---|
| Value | Valor base para calcular a soma | Membro, Membro com Escopo | Sim | Não |
| Quantity | Número de períodos futuros a incluir na janela (além do período corrente) | Número Inteiro Positivo | Sim | Não |
| Período (Tempo) | Vendas (R$) |
|---|---|
| Janeiro/24 | 8.000 |
| Fevereiro/24 | 10.000 |
| Março/24 | 7.000 |
| Abril/24 | 12.000 |
| Maio/24 | 9.000 |
| Junho/24 | 4.000 |
| Fórmula | Descrição | Cálculo (período corrente: Abril/24) | Resultado |
|---|---|---|---|
| MSumNext([Vendas], 2) | Soma de Abril/24, Maio/24 e Junho/24 (período corrente + 2 períodos seguintes). | 12.000 + 9.000 + 4.000 | R$ 25.000 |
Descrição do Resultado: A função MSumNext com Quantity = 2 soma o período corrente (Abril/24: 12.000) junto com os 2 períodos seguintes (Maio/24: 9.000 e Junho/24: 4.000), totalizando R$ 25.000.
Descrição:
Calcula o Valor Presente Líquido (VPL) de uma série de fluxos de caixa futuros, descontando-os por uma taxa periódica. O parâmetro Period indica a posição relativa de cada fluxo na linha do tempo (quantos períodos à frente do momento atual), Rate é a taxa de desconto por período, e Value contém o valor do fluxo de caixa em cada período. Esta função é fundamental em análises de viabilidade de investimentos e projetos.
Syntax:
NPV(Period, Rate, Value)
Parâmetros:
| Nome | Descrição | Tipos de parâmetros | Obrigatório | Repetições |
|---|---|---|---|---|
| Period | Posição temporal do fluxo de caixa (número de períodos a partir do momento atual) | Membro, Membro com Escopo, Número Inteiro Positivo | Sim | Não |
| Rate | Taxa de desconto por período | Membro, Membro com Escopo, Número | Sim | Não |
| Value | Valor do fluxo de caixa em cada período | Membro, Membro com Escopo | Sim | Não |
Uma empresa deseja calcular o VPL de investimentos futuros com taxa de desconto de 10% ao ano:
| Ano (Tempo) | Período (posição) | Fluxo de Caixa (R$) |
|---|---|---|
| 2024 | 1 | R$ 15.000 |
| 2025 | 2 | R$ 20.000 |
| 2026 | 3 | R$ 25.000 |
| Fórmula | Descrição | Resultado |
|---|---|---|
| NPV([Período], 10%, [Fluxo de Caixa]) | Calcula o VPL dos fluxos de caixa com taxa de desconto de 10% ao ano. | R$ 46.791,27 |
Descrição do Resultado: A função NPV desconta cada fluxo de caixa pelo fator 1 / (1 + taxa)^período e soma os resultados: R$ 15.000 / 1,10¹ + R$ 20.000 / 1,10² + R$ 25.000 / 1,10³ = R$ 46.791,27.
Descrição:
Retorna o saldo inicial (de abertura) de um período, que corresponde ao saldo final (de fechamento) do período imediatamente anterior. Esta função implementa o princípio contábil de continuidade: o saldo inicial de um período sempre deve ser igual ao saldo final do período anterior. É amplamente usada em demonstrações de fluxo de caixa, balanços patrimoniais e controle de estoques.
Syntax:
Opening(Closing)
Parâmetros:
| Nome | Descrição | Tipos de parâmetros | Obrigatório | Repetições |
|---|---|---|---|---|
| Closing | Membro que contém o saldo final do período | Membro, Membro com Escopo | Sim | Não |
Uma empresa deseja calcular o Saldo Inicial de cada mês com base no Saldo Final do mês anterior:
| Mês | Saldo Final (R$) | Saldo Inicial calculado (R$) |
|---|---|---|
| Dezembro/23 | R$ 20.000 | — |
| Janeiro/24 | — | R$ 20.000 |
| Fórmula | Descrição | Resultado |
|---|---|---|
| Opening([Saldo Final]) | Retorna o Saldo Final de Dezembro/23 como Saldo Inicial de Janeiro/24. | R$ 20.000 |
Descrição do Resultado: A função Opening busca o valor de Saldo Final no período anterior (Dezembro/23 = R$ 20.000) e o utiliza como Saldo Inicial de Janeiro/24. Em cada período subsequente, o resultado é automaticamente atualizado com o saldo final do mês anterior.
Descrição:
Retorna o valor de um membro pai na hierarquia de uma dimensão, subindo um número específico de níveis a partir do membro corrente. É essencial para análises que precisam referenciar ou comparar valores de níveis hierárquicos superiores, como obter o total de uma categoria a partir de um produto específico, ou o total de uma diretoria a partir de um setor.
Syntax:
Parent(Item, Dimension, Quantity)
Parâmetros:
| Nome | Descrição | Tipos de parâmetros | Obrigatório | Repetições |
|---|---|---|---|---|
| Item | Valor do membro de origem para o qual se deseja buscar o pai | Membro, Membro com Escopo, Bloco | Sim | Não |
| Dimension | Dimensão na qual a hierarquia será percorrida | Dimensão, Hierarquia | Sim | Não |
| Quantity | Número de níveis a subir na hierarquia | Número Inteiro Positivo | Sim | Não |
Hierarquia da dimensão Produto:
| Nível | Membro | Vendas (R$) | |
|---|---|---|---|
| Nível 0 (raiz) | Todas as Categorias | — | R$ 500.000 |
| Nível 1 | Eletrônicos | — | R$ 200.000 |
| Nível 2 (folha) | Smartphone XYZ | [fórmula] | R$ 45.000 |
| Fórmula | Descrição | Resultado |
|---|---|---|
| Parent([Vendas Smartphone XYZ], [Produto], 1) | Sobe 1 nível na hierarquia de Produto a partir de Smartphone XYZ, retornando o valor do pai Eletrônicos. | R$ 200.000 |
Descrição do Resultado: A função Parent navega 1 nível acima na hierarquia da dimensão Produto, encontrando o membro pai de Smartphone XYZ (que é Eletrônicos) e retorna o valor R$ 200.000 associado a esse nível.
Os níveis de uma dimensão iniciam sempre com valor 0, avançando gradativamente (0, 1, 2, 3...).
Descrição:
Calcula o valor fixo de cada parcela de um empréstimo ou financiamento, com base em pagamentos periódicos constantes e taxa de juros fixa. Equivale à função PMT do Excel. Opcionalmente, é possível informar o valor futuro desejado ao final do prazo e se o pagamento ocorre no início ou no final de cada período.
Syntax:
PMT(Rate, NPer, PV, FV, Type)
Parâmetros:
| Nome | Descrição | Tipos de parâmetros | Obrigatório | Repetições |
|---|---|---|---|---|
| Rate | Taxa de juros por período | Membro, Membro com Escopo | Sim | Não |
| NPer | Número total de períodos de pagamento | Membro, Membro com Escopo | Sim | Não |
| PV | Valor presente (principal do empréstimo) | Membro, Membro com Escopo | Sim | Não |
| FV | Valor futuro desejado ao término do prazo (padrão: 0) | Membro, Membro com Escopo | Não | Não |
| Type | Indica o vencimento do pagamento: 0 = final do período (padrão), 1 = início do período | Número Inteiro | Não | Não |
Uma empresa deseja financiar R$ 50.000 em 24 meses com taxa de juros de 1% ao mês:
| Parâmetro | Valor |
|---|---|
| Taxa de Juros (Rate) | 1% ao mês (0,01) |
| Número de Parcelas (NPer) | 24 |
| Valor Presente (PV) | R$ 50.000 |
| Fórmula | Descrição | Resultado |
|---|---|---|
| PMT(0.01, 24, 50000) | Calcula a parcela mensal de um financiamento de R$ 50.000 em 24 meses a 1% a.m. | R$ 2.353,00 |
Descrição do Resultado: A função PMT determina que cada parcela mensal será de aproximadamente R$ 2.353,00 para quitar o financiamento de R$ 50.000 em 24 meses com taxa de 1% ao mês.
Descrição:
Retorna o valor numérico de um atributo (propriedade) associado a um membro de uma dimensão, dentro de um contexto específico. A dimensão e o atributo são especificados juntos usando notação de ponto ([Dimensão].[Atributo]), e o contexto indica para qual membro o atributo será consultado. É útil para incorporar características cadastrais dos membros nos cálculos, como taxas, categorias numéricas ou coeficientes.
Syntax:
Property([Dimensão].[Atributo], Contexto)
Parâmetros:
| Nome | Descrição | Tipos de parâmetros | Obrigatório | Repetições |
|---|---|---|---|---|
| Dimensão.Atributo | Dimensão e nome do atributo a ser consultado, separados por ponto | Dimensão, Atributo | Sim | Não |
| Contexto | Membro ou bloco que define o contexto de consulta do atributo | Membro, Membro com Escopo, Bloco | Sim | Não |
A dimensão Produto possui um atributo Alíquota_ICMS com o percentual de ICMS de cada produto. Deseja-se calcular o valor do ICMS sobre as vendas:
| Produto | Atributo: Alíquota_ICMS | Vendas (R$) |
|---|---|---|
| Notebook Pro | 12% (0,12) | R$ 30.000 |
| Smartphone XYZ | 18% (0,18) | R$ 15.000 |
| Fórmula | Descrição | Resultado (Notebook Pro) |
|---|---|---|
| [Vendas] * Property([Produto].[Alíquota_ICMS], [Produto]) | Multiplica as vendas pelo atributo Alíquota_ICMS do produto corrente. | R$ 30.000 × 0,12 = R$ 3.600 |
Descrição do Resultado: A função Property consulta o valor do atributo Alíquota_ICMS da dimensão Produto para o membro corrente (Notebook Pro = 0,12) e o utiliza como fator multiplicador, calculando o ICMS de R$ 3.600 sobre vendas de R$ 30.000.
Descrição:
Calcula o número de parcelas restantes a serem pagas em um contrato de amortização ou financiamento, com base no número total de parcelas informado no bloco de entrada. Suporta configuração de intervalo entre pagamentos (ex.: parcelas trimestrais) e período de carência (períodos iniciais sem pagamento). É utilizada no planejamento de fluxo de caixa de dívidas e amortizações.
Syntax:
Remaining(Item, Interval, GracePeriod, Dimension)
Parâmetros:
| Nome | Descrição | Tipos de parâmetros | Obrigatório | Repetições |
|---|---|---|---|---|
| Item | Bloco ou membro que contém o número total de parcelas do contrato | Membro, Membro com Escopo, Bloco | Sim | Não |
| Interval | Intervalo entre pagamentos em períodos (padrão: 1 = mensal) | Número Inteiro Positivo | Não | Não |
| GracePeriod | Número de períodos de carência (sem pagamento) no início do contrato | Número Inteiro Positivo | Não | Não |
| Dimension | Dimensão de tempo a ser utilizada no cálculo | Dimensão | Não | Não |
Um financiamento de 12 parcelas mensais com 3 meses de carência foi contratado em Janeiro/24:
| Mês | Parcelas Restantes |
|---|---|
| Janeiro/24 (carência) | 12 |
| Fevereiro/24 (carência) | 12 |
| Março/24 (carência) | 12 |
| Abril/24 (1ª parcela) | 11 |
| Maio/24 (2ª parcela) | 10 |
| Fórmula | Descrição | Resultado em Abril/24 |
|---|---|---|
| Remaining([Num Parcelas], 1, 3, [Tempo]) | Calcula as parcelas restantes do financiamento de 12 parcelas com intervalo mensal e 3 meses de carência. | 11 parcelas |
Descrição do Resultado: Em Abril/24 (primeiro mês após a carência), a função Remaining indica que restam 11 parcelas a serem pagas, pois a primeira foi paga neste mês. Durante os 3 meses de carência (Jan-Mar), nenhuma parcela é debitada.
Descrição:
Arredonda um número para uma quantidade específica de casas decimais. O comportamento do arredondamento varia conforme o valor de precisão informado:
748,476 → 748,48).748,6 → 749).748,47 → 700,00).Syntax:
Round(Number, Precision)
Parâmetros:
| Nome | Descrição | Tipos de parâmetros | Obrigatório | Repetições |
|---|---|---|---|---|
| Number | Número a ser arredondado | Membro, Membro com Escopo, Bloco | Sim | Não |
| Precision | Número de casas decimais para arredondamento (pode ser negativo) | Número Inteiro | Sim | Não |
| Número (Dimensão) | Valor Original |
|---|---|
| Receita Norte | 748,476 |
| Receita Sul | 1.234,567 |
| Fórmula | Descrição | Resultado |
|---|---|---|
| Round([Receita Norte], 2) | Arredonda 748,476 para 2 casas decimais. | 748,48 |
| Round([Receita Sul], -2) | Arredonda 1.234,567 para o múltiplo de 100 mais próximo (precisão -2). | 1.200,00 |
Descrição do Resultado: A função Round ajusta o número conforme a precisão especificada. Com precisão positiva (2), arredonda para casas decimais específicas — útil em relatórios financeiros. Com precisão negativa (-2), arredonda para centenas — útil em análises macro.
Descrição:
Soma o valor de entrada ao longo de todos os períodos da dimensão de tempo (do primeiro ao último), retornando o total agregado por combinação de dimensões não-temporais. Diferentemente de Cumulate, que acumula até o período atual, a função Sum sempre retorna o total completo de todos os períodos, independentemente do período corrente. É utilizada para consolidar totais anuais ou totais de série completa em relatórios de planejamento.
Syntax:
Sum(Value)
Parâmetros:
| Nome | Descrição | Tipos de parâmetros | Obrigatório | Repetições |
|---|---|---|---|---|
| Value | Valor base a ser somado ao longo de todos os períodos | Membro, Membro com Escopo | Sim | Não |
Dados de Receita Mensal no ano de 2024:
| Mês | Receita (R$) |
|---|---|
| Janeiro/24 | 10.000 |
| Fevereiro/24 | 12.000 |
| Março/24 | 8.000 |
| Fórmula | Período Corrente | Resultado |
|---|---|---|
| Sum([Receita Mensal]) | Janeiro/24 | R$ 30.000 |
| Sum([Receita Mensal]) | Fevereiro/24 | R$ 30.000 |
| Sum([Receita Mensal]) | Março/24 | R$ 30.000 |
Descrição do Resultado: A função Sum retorna sempre o total de todos os períodos (R$ 30.000), independentemente do período corrente. Isso a diferencia do Cumulate, cujo resultado varia a cada período. É útil para calcular totais de referência que precisam aparecer de forma constante em todos os períodos.
Descrição:
Categoriza um valor em faixas progressivas e calcula o imposto ou encargo acumulado sobre cada faixa. Cada faixa possui um limite superior e um percentual específico; o valor excedente de cada faixa é tributado pela alíquota correspondente. O percentual informado no parâmetro % Acima é aplicado ao valor que ultrapassar a última faixa definida. Impostos progressivos (como IRPF) são o exemplo clássico de uso desta função.
Syntax:
Tier(Value, %Above, Tier, %Tier)
Parâmetros:
| Nome | Descrição | Tipos de parâmetros | Obrigatório | Repetições |
|---|---|---|---|---|
| Value | Valor base a ser categorizado nas faixas | Membro, Membro com Escopo | Sim | Não |
| % Acima | Percentual aplicado ao valor que exceder a última faixa definida | Membro, Membro com Escopo | Sim | Não |
| Tier | Limite superior de cada faixa | Membro, Membro com Escopo | Sim | Sim |
| % Tier | Percentual aplicado ao valor dentro de cada faixa | Membro, Membro com Escopo | Sim | Sim |
Tabela de alíquotas progressivas para cálculo de imposto sobre salário:
| Faixa | Limite Superior (R$) | Alíquota |
|---|---|---|
| Faixa 1 | 10.000 | 5% |
| Faixa 2 | 20.000 | 10% |
| Acima de 20.000 | — | 15% |
| Fórmula | Salário | Resultado |
|---|---|---|
| Tier([Salário], 15%, 10000, 5%, 20000, 10%) | R$ 25.000 | R$ 2.750 |
Cálculo Detalhado:
Descrição do Resultado: A função Tier distribui o salário de R$ 25.000 nas faixas definidas e aplica o percentual correspondente a cada trecho. O imposto total calculado é R$ 2.750, resultado da soma dos encargos de cada faixa progressiva.
Descrição:
Acumula os valores de um membro desde o início do ano (ou ano fiscal) até o período corrente, calculando o acumulado do ano até a data (Year-To-Date). A cada período, o resultado é a soma de todos os valores desde o primeiro período do ano até o período atual. É amplamente utilizado em relatórios financeiros para acompanhar o desempenho acumulado ao longo do exercício.
Syntax:
YTD(Base)
Parâmetros:
| Nome | Descrição | Tipos de parâmetros | Obrigatório | Repetições |
|---|---|---|---|---|
| Base | Valor a ser acumulado desde o início do ano até o período corrente | Membro, Membro com Escopo | Sim | Não |
| Tempo (Dimensão) | Vendas Mensais (R$) | YTD Vendas (R$) |
|---|---|---|
| Janeiro/24 | 5.000 | 5.000 |
| Fevereiro/24 | 7.000 | 12.000 |
| Março/24 | 6.000 | 18.000 |
| Abril/24 | 8.000 | 26.000 |
| Fórmula | Descrição | Resultado em Abril/24 (R$) |
|---|---|---|
| YTD([Vendas]) | Acumula o valor das vendas de Janeiro/24 até o mês corrente. | R$ 26.000 |
Cálculo Detalhado:
Descrição do Resultado: A função YTD acumula os valores mensais de Vendas a partir do primeiro mês do ano. Em Abril/24, o acumulado é R$ 26.000, correspondendo à soma de todos os meses de Janeiro a Abril.