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 criarmos uma nova fórmula vamos seguir 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.
A = B + C
, será exibido na lista A
, B
e A + B
;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:
Função matemática, que dá como resultado o valor absoluto (ou módulo) de um número. Esse valor é o número sem o seu sinal.
Syntax:
ABS(Item)
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 | 1 |
Fórmula | Descrição | Resultado |
---|---|---|
=ABS(2) | Valor absoluto de 2 | 2 |
=ABS(-2) | Valor absoluto de -2 | 2 |
Descrição:
Realiza o reajuste de um valor.
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 |
Percentagem | Reajuste a ser aplicado | Membro, Membro com Escopo | Sim | Não |
Atributo | Atributo da dimensão | Dimensão, Atributo, Valor | Não | Sim |
Dados | Descrição | |
---|---|---|
100 | Produto A | |
10% | Percentagem | |
Fórmula | Descrição | Resultado |
[Conta] = Adjust([Produto A], [15%]) | Aplica um reajuste de 10% ao preço original do Produto A | 110 |
Descrição:
Retorna os valores entre duas datas.
Syntax:
Between(Valor, Data Início, Data Final)
Parâmetros:
Nome | Descrição | Tipos de parâmetros | Obrigatório | Repetições |
---|---|---|---|---|
Valor | Valor | Membro, Membro com Escopo | Sim | Não |
Data Início | Data início | Membro, Membro com Escopo | Sim | Não |
Data Final | Data final | Membro, Membro com Escopo | Sim | Não |
Exemplo: Pode ser utilizada para retornar os valores do Salário Mensal no intervalo entre a Data de Admissão e a Data de Demissão. Neste caso, serão considerados os salários pagos nos meses de janeiro, fevereiro, março, abril e maio.
Dados | Descrição | |
---|---|---|
3000 | Valor | |
Jan/24 | Data Inicio | |
Mai/24 | Data Final | |
Fórmula | Descrição | Resultado |
Between([Salário Mensal], [Tempo].[2024].[Janeiro/24], [Tempo].[2024].[Maio/24]) | Calcula o valor do salário mensal em um período de 5 meses | 15000 |
Descrição:
Cria um produto cartesiano.
Syntax:
Cartesian(Item, Dimension)
Parâmetros:
Nome | Descrição | Tipos de parâmetros | Obrigatório | Repetições |
---|---|---|---|---|
Item | Item a ser criado o produto cartesiano | Membro, Membro com Escopo, Bloco | Sim | Não |
Dimensão | Dimensão | Dimensão | Sim | Sim |
Descrição:
A função Ceiling retorna um valor inteiro representando o maior inteiro, sendo o mesmo maior ou igual ao valor.
Syntax:
Ceiling(Number, Precision)
Parâmetros:
Nome | Descrição | Tipos de parâmetros | Obrigatório | Repetições |
---|---|---|---|---|
Número | Número a ser arredondado | Membro, Membro com Escopo, Bloco | Sim | Não |
Precisão | Valor da precisão | Número Inteiro | Não | Não |
Fórmula | Descrição | Resultado |
---|---|---|
Ceiling(2,5; 1) | Arredonda 2,5 para cima até o múltiplo mais próximo de 1 | 3 |
Ceiling(-2,5; -2) | Arredonda -2,5 para cima até o múltiplo mais próximo de -2 | -4 |
Ceiling(-2,5; 2) | Arredonda -2,5 para cima até o múltiplo mais próximo de 2 | -2 |
Ceiling(1,5; 0,1) | Arredonda 1,5 para cima até o múltiplo mais próximo de 0,1 | 1,5 |
Ceiling(0,234; 0,01) | Arredonda 0,234 para cima até o múltiplo mais próximo de 0,01 | 0,24 |
Descrição:
Adiciona de forma composta um percentual a um Número em cada período.
Syntax:
Cgrow(Start, Grow, %Grow Rate)
Parâmetros:
Nome | Descrição | Tipos de parâmetros | Obrigatório | Repetições |
---|---|---|---|---|
Start | Valor inicial a ser somado ao resultado | Membro, Membro com Escopo | Sim | Não |
Grow | Valor acrescido | Membro, Membro com Escopo | Sim | Não |
% Grow Rate | Percentual a crescer | Membro, Membro com Escopo | Sim | Não |
Dados | Descrição | |
---|---|---|
1.000,00 | Valor inicial (Start). | |
200,00 | Valor acrescido a cada período (Grow). | |
10% | Percentual de crescimento em cada período (% Grow Rate). |
Fórmula | Descrição |
---|---|
CGrow(1.000, 200, 10%) | Calcula o valor inicial acrescido de um crescimento composto a cada período, somando o valor adicional e aplicando o percentual. |
Conta (Crescimento Composto) | 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 |
Valor Acrescido (Grow) | 200,00 | 200,00 | 200,00 | 200,00 |
Percentual Crescido (% Grow Rate) | 10% | 10% | 10% | 10% |
Resultado do Período | 1.320,00 | 1.682,00 | 2.090,20 | 2.559,22 |
Descrição do Resultado: O valor inicial foi definido como 1.000,00, com um acréscimo de 200,00 por período e crescimento composto de 10%. Em cada período, o crescimento composto foi aplicado sobre o resultado acumulado, incluindo o valor acrescido.
Descrição:
Calcula o saldo final a partir do saldo inicial, mais os movimentos de entrada e saída.
Syntax:
Closing(Opening, In, Out)
Parâmetros:
Nome | Descrição | Tipos de parâmetros | Obrigatório | Repetições |
---|---|---|---|---|
Opening | Saldo inicial | Membro, Membro com Escopo | Sim | Sim |
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 |
---|---|---|
Closing(1.000, 500, 200) | Calcula o saldo final somando o saldo inicial aos movimentos de entrada e subtraindo os movimentos de saída. | 1.300,00 |
Conta (Saldo Final) | 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 é calculado somando o saldo inicial (1.000,00) aos movimentos de entrada (500,00) e subtraindo os movimentos de saída (200,00). O resultado final é 1.300,00.
Descrição:
Calcula o saldo final a partir do saldo inicial mais movimentos de entrada e saída, considerando uma taxa.
Syntax:
ClosingVariance(Opening, Opening In %, Divider Output, In, Out)
Parâmetros:
Nome | Descrição | Tipos de parâmetros | Obrigatório | Repetições |
---|---|---|---|---|
Opening | Saldo inicial | Membro, Membro com Escopo | Sim | Não |
Opening In % | Percentual de entrada do saldo inicial | Membro, Membro com Escopo, Número | Sim | Não |
Opening Out % | Percentual de saida do saldo inicial | Membro, Membro com Escopo, Número | Sim | Não |
Divider Output | Divisor de saída | Membro, Membro com Escopo, Número | 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). | |
10% | Percentual de entrada do saldo inicial (Opening In %). | |
10% | Percentual de saída do saldo inicial (Opening Out %). | |
500,00 | Movimentos de entrada (In). | |
200,00 | Movimentos de saída (Out). | |
100,00 | Divisor de saída (Divider Output). |
Fórmula | Descrição | Resultado |
---|---|---|
ClosingVariance(1.000, 10, 10, 100, 500, 200) | Calcula o saldo final considerando o saldo inicial, a porcentagem de entrada e saída do saldo inicial, os movimentos de entrada e saída, além de um divisor de saída. A fórmula leva em conta tanto os percentuais de entrada e saída quanto o valor efetivo dos movimentos. | 1.280,00 |
Conta (Saldo Final) | Período 1 |
---|---|
Saldo Inicial (Opening) | 1.000,00 |
Percentual de Entrada (Opening In %) | 10% |
Percentual de Saída (Opening Out %) | 10% |
Movimentos de Entrada (In) | 500,00 |
Movimentos de Saída (Out) | 200,00 |
Divisor de Saída (Divider Output) | 100,00 |
Saldo Final | 1.280,00 |
Descrição do Resultado: O saldo final é calculado levando em consideração o saldo inicial de 1.000,00, o percentual de entrada de 10% e o percentual de saída de 10%, somando o valor de entrada (500,00) e subtraindo o valor de saída (200,00). O divisor de saída (100,00) é aplicado para ajustar a saída. O saldo final é 1.280,00.
Descrição:
Utilizado quando precisamos acumular um valor, porém precisamos aplicar uma operação a este valor (soma ou multiplicação), não simplesmente acumular; Por questões de performance iremos utilizar o CumAdjust.
É criada uma tabela em tempo de execução quando executado, são inseridos alguns valores necessários e depois é rodado em uma CTE (Common Table Expression) sem limite de recursão, para buscar o valor e poder executar;
Syntax:
[Function Result] = CumAdjust([Increment], [Multiplier], [Increment After Multiplier], [Restart])
Parâmetros:
Nome | Descrição | Tipos de parâmetros | Obrigatório | Repetições |
---|---|---|---|---|
Increment | Incremento no valor | membro, membro com escopo | Sim | Não |
Multiplier % | Multiplicador aplicado no valor acumulado | membro, membro com escopo, número | Não | Não |
Increment After Multiplier | Incremento no valor após a multiplicação | membro, membro com escopo, número | Não | Não |
Restart | Reinicia o valor acumulado | membro, membro com escopo | Não | Não |
Resultados possíveis (Expressões):
[Function Result With Increment] = CumAdjust([Increment])
[Function Result With Increment and Multiplier] = CumAdjust([Increment], [Multiplier])
[Function Result With Increment and Multiplier and Increment After Multiplier] = CumAdjust([Increment], [Multiplier], [IncrementAfterMultiplier %])
[Function Result] = CumAdjust([Increment], [Multiplier %], [IncrementAfterMultiplier], [Restart])
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]) | Recebe o valor base e soma o incremento | 200 |
Resultado com Incremento e multiplicador
Dados | Descrição | |
---|---|---|
100 | Acumulado (valor do período anterior, calculado pela própria fórmula) |
|
100 | Incremento | |
10 % | Multiplicador % | |
Fórmula | Descrição | Resultado |
[Acumulado] = CumAdjust([Increment], [Multiplier]) | Recebe o valor base, soma o incremento e aplica a multiplicação |
220 |
Resultado com Incremento após a multiplicação
Dados | Descrição | |
---|---|---|
100 | Acumulado (valor do período anterior, calculado pela própria fórmula) |
|
100 | Incremento | |
10 % | Multiplicador % | |
100 | Incremento após multiplicação | |
Fórmula | Descrição | Resultado |
[Acumulado] = CumAdjust([Increment], [Multiplier], [IncrementAfterMultiplier %]) | Recebe o valor base, soma o incremento, aplica a multiplicação e soma o incremento após multiplicação. |
320 |
Resultado com Incremento após a multiplicação e Restart
Dados | Descrição | |
---|---|---|
100 | Acumulado (valor do período anterior, calculado pela própria fórmula) |
|
100 | Incremento | |
10 % | Multiplicador % | |
100 | Incremento após multiplicação | |
0 | Restart | |
Fórmula | Descrição | Resultado |
[Acumulado] = CumAdjust([Increment], [Multiplier %], [IncrementAfterMultiplier], [Restart]) | Recebe o valor base, soma o incremento, aplica a multiplicação e soma o incremento após multiplicação. |
320 |
Próximo cálculo - (O valor de Restart substituirá o valor acumulado fazendo o próximo período iniciar com o valor informado) |
0 |
Exemplo de aplicação do Restart:
O valor de CARestart substitui o valor acumulado no cálculo atual, fazendo com que o próximo cálculo inicie com o valor acumulado informado em CARestart.
Descrição:
Acumula o valor base até o período atual.
Syntax:
Cumulate(Value)
Parâmetros:
Nome | Descrição | Tipos de parâmetros | Obrigatório | Repetições |
---|---|---|---|---|
Value | Valor base a se acumular | Membro, Membro com Escopo | Sim | Não |
Dados | Descrição |
---|---|
100 | Valor base a ser acumulado (Value) |
50 | Período 1: Valor a ser somado |
75 | Período 2: Valor a ser somado |
120 | Período 3: Valor a ser somado |
Fórmula | Descrição | Resultado |
---|---|---|
Cumulate([Valor Base]) | A função Cumulate acumula os valores do período até o período atual. Começando com o valor base, ela soma o valor de cada período à medida que avança. | 345 |
Descrição do Resultado: A função Cumulate acumula o valor base de 100 para o período 1 (50), o período 2 (75) e o período 3 (120), resultando em um saldo acumulado de 345. A função considera todos os valores inseridos até o momento, retornando o valor total acumulado.
Descrição:
Calcula os recebimentos ou pagamentos, baseado nos percentuais de cada período.
Syntax:
Delay(Input, % Period)
Parâmetros:
Nome | Descrição | Tipos de parâmetros | Obrigatório | Repetições |
---|---|---|---|---|
Input | Faturas | Membro, Membro com Escopo | Sim | Não |
% Period | Porcentagem do período | Membro, Membro com Escopo, Número | Sim | Sim |
Dados | Descrição |
---|---|
1000 | Fatura inicial (Input) |
30% | Percentual do 1º período (%Period) |
30% | Percentual do 2º período |
40% | Percentual do 3º período |
Fórmula | Descrição | Resultado |
---|---|---|
Delay([Fatura], [% Período]) | A função Delay calcula os valores dos pagamentos baseados nos percentuais de cada período. Ela distribui a fatura de acordo com os percentuais informados, considerando cada período separadamente. | 300, 300, 400 |
Descrição do Resultado: O valor total de 1000 será distribuído nos três períodos: 300 no primeiro mês (30%), 300 no segundo mês (30%) e 400 no terceiro mês (40%). A função Delay garante que os percentuais de cada período sejam aplicados corretamente e os valores calculados para o pagamento de cada período.
Descrição:
Calcula a depreciação linear de um bem, baseado no seu tempo de vida. O valor a depreciar é igual ao valor do bem, dividido pelo seu tempo de vida.
Syntax:
Depr(Capitalization, Life)
Parâmetros:
Nome | Descrição | Tipos de parâmetros | Obrigatório | Repetições |
---|---|---|---|---|
Capitalization | Valor do bem a depreciar | Membro, Membro com Escopo | Sim | Não |
Life | Tempo de vida do bem | Membro, Membro com escopo | Sim | Não |
Dados | Descrição |
---|---|
10.000 | Valor do bem (Capitalization) |
5 anos | Tempo de vida do bem (Life) |
Fórmula | Descrição | Resultado |
---|---|---|
Depr([Capitalization], [Life]) | A função Depr calcula a depreciação linear do bem, dividindo o valor do bem pelo seu tempo de vida. | 2.000 por ano |
Descrição do Resultado: Com base na fórmula, o valor de depreciação será de 2.000 por ano. Esse valor é obtido dividindo o valor total do bem (10.000) pelo tempo de vida útil do bem (5 anos).
Descrição:
Retorna o valor do membro sem o valor do dado membro.
Syntax:
Descendants(Member)
Parâmetros:
Nome | Descrição | Tipos de parâmetros | Obrigatório | Repetições |
---|---|---|---|---|
Member | Membro utilizado para buscar os descendentes | Membro, Membro com Escopo | Sim | Não |
Dados | Descrição |
---|---|
Total de Vendas | Membro principal, representando o total de vendas realizadas. |
Região A, Região B, Região C | Membros descendentes, representando as vendas em cada região. |
Fórmula | Descrição | Resultado |
---|---|---|
Descendants([Total de Vendas]) | A função Descendants retorna os valores de todos os membros descendentes (Região A, Região B, Região C) sem incluir o valor do membro principal (Total de Vendas). | Vendas por Região: A, B, C |
Descrição do Resultado: A função isola as vendas de cada região (Região A, Região B, Região C) sem incluir o valor agregado do "Total de Vendas". Essa função é útil para análises detalhadas de componentes individuais em uma hierarquia.
Descrição:
Busca a diferença do membro atual com o primeiro valor do membro na hierarquia, considerando um deslocamento vertical e horizontal.
Syntax:
DiffFirstValue(Item, Parent, Lag, Dimension)
Parâmetros:
Nome | Descrição | Tipos de parâmetros | Obrigatório | Repetições |
---|---|---|---|---|
Item | Item que deseja buscar o primeiro valor | Membro, Membro com Escopo, Bloco | Sim | Não |
Parent | Deslocamento vertical | Número Inteiro Positivo | Sim | Não |
lag | Deslocamento Horizontal | Número Inteiro | Sim | Não |
Dimension | Dimensão que se deseja buscar o primeiro valor | Dimensão, Hierarquia | Não | Não |
Dados | Descrição |
---|---|
Receita Mensal | Valores das receitas registradas mensalmente em uma hierarquia temporal. |
Janeiro: 100, Fevereiro: 120, Março: 140 | Receitas dos meses especificados. |
Fórmula | Descrição | Resultado |
---|---|---|
DiffFirstValue([Receita Mensal], 0, 0, [Tempo]) | A função DiffFirstValue calcula a diferença entre o valor do membro atual e o primeiro valor da hierarquia de tempo (Janeiro). O deslocamento vertical (Parent) e horizontal (Lag) são definidos como 0, sem ajustes adicionais, e a dimensão é Tempo. | Fevereiro: 20 (120 - 100), Março: 40 (140 - 100) |
Descrição do Resultado: A função subtrai o valor de Janeiro (primeiro valor na hierarquia) de cada membro subsequente (Fevereiro, Março, etc.), permitindo analisar variações ao longo do tempo.
Descrição:
Busca a diferença do membro atual com o último valor do membro na hierarquia, considerando um deslocamento vertical e horizontal.
Syntax:
DiffLastValue(Item, Parent, Lag, Dimension)
Parâmetros:
Nome | Descrição | Tipos de parâmetros | Obrigatório | Repetições |
---|---|---|---|---|
Item | Item que deseja buscar o último valor | Membro, Membro com Escopo, Bloco | Sim | Não |
Parent | Deslocamento vertical | Número Inteiro Positivo | Sim | Não |
lag | Deslocamento Horizontal | Número Inteiro | Sim | Não |
Dimension | Dimensão que se deseja buscar o último valor | Dimensão e Hierarquia | Não | Não |
Dados | Descrição |
---|---|
Receita Mensal | Valores das receitas registradas mensalmente em uma hierarquia temporal. |
Janeiro: 100, Fevereiro: 120, Março: 140 | Receitas dos meses especificados. |
Fórmula | Descrição | Resultado |
---|---|---|
DiffLastValue([Receita Mensal], 0, 0, [Tempo]) | A função DiffLastValue calcula a diferença entre o valor do membro atual e o último valor da hierarquia de tempo (Março). O deslocamento vertical (Parent) e horizontal (Lag) são definidos como 0, sem ajustes adicionais, e a dimensão é Tempo. | Janeiro: -40 (100 - 140), Fevereiro: -20 (120 - 140), Março: 0 (140 - 140) |
Descrição do Resultado: A função subtrai o valor do último período (Março) de cada membro na hierarquia temporal. Assim, permite identificar a variação do membro atual em relação ao último valor.
Descrição:
Calcula a diferença em percentual do período atual e do período anterior.
Syntax:
DiffPercent(Value, Step)
Parâmetros:
Nome | Descrição | Tipos de parâmetros | Obrigatório | Repetições |
---|---|---|---|---|
Value | Valor base para calcular a diferença | Membro, Membro com Escopo | Sim | Não |
Step | Passo para calcular a diferença | Membro, Membro com Escopo, Número Inteiro | Não | Não |
Dados | Descrição |
---|---|
Receita Mensal | Valores das receitas registradas mensalmente. |
Janeiro: 100, Fevereiro: 120, Março: 140 | Receitas dos meses especificados. |
Fórmula | Descrição | Resultado |
---|---|---|
DiffPercent([Receita Mensal], 1) | A função DiffPercent calcula a variação percentual entre o valor atual e o valor do período anterior. O Step é definido como 1, indicando que a comparação será feita com o período imediatamente anterior. | Fevereiro: 20% ((120 - 100) / 100 * 100), Março: 16,67% ((140 - 120) / 120 * 100) |
Descrição do Resultado: A função retorna a diferença percentual mês a mês, considerando a variação de um período em relação ao anterior. Para o primeiro período (Janeiro), não há cálculo, pois não há período anterior para comparação.
Descrição:
Calcula a diferença proporcial do período atual e do período anterior.
Syntax:
DiffProportion(Value, Step)
Parâmetros:
Nome | Descrição | Tipos de parâmetros | Obrigatório | Repetições |
---|---|---|---|---|
Value | Valor base para calcular a diferença | Membro, Membro com Escopo | Sim | Não |
Step | Passo para calcular a diferença | Membro, Membro com Escopo, Número Inteiro | Não | Não |
Dados | Descrição |
---|---|
Receita Mensal | Valores das receitas registradas mensalmente. |
Janeiro: 100, Fevereiro: 120, Março: 150 | Receitas dos meses especificados. |
Fórmula | Descrição | Resultado |
---|---|---|
DiffProportion([Receita Mensal], 1) | A função DiffProportion calcula a diferença proporcional entre o valor atual e o valor do período anterior. O Step é definido como 1, indicando que a comparação será feita com o período imediatamente anterior. | Fevereiro: 0,1667 ((120 - 100) / 120), Março: 0,2 ((150 - 120) / 150) |
Descrição do Resultado: A função retorna a diferença proporcional entre os períodos especificados. Para o primeiro período (Janeiro), não há cálculo, pois não existe período anterior para comparação.
Descrição:
Calcula a diferença em valor do período atual e do período anterior.
Syntax:
DiffValue(Value, Step)
Parâmetros:
Nome | Descrição | Tipos de parâmetros | Obrigatório | Repetições |
---|---|---|---|---|
Value | Valor base para calcular a diferença | Membro, Membro com Escopo | Sim | Não |
Step | Passo para calcular a diferença | Membro, Membro com Escopo, Número Inteiro | Não | Não |
Dados | Descrição |
---|---|
Receita Mensal | Valores das receitas registradas mensalmente. |
Janeiro: 100, Fevereiro: 120, Março: 150 | Receitas dos meses especificados. |
Fórmula | Descrição | Resultado |
---|---|---|
DiffValue([Receita Mensal], 1) | A função DiffValue calcula a diferença em valor entre o período atual e o período anterior. O Step é definido como 1, indicando que a comparação será feita com o período imediatamente anterior. | Fevereiro: 20 (120 - 100), Março: 30 (150 - 120) |
Descrição do Resultado: A função retorna a diferença em valor entre os períodos especificados. Para o primeiro período (Janeiro), não há cálculo, pois não existe período anterior para comparação.
Descrição:
Expande o item de um determinado nível.
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 | Membro, Membro com Escopo, Bloco | Sim | Não |
Level Start | Nível de início da dimensão | Dimensão e Nível | Sim | Sim |
Level End | Nível final da dimensão | Dimensão e Nível | Sim | Sim |
Hierárquia da Dimensão | Exemplo |
---|---|
Região | Sul, Sudeste |
Estado | Paraná, São Paulo |
Cidade | Curitiba, Londrina, Campinas, Ubatuba |
Fórmula | Descrição | Resultado |
---|---|---|
Expand([Vendas], Região, Cidade) | A função Expand é usada para expandir o item [Vendas] hierarquicamente do nível Região até o nível Cidade. | Mostra os valores detalhados das vendas para todas as cidades em cada região. Por exemplo, na Região Sul: Curitiba: R$ 500, Londrina: R$ 300; na Região Sudeste: Campinas: R$ 700, Ubatuba: R$ 1200. |
Descrição do Resultado: A função percorre os níveis da hierarquia, iniciando no nível Região e detalhando até o nível Cidade. Assim, permite visualizar dados específicos de cada cidade organizados por região e estado.
Descrição:
Filtra o item pelos valores do atributo da dimensão.
Syntax:
Filter(Item, Attribute)
Parâmetros:
Nome | Descrição | Tipos de parâmetros | Obrigatório | Repetições |
---|---|---|---|---|
Item | Item a ser expandido | Membro, Membro com Escopo, Bloco | Sim | Não |
Level Start | Nível de início da dimensão | Dimensão e Nível | Sim | Sim |
Level End | Nível final da dimensão | Dimensão e Nível | Sim | Sim |
Produto | Vendas |
---|---|
Smartphone | R$ 10.000 |
TV | R$ 15.000 |
Geladeira | R$ 8.000 |
Máquina de Lavar | R$ 7.000 |
Fórmula | Descrição | Resultado |
---|---|---|
Filter([Vendas], [Produto].[Eletrônicos]") | A função Filter filtra o item [Vendas] para incluir apenas os produtos sob a categoria Eletrônicos da hierarquia Produto. | Retorna as vendas de Smartphone (R$ 10.000) e TV (R$ 15.000). Total: R$ 25.000. |
Fórmula | Descrição | Resultado |
---|---|---|
Filter([Vendas], [Produto].[Eletrodomésticos]") | A função Filter filtra o item [Vendas] para incluir apenas os produtos sob a categoria Eletrodomésticos da hierarquia Produto. | Retorna as vendas de Geladeira (R$ 8.000) e Máquina de Lavar (R$ 7.000). Total: R$ 15.000. |
Descrição do Resultado: A função Filter percorre os membros da dimensão Produto e filtra os valores com base na hierarquia e no nível especificado.
Descrição:
Busca o primeiro valor de hierarquia, considerando um deslocamento vertical e horizontal.
Syntax:
FirstValue(Item, Parent, Lag, Dimension)
Parâmetros:
Nome | Descrição | Tipos de parâmetros | Obrigatório | Repetições |
---|---|---|---|---|
Item | Item que deseja buscar o primeiro valor | Membro, Membro com Escopo, Bloco | Sim | Não |
Parent | Deslocamento vertical | Número Inteiro Positivo | Sim | Não |
Lag | Deslocamento Horizontal | Número Inteiro | Sim | Não |
Dimension | Dimensão que se deseja buscar o primeiro valor | Dimensão e Hierarquia | Não | Sim |
Dados de Exemplo | |||
---|---|---|---|
Região | Estado | Cidade | Vendas |
Norte | Pará | Belém | R$ 5.000 |
Norte | Pará | Santarém | R$ 3.000 |
Norte | Amazonas | Manaus | R$ 7.000 |
Sul | Rio Grande do Sul | Porto Alegre | R$ 6.000 |
Fórmula | Descrição | Resultado |
---|---|---|
FirstValue([Vendas], 1, 0, [Entidade].[Região]) | A função FirstValue busca o primeiro valor na dimensão Região, deslocando-se verticalmente 1 nível na hierarquia e sem deslocamento horizontal. | Retorna os valores iniciais: R$ 5.000 (Norte -> Pará -> Belém) e R$ 6.000 (Sul -> Rio Grande do Sul -> Porto Alegre). |
Descrição do Resultado: A função percorre a hierarquia da dimensão Região, descendo um nível na hierarquia até o primeiro valor associado à categoria especificada. No exemplo, ela retorna os primeiros valores de vendas por Região com base na estrutura hierárquica.
Descrição:
A função floor retorna um valor inteiro representando o maior inteiro, sendo o mesmo menor ou igual ao valor.
Syntax:
Floor(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 | Valor da precisão | Número Inteiro | Não | Não |
Dados de Exemplo | |||
---|---|---|---|
Produto | Valor Original | Desconto Aplicado | Valor com Desconto |
Produto A | R$ 50,75 | 15% | R$ 43,14 |
Produto B | R$ 20,99 | 10% | R$ 18,89 |
Fórmula | Descrição | Resultado |
---|---|---|
Floor([Valor com Desconto], 1) | Arredonda o valor com desconto para o inteiro mais próximo menor ou igual, com precisão de 1 decimal. | Para Produto A: R$ 43,10; Para Produto B: R$ 18,80 |
Floor([Valor com Desconto]) | Arredonda o valor com desconto para o inteiro mais próximo menor ou igual, sem precisão decimal. | Para Produto A: R$ 43,00; Para Produto B: R$ 18,00 |
Descrição do Resultado: A função Floor é usada para garantir que os valores finais sejam arredondados de forma consistente, considerando a precisão definida. Isso é útil para cálculos financeiros e regras de negócios específicas.
Descrição:
Carrega os dados de um membro de uma aplicação para outra aplicação.
Syntax:
GetApplicationData([Function Result], [Aplicação], [Membro])
Parâmetros:
Nome | Descrição | Tipos de parâmetros | Obrigatório | Repetições |
---|---|---|---|---|
Function Result | Escopo do cubo que receberá os dados | Membro, Membro com escopo | Sim | Não |
Aplicação | Aplicação que terá seus dados carregados | Aplicação | Sim | Não |
Membro | Membro da aplicação que contém os dados | Membro, Membro com escopo | Sim | Sim |
Dados | Descrição | |
---|---|---|
Planejamento | Aplicação | |
Produtos | Membro dimensão Conta | |
Fórmula | Descrição | Resultado |
[Conta].[Vendas] = GetApplicationData([Planejamento], [Produtos]) | Traz os valores da Aplicação de origem a aplicação de destino | Carrega os valores do membro Produtos da dimensão Conta, da Aplicação Planejamento, para o membro Vendas da dimensão Conta da Aplicação de destino |
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:
Carrega os valores contidos em uma tabela de dados.
Syntax:
GetDataTableData([Function Result], [Data Table], [Column])
Parâmetros:
Nome | Descrição | Tipos de parâmetros | Obrigatório | Repetições |
---|---|---|---|---|
Function Result | Escopo do cubo que receberá os dados | Membro, Membro com escopo | Sim | Não |
Data Table | Tabela de dados que carregará os valores | Tabela de Dados | Sim | Não |
Column | Coluna na tabela de dados onde se encontram os valores | Coluna da Tabela de Dados | Não | Sim |
Dados | Descrição | |
---|---|---|
- | Total de Itens Vendidos (Tabela de Dados) | |
500 | Valor (Coluna) | |
Fórmula | Descrição | Resultado |
([Conta].[Produtos], [Tempo].[Todos].[2025].[1S/25].[1T/25].[Março/25], [Cenário].[Planejado], [Entidade].[Não Aplicável] = GetDataTableData(Total de Itens Vendidos, Valor) | Carrega os dados da coluna Valor da Tabela de Dados para o escopo definido | carrega o valor 500 para o membro Produtos no mês Março/25 |
Em Function Result, as dimensões que não forem adicionadas serão interpretadas como Não aplicável.
Se tivermos link para alguma dimensão em nossa tabela de dados, não será necessário informar tal dimensão no escopo da fórmula, o sistema fará a identificação de forma automática.
Exemplo de fórmula utilizando link para dimensão tempo: ([Produtos], [Cenário].[Planejado]) = GetDataTableData(Total de Itens Vendidos)
. Neste exemplo, temos uma coluna na tabela de dados que está linkada à dimensão tempo.
Descrição:
Agrupar o item pelos níveis de dimensão.
Syntax:
Group(Item, Level)
Parâmetros:
Nome | Descrição | Tipos de parâmetros | Obrigatório | Repetições |
---|---|---|---|---|
Item | Item a ser agrupado | Membro, Membro com Escopo, Bloco | Sim | Não |
Level | Nível da dimensão | Dimensão e Nível | Sim | Sim |
Item | Valor das Vendas | Dimensão (Entidade) |
---|---|---|
Produto A | R$ 10.000,00 | Brasil > São Paulo > Ubatuba |
Produto B | R$ 8.000,00 | Brasil > São Paulo > Campinas |
Produto C | R$ 12.000,00 | Brasil > Rio de Janeiro > Niterói |
Fórmula | Resultado | |
---|---|---|
Group([Vendas], [Entidade].[País]) | País | Total de Vendas |
Brasil | R$ 30.000,00 |
Fórmula | Resultado | |
---|---|---|
Group([Vendas], [Entidade].[Estado]) | Estado | Total de Vendas |
São Paulo | R$ 18.000,00 | |
Rio de Janeiro | R$ 12.000,00 |
Fórmula | Resultado | |
---|---|---|
Group([Vendas], [Entidade].[Cidade]) | Cidade | Total de Vendas |
Ubatuba | R$ 10.000,00 | |
Campinas | R$ 8.000,00 | |
Niterói | R$ 12.000,00 |
Descrição do Resultado: A função Group permite consolidar os valores das vendas por diferentes níveis hierárquicos da entidade. É útil para relatórios agregados e análise por região.
Descrição:
Retorna um (1) onde possui valor.
Syntax:
HasValue(Valor)
Parâmetros:
Nome | Descrição | Tipos de parâmetros | Obrigatório | Repetições |
---|---|---|---|---|
Valor | Valor a ser checado | Membro, Membro com Escopo | Sim | Não |
Produto | Janeiro/24 | Fevereiro/24 | Março/24 |
---|---|---|---|
Produto A | 500 | 700 | 0 |
Produto B | 0 | 0 | 0 |
Produto C | 300 | 0 | 900 |
Fórmula: | Resultado | |||
---|---|---|---|---|
HasValue([Vendas]) | Produto | Janeiro/24 | Fevereiro/24 | Março/24 |
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 vazias ou com valor zero. É útil para identificar a presença de dados em análises, especialmente quando se deseja filtrar ou destacar valores significativos em relatórios.
Descrição:
Verifica se uma condição foi satisfeita, retornando um valor se for verdadeiro ou outro valor se for falso.
Syntax:
IIF(Conditional, True, False)
Parâmetros:
Nome | Descrição | Tipos de parâmetros | Obrigatório | Repetições |
---|---|---|---|---|
Conditional | Condicionar a ser testada | Comparador | Sim | Não |
True | Valor se a condicional for verdadeira | Membro, Membro com Escopo, Número, Condicional | Sim | Não |
False | Valor se a condicional for 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:
Descrição:
Retorna o pagamento de juros durante um determinado período de um investimento com base em periódicos, constante pagamento e uma constante taxa de juros.
Syntax:
IPMT(Rate, Per, NPer, PV, FV, Type)
Parâmetros:
Nome | Descrição | Tipos de parâmetros | Obrigatório | Repetições |
---|---|---|---|---|
Rate | Taxa de juros | Membro, Membro com Escopo | Sim | Não |
Per | O período no qual se deseja achar o juros | Membro, Membro com Escopo | Sim | Não |
NPer | Número de pagamentos | Membro, Membro com Escopo | Sim | Não |
PV | Valor presente ou valor principal | Membro, Membro com Escopo | Sim | Não |
FV | Valor futuro | Membro, Membro com Escopo | Não | Não |
Type | Número 0 ou 1 indicando quando o pagamento vence. 0 indica no final do período e 1 no começo do período | Número Inteiro | Não | Não |
Fórmula | Descrição | Resultado |
---|---|---|
IPMT(0.02, 5, 12, -10000, 0, 0) | A função IPMT calcula o valor dos juros pagos no 5º período para um empréstimo com taxa de 2% ao mês, valor presente de R$ 10.000,00, e pagamentos no final de cada período. | R$ 142,83 |
Cálculo Detalhado | |
---|---|
Rate (Taxa de Juros): 0.02 ou 2% | Representa a taxa de juros mensal aplicada. |
Per (Período): 5 | O período no qual os juros pagos serão calculados. |
NPer (Número de Pagamentos): 12 | O número total de pagamentos previstos. |
PV (Valor Presente): -10000 | O valor inicial do empréstimo, sendo negativo para representar uma saída de dinheiro. |
FV (Valor Futuro): 0 | Indica que o saldo do empréstimo será quitado ao final do período. |
Type (Tipo de Pagamento): 0 | Indica que os pagamentos são feitos ao final de cada período. |
Descrição do Resultado: O valor dos juros pagos na 5ª parcela é calculado com base no saldo restante do empréstimo após os primeiros 4 pagamentos, multiplicado pela taxa de juros. Neste caso, os juros pagos no 5º período são R$ 142,83.
Descrição:
A função Lag calcula pagamentos ou recebimentos, atrasando ou antecipando um número de períodos.
Syntax:
Lag(Input, Periods, Padding, Dimension)
Parâmetros:
Nome | Descrição | Tipos de parâmetros | Obrigatório | Repetições |
---|---|---|---|---|
Input | Valor a ser atrasado ou adiantado | Membro, Membro com escopo | Sim | Não |
Periods | Número de período | Membro, Membro com escopo, Bloco | Sim | Não |
Padding | Valor a adicionar | Membro, Membro com escopo | Não | Não |
Dimension | Dimensão a ser atrasada ou adiantada | Dimensão, Hierarquia | Não | Não |
Mês | Valor |
---|---|
Maio/24 | R$ 1000 |
Fórmula | Descrição | Resultado |
---|---|---|
Lag([Valor], 3) | Atraso do valor para o período 8. | R$ 1000 em Agosto/24 |
Lag([Valor], -3) | Antecipação do valor para o período 2. | R$ 1000 em Fevereiro/24 |
Descrição do Resultado: A função Lag é usada para ajustar o valor de um período com base em um número especificado de períodos de atraso ou antecipação. Se o número de períodos for positivo, o valor é atrasado para o futuro, e se for negativo, o valor é antecipado para o passado. Esse tipo de cálculo é útil em contextos financeiros e de planejamento, onde os pagamentos podem ser movidos para períodos diferentes com base em regras de negócios ou mudanças de cronograma.
Descrição:
Retorna o último valor não vazio.
Syntax:
LastNonEmpty(Item, Dimension)
Parâmetros:
Nome | Descrição | Tipos de parâmetros | Obrigatório | Repetições |
---|---|---|---|---|
Item | Bloco utilizado para se adquirir o ultimo valor não vazio | Membro, Membro com escopo, Bloco | Sim | Não |
Dimension | Dimensão | Dimensão | Não | Não |
Período | Vendas |
---|---|
Janeiro | R$ 5.000 |
Fevereiro | R$ 8.000 |
Março | - (NULL) |
Abril | R$ 10.000 |
Maio | - (NULL) |
Fórmula | Descrição | Resultado |
---|---|---|
LastNonEmpty([Vendas], Tempo) | A função LastNonEmpty retorna o último valor não vazio para o item [Vendas] na dimensão Tempo. | Retorna R$ 10.000. |
Descrição do Resultado: A função LastNonEmpty percorre a dimensão Tempo para identificar o último valor registrado que não seja vazio. No exemplo, o último valor não vazio corresponde ao mês de Abril, com vendas de R$ 10.000.
Descrição:
Busca o último valor de hierarquia, considerando um deslocamento vertical e horizontal.
Syntax:
LastValue(Item, Parent, Lag, Dimension)
Parâmetros:
Nome | Descrição | Tipos de parâmetros | Obrigatório | Repetições |
---|---|---|---|---|
Item | Item que deseja buscar o ultimo valor | Membro, Membro com escopo, Bloco | Sim | Não |
Parent | Deslocamento vertical | Número Inteiro Positivo | Sim | Não |
Lag | Deslocamento Horizontal | Número Inteiro | Sim | Não |
Dimension | Dimensão que se deseja buscar o ultimo valor | Dimensão e Hierarquia | Não | Não |
Conta | Janeiro/24 | Fevereiro/24 | Março/24 |
---|---|---|---|
Receita Bruta | R$ 100.000 | R$ 110.000 | R$ 105.000 |
Receita Líquida | R$ 90.000 | R$ 95.000 | R$ 100.000 |
Despesas | R$ 50.000 | R$ 55.000 | - (vazio) |
Fórmula | Descrição | Resultado |
---|---|---|
LastValue([Valor], 1, 0, Conta) | A função LastValue retorna o último valor na hierarquia de Conta, considerando um deslocamento vertical de 1 nível. | Retorna R$ 95.000 para Receita Líquida no mês de Fevereiro. |
LastValue([Valor], 0, -1, Tempo) | Retorna o último valor, deslocando horizontalmente 1 mês atrás na dimensão Tempo. | Retorna R$ 110.000 para Receita Bruta no mês de Fevereiro. |
Descrição do Resultado: A função LastValue permite buscar o último valor registrado em uma hierarquia, considerando deslocamentos específicos na dimensão selecionada. No exemplo, ela retorna os valores esperados de acordo com os deslocamentos definidos nos parâmetros.
Descrição:
LGrow adiciona de forma linear um percentual a um número em cada período.
Syntax:
LGrow(Start, Grow, Base, % Grow Rate)
Parâmetros:
Nome | Descrição | Tipos de parâmetros | Obrigatório | Repetições |
---|---|---|---|---|
Start | Valor inicial a ser somado ao resultado | Membro, Membro com escopo | Sim | Não |
Grow | Valor acrescido | Membro, Membro com escopo | Sim | Não |
Base | Valor base a ser multiplicado ao percentual e acrescido ao resultado | Membro, Membro com escopo | Sim | Não |
% Grow Rate | Percentual a crescer | Membro, Membro com escopo | Sim | Não |
Tempo (Dimensão) | Receita Inicial (Start) | Crescimento Linear (Grow) | Base (Base) | Taxa de Crescimento (% Grow Rate) |
---|---|---|---|---|
Janeiro | R$ 10.000 | R$ 1.000 | R$ 10.000 | 5% |
Fevereiro | - | - | - | - |
Março | - | - | - | - |
Fórmula | Descrição | Resultado |
---|---|---|
LGrow([Start], [Grow], [Base], [Grow Rate]) | Aplica o crescimento linear de 5% ao valor base R$ 10.000 somando o crescimento incremental de R$ 1.000 a cada período. | Janeiro: R$ 10.000, Fevereiro: R$ 11.500, Março: R$ 13.250 |
Descrição do Resultado: A função LGrow calcula o crescimento linear em cada período com base nos valores e percentuais informados. Neste exemplo, o valor inicial é R$ 10.000, com crescimento fixo de R$ 1.000 e aplicação de 5% sobre o valor base atualizado em cada período.
Descrição:
Verifica o valor de uma conta com lista e retorna um valor específico para cada item da lista.
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 | valor a ser testado | Membro, Membro com escopo | Sim | Não |
Item da Lista | Item da Lista | Lista | Sim | Não |
Valor | Valor a ser utilizado | Membro, Membro com escopo, Número | Sim | Sim |
Colaborador | Benefício (Valor a Testar) |
---|---|
João | Vale Alimentação |
Maria | Vale Transporte |
Pedro | Plano de Saúde |
Benefício | Valor |
---|---|
Vale Alimentação | R$ 300 |
Vale Transporte | R$ 150 |
Plano de Saúde | R$ 450 |
Fórmula | Descrição | Resultado |
---|---|---|
List([Benefício], "Vale Alimentação", 300) | Retorna o valor R$ 300 para o benefício Vale Alimentação associado ao colaborador João. | João: R$ 300 |
List([Benefício], "Vale Transporte", 150) | Retorna o valor R$ 150 para o benefício Vale Transporte associado à colaboradora Maria. | Maria: R$ 150 |
List([Benefício], "Plano de Saúde", 450) | Retorna o valor R$ 450 para o benefício Plano de Saúde associado ao colaborador Pedro. | Pedro: R$ 450 |
Descrição do Resultado:
A função List mapeia cada valor do benefício testado a um valor correspondente definido na lista. Neste exemplo, os colaboradores recebem valores distintos de acordo com o benefício cadastrado em sua conta.
Descrição:
Calcula o logaritmo natural.
Syntax:
LN(Item)
Parâmetros:
Nome | Descrição | Tipos de parâmetros | Obrigatório | Repetições |
---|---|---|---|---|
Item | Item que se deseja buscar o logaritmo natural | Membro, Membro com escopo, Bloco | Sim | Não |
Conta (Dimensão) | Valor Original |
---|---|
Receita Bruta | 7.387 |
Receita Líquida | 20.079 |
Lucro Operacional | 148.336 |
Fórmula | Descrição | Resultado |
---|---|---|
LN([Receita Bruta]) | Retorna o logaritmo natural do valor 7.389 registrado na conta Receita Bruta. | ≈ 2,00 |
LN([Receita Líquida]) | Retorna o logaritmo natural do valor 20.085 registrado na conta Receita Líquida. | ≈ 3,00 |
LN([Lucro Operacional]) | Retorna o logaritmo natural do valor 148.413 registrado na conta Lucro Operacional. | ≈ 5,00 |
Descrição do Resultado: A função LN calcula o logaritmo natural dos valores fornecidos. O logaritmo natural é útil em análises que envolvem taxas de crescimento contínuo ou transformações matemáticas específicas.
Descrição:
Carrega os valores contidos em uma tabela.
Syntax:
LoadData(Table, Column Value, Dimension, Dimension Column)
Parâmetros:
Nome | Descrição | Tipos de parâmetros | Obrigatório | Repetições |
---|---|---|---|---|
Table | Tabela usada para carregar os valores | Tabela | Sim | Não |
Columm Value | Coluna aonde se encontra o valor | Coluna | Sim | Não |
Dimension | Dimensão | Dimensão | Sim | Sim |
Dimension Column | Coluna da Dimensão | Coluna | Sim | Sim |
Tabela de Vendas | ||
---|---|---|
Produto | Período | Valor de Vendas |
Produto A | 2024-Q1 | 10.000 |
Produto B | 2024-Q1 | 15.000 |
Produto A | 2024-Q2 | 12.000 |
Produto B | 2024-Q2 | 18.000 |
Fórmula | Descrição | Resultado |
---|---|---|
LoadData([Tabela de Vendas], [Valor de Vendas], [Produto], [Produto]) | Carrega os valores das Vendas, mapeando pelo Produto. | Valores de vendas carregados para Produto A e Produto B nas dimensões correspondentes. |
LoadData([Tabela de Vendas], [Valor de Vendas], [Tempo], [Período]) | Carrega os valores das Vendas, mapeando pela dimensão Tempo. | Valores de vendas carregados para 2024-Q1 e 2024-Q2 nos períodos correspondentes. |
Descrição do Resultado: A função LoadData associa os valores de uma coluna de uma tabela às dimensões especificadas, permitindo a análise detalhada por membro de dimensão. No exemplo, os valores de vendas foram carregados de acordo com Produto e Tempo.
Descrição:
Calcula o logaritmo.
Syntax:
Log(Item, Base)
Parâmetros:
Nome | Descrição | Tipos de parâmetros | Obrigatório | Repetições |
---|---|---|---|---|
Item | Item que se deseja buscar o logaritmo | Membro, Membro com escopo, Bloco | Sim | Não |
Base | Base a ser utilizada no logaritmo | Número, Membro, Membro com escopo, Bloco | Sim | Não |
Fórmula | Descrição | Resultado |
---|---|---|
=LOG(10) | Logaritmo de 10. Como o segundo argumento (base) é omitido, supõe-se que ele seja 10. O resultado, 1, é a potência à qual a base deve ser elevada para ser igual a 10. | 1 |
=LOG(8; 2) | Logaritmo de 8 com a base 2. O resultado, 3, é a potência à qual a base deve ser elevada para ser igual a 8. | 3 |
=LOG(86; 2,718) | Logaritmo de 86 com a base de 2,718. O resultado, 4,454, é a potência à qual a base deve ser elevada para ser igual a 86. | 4,454 |
Descrição:
Calcula o logaritmo na base 10.
Syntax:
Log10(Item)
Parâmetros:
Nome | Descrição | Tipos de parâmetros | Obrigatório | Repetições |
---|---|---|---|---|
Item | Item que se deseja buscar o logaritmo na base 10 | Membro, Membro com escopo, Bloco | Sim | Não |
Fórmula | Descrição | Resultado |
---|---|---|
=LOG10(86) | Logaritmo de base 10 de 86. O resultado, 1,9345, é a potência na qual elevar a base, 10, igual a 86. | 1,9345 |
=LOG10(10) | Logaritmo de base 10 de 10. É a potência 10 elevada para igual a 10. | 1 |
=LOG10(100000) | Logaritmo de base 10 de 1E+5. É a potência 10 elevada para igual a 100000 (1E+5). | 5 |
=LOG10(10^5) | Logaritmo de base 10 de 10^5. Igual ao exemplo acima; 1E+5 = 100000. | 5 |
Descrição:
Pequisar o valor de uma propriedade para um bloco.
Syntax:
LookupProperty (Context, Property, Dimension)
Parâmetros:
Nome | Descrição | Tipos de parâmetros | Obrigatório | Repetições |
---|---|---|---|---|
Context | Contexto que você deseja pegar o valor da propriedade | Membro, Membro com escopo, Bloco | Sim | Não |
Property | Propriedade que você deseja pegar o valor | Dimensão, Atributo | Sim | Não |
Dimension | Dimensão que sera salvo o valor | Dimensão | Sim | Não |
Dados de Exemplo | ||
---|---|---|
Entidade | Propriedade | Valor |
Empresa A | Código | 12.345 |
Empresa B | Código | 67.890 |
Empresa C | Código | 11.223 |
Fórmula | Descrição | Resultado |
---|---|---|
LookupProperty([Empresa A], "Código", "Entidade") | Retorna o valor da propriedade "Código" associada à Empresa A na dimensão Entidade. | 12.345 |
LookupProperty([Empresa C], "Código", "Entidade") | Retorna o valor da propriedade "Código" associada à Empresa C na dimensão Entidade. | 11.223 |
Descrição do Resultado: A função LookupProperty localiza o valor da propriedade definida (neste caso, "Código") no contexto especificado, retornando o resultado relacionado à dimensão indicada.
Descrição:
Mapear dados de uma tabela.
Syntax
Mapping(Table, Dimension, Source Column, Destination Column)
Parâmetros:
Nome | Descrição | Tipos de parâmetros | Obrigatório | Repetições |
---|---|---|---|---|
Table | Tabela a ser mapeada | Tabela | Sim | Não |
Dimension | Dimensão a ser mapeada | Dimensão | Sim | Sim |
Source Column | Coluna Origem | Coluna | Sim | Sim |
Destination Column | Coluna Destino | Coluna | Sim | Sim |
Dados de Exemplo | ||
---|---|---|
Produto | Categoria | Preço Original |
Smartphone | Eletrônicos | R$ 2.000,00 |
TV | Eletrônicos | R$ 4.500,00 |
Geladeira | Eletrodomésticos | R$ 1.200,00 |
Máquina de Lavar | Eletrodomésticos | R$ 1.800,00 |
Fórmula | Descrição | Resultado |
---|---|---|
Mapping([Produtos], "Categoria", "Preço Original", "Preço Mapeado") | A função Mapping mapeia os valores da coluna Preço Original para a coluna Preço Mapeado, usando a dimensão Categoria. | Para a categoria Eletrônicos, os preços mapeados são R$ 2.000,00 (Smartphone) e R$ 4.500,00 (TV). Para a categoria Eletrodomésticos, os preços mapeados são R$ 1.200,00 (Geladeira) e R$ 1.800,00 (Máquina de Lavar). |
Descrição do Resultado: A função Mapping permite associar valores de uma tabela para outra coluna, com base na dimensão fornecida, organizando as informações de acordo com as necessidades de análise. Neste caso, o mapeamento foi feito de forma que os valores de Preço Original foram alocados em uma nova coluna Preço Mapeado para cada categoria de produto.
Descrição:
Calcula a média absoluta móvel dos períodos especificados. O parâmetro quantidade indica quantos períodos serão usados na média, iniciando pelo período corrente e indo um período para frente e um para trás.
Syntax:
MavgAbsCenter(Value, Quantity)
Parâmetros:
Nome | Descrição | Tipos de parâmetros | Obrigatório | Repetições |
---|---|---|---|---|
Value | Valor base para calcular a média absoluta | Membro, Membro com escopo | Sim | Não |
Quantity | Quantidade de períodos | Membro, Membro com escopo | Sim | Não |
Dados de Exemplo | |
---|---|
Tempo | Receitas |
Janeiro/24 | R$ 1.000 |
Fevereiro/24 | R$ 1.200 |
Março/24 | R$ 1.100 |
Abril/24 | R$ 1.300 |
Maio/24 | R$ 1.250 |
Fórmula | Descrição | Cálculo | Resultado |
---|---|---|---|
MAvgAbsCenter([Receitas], 3) | Cálculo: A média é calculada levando em conta os valores absolutos dos períodos de Fevereiro/24, Março/24 e Abril/24 | 1.200 + 1.100 + 1.300 / 3 = 1.200 | A média absoluta móvel de Março/24 é R$ 1.200,00 |
Descrição do Resultado: A função percorre os valores em torno do período atual (um anterior e um posterior) na dimensão Tempo, calcula a diferença absoluta entre eles e o período corrente, e em seguida obtém a média dessas diferenças.
Descrição:
Calcula a média absoluta móvel dos períodos especificados. O parâmetro quantidade indica quantos períodos serão usados na média, iniciando pelo período corrente e indo para períodos anteriores.
Syntax:
MavgAbsLast(Value, Quantity)
Parâmetros:
Nome | Descrição | Tipos de parâmetros | Obrigatório | Repetições |
---|---|---|---|---|
Value | Valor base para calcular a média absoluta | Membro, Membro com escopo | Sim | Não |
Quantity | Quantidade de períodos | Número inteiro Positivo, Membro, Membro com escopo | Sim | Não |
Dados de Exemplo | |
---|---|
Tempo | Vendas |
Janeiro/24 | R$ 1.000 |
Fevereiro/24 | R$ 1.200 |
Março/24 | R$ 1.100 |
Abril/24 | R$ 1.300 |
Maio/24 | R$ 1.250 |
Fórmula | Descrição | Cálculo | Resultado |
---|---|---|---|
MAvgAbsLast([Vendas], 4) | A função MAvgAbsLast está calculando a média absoluta levando em conta os valores absolutos dos períodos Janeiro/24, Fevereiro/24, Março/24 e Abril/24. | Para Abril/24: 1.000 + 1.200 + 1.100 + 1.300 / 4 = 1.150 | A média absoluta móvel de Abril/24, considerando 4 períodos anteriores, é R$ 1.150. |
Descrição do Resultado:
A função percorre os períodos anteriores ao período atual e calcula a diferença absoluta entre cada valor anterior e o valor do período corrente. Em seguida, retorna a média dessas diferenças.
Descrição:
Calcula a média absoluta móvel dos períodos especificados. O parâmetro quantidade indica quantos períodos serão usados na média, iniciando pelo período corrente e indo para frente.
Syntax:
MavgAbsNext(Value, Quantity)
Parâmetros:
Nome | Descrição | Tipos de parâmetros | Obrigatório | Repetições |
---|---|---|---|---|
Value | Valor base para calcular a média absoluta | Membro, Membro com escopo | Sim | Não |
Quantity | Quantidade de períodos | Número inteiro Positivo, Membro, Membro com escopo | Sim | Não |
Dados de Exemplo | |
---|---|
Tempo | Vendas |
Janeiro/24 | R$ 1.000 |
Fevereiro/24 | R$ 1.200 |
Março/24 | R$ 1.100 |
Abril/24 | R$ 1.300 |
Maio/24 | R$ 1.250 |
Fórmula | Descrição | Cálculo | Resultado |
---|---|---|---|
MAvgAbsNext([Vendas], 3) | A função MAvgAbsNext está calculando a média absoluta levando em conta os valores absolutos dos períodos Fevereiro/24, Março/24 e Abril/24. | Para Fevereiro/24: 1.200 + 1.100 + 1.300 / 3 = 1.200 | A média absoluta móvel de Fevereiro/24, considerando 3 períodos posteriores, é R$ 1.200. |
Descrição do Resultado:
A função percorre os períodos posteriores ao período atual e calcula a diferença absoluta entre cada valor posterior e o valor do período corrente. Em seguida, retorna a média dessas diferenças.
Descrição:
Calcula a média móvel dos períodos especificados. O parâmetro quantidade indica quantos períodos serão usados na média, iniciando pelo período corrente e indo um período para frente e um para trás.
Syntax:
MavgCenter(Value, Quantity)
Parâmetros:
Nome | Descrição | Tipos de parâmetros | Obrigatório | Repetições |
---|---|---|---|---|
Value | Valor base para calcular a média | Membro, Membro com escopo | Sim | Não |
Quantity | Quantidade de períodos | Número inteiro Positivo, Membro, Membro com escopo | Sim | Não |
Dados de Exemplo | |
---|---|
Tempo | Receita Bruta (R$) |
Janeiro/24 | R$ 1.000 |
Fevereiro/24 | R$ 1.200 |
Março/24 | R$ 1.100 |
Abril/24 | R$ 1.300 |
Maio/24 | R$ 1.250 |
Fórmula | Descrição | Cálculo | Resultado |
---|---|---|---|
MAvgCenter([Receita Bruta], 2) | A função MAvgCenter calcula a média dos valores em um intervalo de 2 períodos (anterior, atual e futuro). | Para Março/24: (1.200 + 1.100 + 1.300) / 3 = 1.200 | A média móvel de Março/24 é R$ 1.200,00 |
Descrição do Resultado:
A função percorre os períodos especificados (anterior, atual, e futuro), soma os valores e calcula a média aritmética.
Descrição:
Calcula a média móvel dos períodos especificados. O parâmetro quantidade indica quantos períodos serão usados na média, iniciando pelo período corrente e indo para períodos anteriores.
Syntax:
MavgLast(Value, Quantity)
Parâmetros:
Nome | Descrição | Tipos de parâmetros | Obrigatório | Repetições |
---|---|---|---|---|
Value | Valor base para calcular a média | Membro, Membro com escopo | Sim | Não |
Quantity | Quantidade de períodos | Número inteiro Positivo, Membro, Membro com escopo | Sim | Não |
Dados de Exemplo | |
---|---|
Tempo | Vendas |
Janeiro/24 | R$ 1.000 |
Fevereiro/24 | R$ 1.200 |
Março/24 | R$ 1.100 |
Abril/24 | R$ 1.300 |
Maio/24 | R$ 1.250 |
Fórmula | Descrição | Cálculo | Resultado |
---|---|---|---|
MAvgLast([Vendas], 3) | A função MAvgLast está calculando a média levando em conta os valores dos períodos Janeiro/24, Fevereiro/24 e Março/24 | Para Abril/24: (1.000 + 1.200 + 1.100) / 3 = 1.100 | A média móvel de Abril/24, considerando 3 períodos anteriores, é R$ 1.100. |
Descrição do Resultado:
A função percorre os períodos anteriores ao período atual e calcula a diferença entre cada valor anterior ao período corrente. Em seguida, retorna a média dessas diferenças.
Descrição:
Calcula a média móvel dos períodos especificados. O parâmetro quantidade indica quantos períodos serão usados na média, iniciando pelo período corrente e indo para frente.
Syntax:
MavgNext(Value, Quantity)
Parâmetros:
Nome | Descrição | Tipos de parâmetros | Obrigatório | Repetições |
---|---|---|---|---|
Value | Valor base para calcular a média | Membro, Membro com escopo | Sim | Não |
Quantity | Quantidade de períodos | Número inteiro Positivo, Membro, Membro com escopo | Sim | Não |
Dados de Exemplo | |
---|---|
Tempo | Vendas |
Janeiro/24 | R$ 1.000 |
Fevereiro/24 | R$ 1.200 |
Março/24 | R$ 1.100 |
Abril/24 | R$ 1.300 |
Maio/24 | R$ 1.250 |
Fórmula | Descrição | Cálculo | Resultado |
---|---|---|---|
MAvgNext([Vendas], 3) | A função MAvgNext está calculando a média levando em conta os valores dos períodos Março/24, Abril/24 e Maio/24. | Para Fevereiro/24: 1.100 + 1.300 + 1.250 / 3 = 1.216,67 | A média móvel de Fevereiro/24, considerando 3 períodos posteriores, é R$ 1.216,67. |
Descrição do Resultado:
A função percorre os períodos posteriores ao período atual e calcula a diferença entre cada valor posterior e o valor do período corrente. Em seguida, retorna a média dessas diferenças.
Descrição:
Identifica o valor máximo entre diversos membros.
Syntax:
Max(Item, Name)
Parâmetros:
Nome | Descrição | Tipos de parâmetros | Obrigatório | Repetições |
---|---|---|---|---|
Item | Item que se deseja buscar o valor máximo | Membro, Membro com escopo, Bloco | Sim | Sim |
Name | Dimensão a se procurar o valor máximo | Dimensão | Não | Sim |
Dados de Exemplo | |
---|---|
Vendedor | Vendas (R$) |
Maria | R$ 8.000 |
João | R$ 10.000 |
Paulo | R$ 7.000 |
Pedro | R$ 12.000 |
Julia | R$ 9.000 |
Fórmula | Descrição | Resultado |
---|---|---|
Max([Vendas], Vendedor) | A função Max identifica o maior valor de vendas entre todos os vendedores. | R$ 12.000 |
Descrição do Resultado:
A função Max retorna o maior valor de Vendas para o conjunto de Vendedores. No caso, o valor máximo de vendas realizadas foi R$ 12.000, identificado para o vendedor Pedro.
Descrição:
Identifica o valor mínimo entre diversos membros.
Syntax:
Min(Item, Name)
Parâmetros:
Nome | Descrição | Tipos de parâmetros | Obrigatório | Repetições |
---|---|---|---|---|
Item | Item que se deseja buscar o valor mínimo | Membro, Membro com escopo, Bloco | Não | Sim |
Dimensão | Dimensão a se procurar o valor mínimo | Dimensão | Sim | Sim |
Dados de Exemplo | |
---|---|
Vendedor | Vendas (R$) |
Maria | R$ 8.000 |
João | R$ 10.000 |
Paulo | R$ 7.000 |
Pedro | R$ 12.000 |
Julia | R$ 9.000 |
Fórmula | Descrição | Resultado |
---|---|---|
Min([Vendas], Vendedor) | A função Min identifica o menor valor de vendas entre todos os vendedores. | R$ 7.000 |
Descrição do Resultado:
A função Min retorna o menor valor de Vendas para o conjunto de Vendedores. No caso, o valor mínimo de vendas realizadas foi R$ 7.000, identificado para o vendedor Paulo.
Descrição:
Calcula o valor máximo dos períodos especificados. O parâmetro quantidade indica quantos períodos serão usados na busca do valor máximo, iniciando pelo período corrente e indo um período para frente e um para trás.
Syntax:
MmaxCenter(Value, Quantity)
Parâmetros:
Nome | Descrição | Tipos de parâmetros | Obrigatório | Repetições |
---|---|---|---|---|
Value | Valor base para determinar o valor máximo | Membro, Membro com escopo | Sim | Não |
Quantity | Quantidade de períodos | Membro, Membro com escopo, Número Inteiro Positivo | Sim | Não |
Considerando os seguintes valores de vendas mensais de um produto ao longo de sete meses:
Período | Vendas (Valor Base) |
---|---|
Janeiro | -1000 |
Fevereiro | 1200 |
Março | -1100 |
Abril | 1300 |
Maio | -1250 |
Junho | 1500 |
Julho | -1400 |
| Fórmula | Descrição | Cálculo | Resultado |
|:---:---
:---
| MMaxCenter([Vendas], 5) | Identifica o maior valor de vendas considerando 5 períodos sendo o período corrente Abril/24. | 1.200, -1.100 , 1.300, -1.250 , 1.500 | R$ 1.500 |
Descrição:
Calcula o valor máximo dos períodos especificados. O parâmetro quantidade indica quantos períodos serão utilizados na busca do valor máximo nos últimos períodos.
Syntax:
MmaxLast(Value, Quantity)
Parâmetros:
Nome | Descrição | Tipos de parâmetros | Obrigatório | Repetições |
---|---|---|---|---|
Value | Valor base para determinar o valor máximo | Membro, Membro com escopo | Sim | Não |
Quantity | Quantidade de períodos | Membro, Membro com escopo, 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 | Resultado |
|:---:---
:---
| MMaxLast([Vendas], 3) | Identifica o maior valor de Vendas considerando 3 períodos anteriores sendo o período corrente Abril/24. | 8.000, 10.000, 7.000| R$ 10.000 |
Descrição:
Calcula o valor máximo dos períodos especificados. O parâmetro quantidade indica quantos períodos serão utilizados na busca do valor máximo nos próximos períodos.
Syntax:
MmaxNext(Value, Quantity)
Parâmetros:
Nome | Descrição | Tipos de parâmetros | Obrigatório | Repetições |
---|---|---|---|---|
Value | Valor base para determinar o valor máximo | Membro, Membro com escopo | Sim | Não |
Quantity | Quantidade de períodos | Membro, Membro com escopo, 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 | Resultado |
|:---:---
:---
| MMaxNext([Vendas], 3) | Identifica o maior valor de Vendas considerando 3 períodos posteriores sendo o período corrente Janeiro/24. | 10.000, 7.000, 12.000 | R$ 12.000 |
Descrição:
Calcula o valor mínimo dos períodos especificados. O parâmetro quantidade indica quantos períodos serão usados na busca do valor mínimo, iniciando pelo período corrente e indo um período para frente e um para trás.
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 | Quantidade de períodos | Membro, Membro com escopo, Número Inteiro Positivo | Sim | Não |
Considerando os seguintes valores de vendas mensais de um produto ao longo de sete meses:
Período | Vendas (Valor Base) |
---|---|
Janeiro | -1000 |
Fevereiro | 1200 |
Março | -1100 |
Abril | 1300 |
Maio | -1250 |
Junho | 1500 |
Julho | -1400 |
| Fórmula | Descrição | Cálculo | Resultado |
|:---:---
:---
| MMinCenter([Vendas], 5) | Identifica o menor valor de vendas considerando 5 períodos sendo o período corrente Abril/24. | 1.200, -1.100 , 1.300, -1.250 , 1.500 | R$ -1.250 |
Descrição:
Calcula o valor mínimo dos períodos especificados. O parâmetro quantidade indica quantos períodos serão utilizados na busca do valor mínimo nos últimos períodos.
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 | Quantidade de períodos | Membro, Membro com escopo, 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 | Resultado |
|:---:---
:---
| MMinLast([Vendas], 3) | Identifica o menor valor de Vendas considerando 3 períodos anteriores sendo o período corrente Abril/24. | 8.000, 10.000, 7.000| R$ 7.000 |
Descrição:
Calcula o valor mínimo dos períodos especificados. O parâmetro quantidade indica quantos períodos serão utilizados na busca do valor mínimo nos próximos períodos.
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 | Quantidade de períodos | Membro, Membro com escopo, 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 | Resultado |
|:---:---
:---
| MMinNext([Vendas], 3) | Identifica o menor valor de Vendas considerando 3 períodos posteriores sendo o período corrente Janeiro/24. | 10.000, 7.000, 12.000 | R$ 7.000 |
Descrição:
Calcula a soma móvel dos períodos especificados. O parâmetro quantidade indica quantos períodos serão usados na soma, iniciando pelo período corrente e indo um período para frente e um para trás.
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 | Quantidade de períodos | Membro, Membro com escopo, 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 | Resultado |
---|---|---|
MSumCenter([Vendas], 1) | Calcula a soma dos valores de vendas no período central (Março/24) e nos períodos adjacentes (Fevereiro/24 e Abril/24). | 29.000 |
Descrição do Resultado: A função MSumCenter soma os valores das vendas de períodos ao redor de um período central, incluindo o próprio período central. Neste caso, com Quantidade = 1, a soma abrange Fevereiro/24 (10.000), Março/24 (7.000) e Abril/24 (12.000), resultando em 29.000.
Descrição:
Calcula a soma móvel dos períodos especificados. O parâmetro quantidade indica quantos períodos serão usados na soma, iniciando pelo período corrente e indo para períodos anteriores.
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 | Quantidade de períodos | Membro, Membro com escopo, 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 | Resultado |
---|---|---|
MSumLast([Vendas], 2) | Calcula a soma das vendas no período corrente (Abril/24) e dos dois períodos anteriores (Março/24 e Fevereiro/24). | R$ 29.000,00 |
Descrição do Resultado: A função MSumLast soma os valores de vendas de um período corrente e dos períodos anteriores, conforme a quantidade especificada. Neste caso, com Quantidade = 2, a soma abrange os valores de Abril/24 (R$ 12.000,00), Março/24 (R$ 7.000,00) e Fevereiro/24 (R$ 10.000,00), resultando em R$ 29.000,00.
Descrição:
Calcula a soma móvel dos períodos especificados. O parâmetro quantidade indica quantos períodos serão usados na soma, iniciando pelo período corrente e indo para frente.
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 | Quantidade de períodos | Membro, Membro com escopo, 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 | Resultado |
---|---|---|
MSumNext([Vendas], 2) | Calcula a soma das vendas no período corrente (Abril/24) e dos dois períodos seguintes (Maio/24 e Junho/24). | R$ 25.000,00 |
Descrição do Resultado: A função MSumNext soma os valores de vendas do período corrente e dos períodos seguintes, conforme a quantidade especificada. Neste caso, com Quantidade = 2, a soma abrange os valores de Abril/24 (R$ 12.000,00), Maio/24 (R$ 9.000,00) e **Junho/24 (R$ 4.000,00), resultando em R$ 25.000,00.
Descrição:
Retorna o valor líquido atual de um investimento com base em uma série de fluxos de caixa periódicos e em uma taxa de desconto.
Syntax:
NPV(Period, Rate, Value)
Parâmetros:
Nome | Descrição | Tipos de parâmetros | Obrigatório | Repetições |
---|---|---|---|---|
Period | Periodos | Membro, Membro com escopo | Sim | Não |
Rate | Taxa de desconto | Membro, Membro com escopo | Sim | Não |
Value | Série de futuros pagamentos ou receitas | Membro, Membro com escopo | Sim | Não |
Cenário | Descrição |
---|---|
Cálculo do Valor Presente Líquido (VPL) de uma série de pagamentos futuros. | A empresa deseja calcular o VPL de um conjunto de receitas futuras. A taxa de desconto usada é de 5% ao ano, e os períodos de pagamento são os próximos 3 anos. |
Dados de Exemplo | |
---|---|
Ano (Tempo) | Pagamento (R$) |
2024 | R$ 10.000 |
2025 | R$ 12.000 |
2026 | R$ 14.000 |
Fórmula | Descrição | Resultado |
---|---|---|
NPV([Tempo], 5%, [Pagamento]) | A função NPV calcula o Valor Presente Líquido de uma série de pagamentos futuros, considerando a taxa de desconto de 5%. A função soma o valor presente de cada pagamento, com base na taxa de desconto e nos períodos futuros especificados. | R$ 32.642,73 |
Descrição do Resultado: A função NPV calcula o valor presente de uma série de pagamentos futuros, aplicando uma taxa de desconto de 5%. O valor resultante de R$ 32.642,73 corresponde ao valor presente de R$ 10.000 no Ano 1, R$ 12.000 no Ano 2, e R$ 14.000 no Ano 3, considerando o desconto de 5% ao ano.
Nota: A função NPV calcula o valor presente de cada pagamento, aplicando a taxa de desconto especificada, e soma os resultados para obter o valor presente total.
Descrição:
A função Opening calcula o saldo inicial do período baseado no saldo final do período anterior.
Syntax:
Opening(Closing)
Parâmetros:
Nome | Descrição | Tipos de parâmetros | Obrigatório | Repetições |
---|---|---|---|---|
Closing | Saldo final | Membro, Membro com escopo | Sim | Não |
Cenário | Descrição |
---|---|
Cálculo do Saldo Inicial no início de um período, baseado no Saldo Final do período anterior. | A empresa deseja calcular o Saldo Inicial do mês de Janeiro, considerando o Saldo Final de Dezembro do ano anterior. |
Dados de Exemplo | |
---|---|
Mês | Saldo Final (R$) |
Dezembro | R$ 20.000 |
Janeiro | - |
Fórmula | Descrição | Resultado |
---|---|---|
Opening([Dezembro]) | A função Opening usa o Saldo Final de Dezembro para calcular o Saldo Inicial de Janeiro. | R$ 20.000 |
Descrição do Resultado:
A função Opening calcula o Saldo Inicial do mês de Janeiro, considerando o Saldo Final de Dezembro como entrada. Portanto, o Saldo Inicial de Janeiro será de R$ 20.000, conforme o Saldo Final de Dezembro.
Descrição:
Busca o valor de um membro pai numa determinada dimensão. A quantidade identifica quantos membros deve-se subir na árvore hierárquica da dimensão selecionada.
Syntax:
Parent(Input, Dimension, Quantity)
Parâmetros:
Nome | Descrição | Tipos de parâmetros | Obrigatório | Repetições |
---|---|---|---|---|
Input | Valor | Membro, Membro com escopo | Sim | Não |
Dimension | Dimensão para subir na hierarquia | Dimensão e Hierarquia | Sim | Não |
Quantity | Quantidade de niveis a subir | Número Inteiro Positivo | Sim | Não |
Cenário | Descrição |
---|---|
Busca o valor de um membro pai de uma determinada dimensão hierárquica, subindo um número especificado de níveis na hierarquia. | A empresa deseja encontrar o membro pai de um valor específico de uma dimensão hierárquica. |
Dados de Exemplo | ||
---|---|---|
Dimensão | Membro | Valor |
Conta | 1-Despesa total Com Energia Elétrica | 2000 |
Conta | 2-Energia Elétrica | "formula" |
Entidade | 1-Diretoria | |
Entidade | 2-Setor Comercial |
Fórmula | Descrição | Resultado |
---|---|---|
[Energia Eletrica] = Parent(Despesa total com Energia Elétrica, [Entidade].[entidade], 1) | A função Parent sobe 1 nível na hierarquia da dimensão, retornando o membro pai. | 2000 |
Descrição do Resultado:
A função Parent sobe 1 nível na hierarquia da dimensão Entidade, encontrando o membro pai de 2-Setor Comercial, que é 1-Diretoria, e retorna o valor 2000.
Os níveis de uma dimensão iniciam sempre com valor 0, avançando gradativamente (0, 1, 2, 3...).
Descrição:
Calcula o pagamento de um empréstimo, baseado nos pagamentos constantes e na taxa de juros constante.
Syntax:
PMT(Rate, Nper, PV, FV, Type)
Parâmetros:
Nome | Descrição | Tipos de parâmetros | Obrigatório | Repetições |
---|---|---|---|---|
Rate | Taxa de juros | Membro, Membro com escopo | Sim | Não |
NPer | Número de pagamentos | Membro, Membro com escopo | Sim | Não |
PV | Valor presente ou valor principal | Membro, Membro com escopo | Sim | Não |
FV | Valor futuro | Membro, Membro com escopo | Não | Não |
Type | Número 0 ou 1 indicando quando o pagamento vence. 0 indica no final do período e 1 no começo do período | Número Inteiro | Não | Não |
Dados de Exemplo | |
---|---|
Taxa de Juros (Rate) | 0.05 (5% anual) |
Número de Pagamentos (Nper) | 12 |
Valor Presente (PV) | 10.000 |
Valor Futuro (FV) | - |
Tipo de Pagamento (Type) | 0 (no final do período) |
Fórmula | Descrição | Resultado |
---|---|---|
PMT(0.05/12, 12, 10000, 0) | A função PMT calcula o pagamento mensal de um empréstimo de R$10.000,00, com taxa de juros de 5% ao ano, durante 12 meses. O resultado será o valor do pagamento mensal. | R$ 879,16 |
Descrição do Resultado:
O valor do pagamento mensal do empréstimo de R$10.000,00, com uma taxa de juros de 5% ao ano e um prazo de 12 meses, será R$879,16, considerando que o pagamento é feito no final de cada período (meses).
Descrição:
Busca uma propriedade de um membro em um determinado contexto.
Syntax:
Property(Property, Context)
Parâmetros:
Nome | Descrição | Tipos de parâmetros | Obrigatório | Repetições |
---|---|---|---|---|
Property | Propriedade que se deseja buscar o valor | Membro, Membro com escopo | Sim | Não |
Context | Contexto que se deseja buscar o valor da propriedade | Membro, Membro com escopo, Bloco | Sim | Não |
Cenário | Descrição |
---|---|
Busca da propriedade de um membro | O usuário deseja obter a propriedade de um membro, por exemplo, o preço de um produto em um determinado contexto (como uma loja ou um período específico). |
Dados de Exemplo | |
---|---|
Propriedade (Property) | Preço |
Contexto (Context) | Julho/24 |
Fórmula | Descrição | Resultado |
---|---|---|
Property(Preço, Julho/24) | A função Property busca o valor da propriedade "Preço" do membro relacionado à "Julho/24". | R$ 150,00 |
Descrição do Resultado: A função Property busca o preço de um produto em "Julho/24". O resultado é o valor de R$150,00, que é a propriedade associada ao membro "Carros" para esse período específico.
Descrição:
Utilizada para determinar parcelas restantes na amortização de empréstimos.
Syntax:
Remaining(Item, Interval, Grace Period, Dimension)
Parâmetros:
Nome | Descrição | Tipos de parâmetros | Obrigatório | Repetições |
---|---|---|---|---|
Item | Bloco que possui o Número da parcelas | Membro, Membro com escopo, Bloco | Sim | Não |
Interval | Intervalo entre parcela | Número Inteiro Positivo | Não | Não |
Grace Period | Carência | Número Inteiro Positivo | Não | Não |
Dimension | Dimensão | Dimensão | Não | Não |
Cenário | Descrição |
---|---|
Determinação de parcelas restantes | O usuário deseja calcular quantas parcelas restantes de um empréstimo devem ser pagas, considerando um número de parcelas pagas, um intervalo entre os pagamentos e um período de carência. |
Dados de Exemplo | |
---|---|
Item (Número de Parcelas) | Ano 2024 |
Intervalo (Interval) | 1 (parcelas mensais) |
Período de Carência (Grace Period) | 3 (meses) |
Dimensão (Dimension) | Tempo |
Fórmula | Descrição | Resultado |
---|---|---|
Remaining(Ano 2024, 1, 3, Tempo) | A função Remaining calcula quantas parcelas ainda restam após considerar um período de carência de 3 meses. O total de 12 parcelas (Ano 2024) menos os 3 meses de carência resulta em 9 parcelas restantes. | 9 parcelas restantes |
Descrição do Resultado: Neste exemplo, a função Remaining determina que restam 9 parcelas a serem pagas de um total de 12, após considerar um período de carência de 3 meses.
Descrição:
Arredonda um número a uma determinada precisão. Quando a precisão é positiva, o valor é arredondado ao número de casas decimais da precisão; se a precisão for negativa, o valor é arredondado no lado esquerdo do ponto decimal, de acordo com a precisão.
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 | Valor da precisão | Número Inteiro | Sim | Não |
Número (Dimensão) | Valor Original |
---|---|
Receita Norte | 748,476 |
Receita Sul | 1.234,56 |
Fórmula | Descrição | Resultado |
---|---|---|
Round([Receita Norte], 2) | Arredonda o valor 748,476 para 2 casas decimais, devido à precisão 2. | 748,48 |
Round([Receita Sul], -2) | Arredonda o valor 1.234,567 para o múltiplo mais próximo de 100, devido à precisão -2 . | 1.200,00 |
Descrição do Resultado: A função Round ajusta o número fornecido com base na precisão especificada.
Descrição:
Soma o valor base do primeiro período até o período final.
Syntax:
Sum(Value)
Parâmetros:
Nome | Descrição | Tipos de parâmetros | Obrigatório | Repetições |
---|---|---|---|---|
Value | Valor base a se somar | Membro, Membro com escopo | Sim | Não |
Tempo (Dimensão) | Despesas (R$) |
---|---|
Janeiro/24 | 10.000 |
Fevereiro/24 | 8.500 |
Março/24 | 12.000 |
Abril/24 | 9.000 |
Maio/24 | 11.500 |
Junho/24 | 10.200 |
Julho/24 | 7.800 |
Agosto/24 | 9.300 |
Setembro/24 | 8.700 |
Outubro/24 | 10.400 |
Novembro/24 | 11.000 |
Dezembro/24 | 13.500 |
Fórmula | Descrição | Resultado (R$) |
---|---|---|
Sum([Despesas]) | Soma os valores dos 12 períodos fornecidos. | R$ 121.900,00 |
Descrição do Resultado: A função Sum realiza a soma cumulativa dos valores base fornecidos em todos os períodos especificados. Este tipo de cálculo é útil para determinar totais anuais ou para análises de desempenho acumulado ao longo do tempo.
Descrição:
Calcula um percentual diferente para cada faixa. Impostos são um exemplo clássico de cálculos com Tier.
Syntax:
Tier(Value, % Above, Tier, % Tie)
Parâmetros:
Nome | Descrição | Tipos de parâmetros | Obrigatório | Repetições |
---|---|---|---|---|
Value | Valor base para o cálculo | Membro, Membro com escopo | Sim | Não |
% Acima | Percentual aplicado ao valor acima da ultima faixa | Membro, Membro com escopo | Sim | Não |
Tier | Faixa de valor | Membro, Membro com escopo | Sim | Sim |
% Tie | Percentual aplicado na faixa de valor | Membro, Membro com escopo | Sim | Sim |
Faixa (Dimensão) | Limite da Faixa (R$) | % Aplicado |
---|---|---|
Faixa 1 | Até 10.000 | 5% |
Faixa 2 | De 10.001 a 20.000 | 10% |
Faixa 3 | Acima de 20.000 | 15% |
Fórmula | Descrição | Resultado (R$) |
---|---|---|
Tier(25.000, 15%, [Faixa], [% Aplicado]) | Calcula o valor total de acordo com as faixas e percentuais aplicados. | R$ 2.750,00 |
Cálculo Detalhado:
- Faixa 1: R$ 10.000 × 5% = R$ 500
- Faixa 2: R$ 10.000 × 10% = R$ 1.000
- Faixa 3: R$ 5.000 × 15% = R$ 750
Descrição do Resultado: A função Tier distribui o valor base em faixas e aplica os percentuais definidos para cada faixa. Este método é frequentemente usado em cálculos de impostos ou comissões escalonadas, garantindo que cada valor seja tratado conforme o limite da faixa correspondente.
Descrição:
A função YTD acumula o valor base nos períodos, iniciando no começo de cada ano ou ano fiscal.
Syntax:
YTD(Base)
Parâmetros:
Nome | Descrição | Tipos de parâmetros | Obrigatório | Repetições |
---|---|---|---|---|
Base | Valor base a ser acumulado | Membro, Membro com escopo | Sim | Não |
Tempo (Dimensão) | Vendas (R$) |
---|---|
Janeiro/24 | 5.000 |
Fevereiro/24 | 7.000 |
Março/24 | 6.000 |
Abril/24 | 8.000 |
Fórmula | Descrição | Resultado (R$) |
---|---|---|
YTD([Vendas]) | Acumula o valor das vendas de Janeiro até o mês corrente. | R$ 26.000 |
Cálculo Detalhado:
Descrição do Resultado: A função YTD acumula os valores base até o mês corrente, iniciando no primeiro mês do ano ou do ano fiscal. Esse tipo de cálculo é muito utilizado em relatórios financeiros e de vendas para mostrar o desempenho acumulado ao longo do tempo.