Ir para o conteúdo
IMAM Consultoria
  • ESTRATÉGIAS E OPERAÇÕES
  • Desenvolvimento Organizacional
  • SUPPLY CHAIN E LOGÍSTICA
  • Fale Conosco
  • Sites
    • IMAM Consultoria
    • Quem somos
    • HOME IMAM
  • Nossos treinamentos
Estratégias e operações

Linguagens de análise de dados: Excel com Power Pivot, R e Julia na prática

Por Danilo Carajiliascov em 7 de abril de 2022 • Atualizado em 15 de outubro de 2026
monitor-with-charts-with-annual-data-analysis-on-screen
7 minutos para ler
Conheça nossos cursos | IMAM

Linguagens de análise de dados em resumo: O post compara linguagens de análise de dados com um pequeno projeto: calcular prazos médios e a taxa média de desconto de uma lista de duplicatas a receber, no geral e por cliente. Ele resolve o problema no Excel com Power Pivot, em R e em Julia. Além disso, lembra que o Excel tem limite de 1.048.576 linhas.

CONHECENDO ALGUMAS LINGUAGENS DE ANÁLISE DE DADOS ATRAVÉS DE UM PEQUENO PROJETO

PROJETO

O projeto é o seguinte: calcular a prazo médio original (de emissão), número de dias médio de desconto, prazo médio de recebimento e a taxa média de desconto de uma lista de duplicatas a receber. Fazer isso no geral e por cliente.

O processo consiste em:

  1. Criar colunas calculadas com a diferença entre a data de vencimento e recebimento (dias de desconto), e a diferença entra a data de recebimento e emissão (prazo real de recebimento);
  2. Calcular o prazo médio ponderado do recebimento original (vencimento menos emissão), de dias de desconto e de recebimento real;
  3. Calcular a taxa média de desconto;
  4. Exibir os prazos médios e a taxa média geral e por cliente.

NO EXCEL COM POWER PIVOT

Após abrir a base de duplicatas, clicar em “Adicionar ao Modelo de Dados” na aba “Power Pivot”.

Planilha Desconto_Duplicata2 aberta na aba Power Pivot, com colunas ID_Cliente, NF, Data_Emissão e Prazo

Abrirá a tela do “Power Pivot para Excel”. Nela apenas ajustaremos os tipos de dados utilizando a parte de “Tipo de Dados” na aba “Página inicial”

Janela do Power Pivot com a coluna Valor_a_Receber selecionada e a coluna Taxa_Calc_a_m entre 0,00% e 5,71%

Com duplo clique na última coluna (“Adicionar Coluna”) podemos editar o nome da coluna e no campo de fórmula colocaremos os cálculos desejados.

Coluna Prazo_Real criada no Power Pivot pela fórmula Data_Recto menos Data_Emissão, com valores de 5 a 30
Coluna Prazo_Desc calculada como Data_Venc menos Data_Recto, com valores que vão de 0 a 30 dias

Após criar as colunas calculadas, gerar uma tabela dinâmica clicando em “Tabela Dinâmica” na aba “Página Inicial”. O Excel criará uma aba com a tabela dinâmica. Porém com um importante diferencial: podemos criar medidas.

Clicar em “Nova Medida” no botão “Medidas” na aba “Power Pivot”.

Menu Medidas aberto na aba Power Pivot do Excel, com as opções Nova Medida e Gerenciar Medidas

Na janela da medida colocar a tabela no campo “Nome da tabela”, um nome para a medida no campo “Nome da Medida” e apenas “” na fórmula.

Janela Medida com tabela F_CTAS_RECEBER, nome Prazo_Medio_Desc e fórmula ainda vazia entre aspas

Voltando para a tela do Power Pivot (clicando em “Gerenciar” na aba “Power Pivot”) podemos observar a medida.

Medida Prazo_Medio_Desc exibida na área de cálculo logo abaixo das 18 linhas da tabela F_CTAS_RECEBER

É possível aumentar o campo de fórmula. Tornando a edição da fórmula muito mais interessante.

Campo de fórmula do Power Pivot ampliado, ocupando quase toda a janela, com apenas duas linhas da base à mostra

A fórmula para o prazo médio de desconto fica assim:

Fórmula DAX de Prazo_Medio_Desc com CALCULATE, SUMX de Q_Dias_Desc e média ponderada por Valor_a_Receber

A fórmula para o prazo médio original fica assim:

Fórmula DAX de Prazo_Medio_Orig somando o produto entre Prazo e Valor_a_Receber com SUMX

A fórmula para o prazo médio real fica assim:

Fórmula DAX de Prazo_Medio_Real usando SUMX do produto entre Prazo_Real e Valor_a_Receber

A fórmula para a taxa média fica assim:

Fórmula DAX de Taxa_Media_a_m dividindo Valor_a_Receber por Valor_Recebido e elevando a 1 sobre n

Voltando para a planilha na aba da tabela dinâmica vemos que apareceram as nossas medidas. Colocando-as no campo de “Valores” da tabela dinâmica vemos o seguinte resultado:

Tabela dinâmica com prazo médio original 22,75, de desconto 15,92, real 6,83 e taxa média de 1,82%

Só falta agora exibir os resultados por cliente. Para isto basta colocar a coluna “Descr_Cliente” no campo “Linhas” da tabela dinâmica e pronto.

Tabela dinâmica por cliente com três razões sociais e total geral de 22,75 dias e taxa média de 1,82%

NO R

Primeiramente carregamos as bibliotecas com as funções que iremos precisar. Depois carregamos a base de duplicatas.

Código em R carregando as bibliotecas tidyverse e readxl e lendo a planilha Ctas_Receber_DB.xlsx

A tabela aparece com alguns campos precisando de ajustes no tipo de dados.

Tibble de 18 linhas e 10 colunas no R, com datas ainda no formato de data e hora e valores negativos em vermelho

Com a função “mutate” podemos criar, alterar ou excluir colunas. Agora iremos ajustar o tipo de dados e criar os dias de desconto (“Prazo_Desc”) e o prazo real (“Prazo_Real”).

Código em R com mutate convertendo as três datas e criando as colunas Prazo_Desc e Prazo_Real

Com isso feito a tabela aparece assim:

Tibble de 18 linhas e 12 colunas no R já com as colunas Prazo_Desc e Prazo_Real preenchidas

Para o resumo com os prazos médios iremos gerar a produto das colunas de prazo com o valor a receber, depois sumarizar dividindo a soma desses produtos com a soma do valor a receber.

Código em R que multiplica cada prazo pelo valor a receber e usa summarise para os três prazos médios

O resultado aparece assim:

Resultado no R com prazo médio original 22,7, prazo médio de desconto 15,9 e prazo médio real 6,83

Para a taxa média iremos sumarizar a base de duplicatas pela divisão do total de valor a receber com o total de valor recebido. O resultado desta divisão iremos elevar a um sobre o prazo médio dividido por 30 depois subtrair um.

Código em R que calcula a taxa média pela razão entre valor a receber e valor recebido elevada a 1 sobre n

O resultado é o seguinte:

Saída do R de uma linha e uma coluna com Taxa_Media_Desc igual a 0,0182

Para exibir esses valores agrupados por cliente basta adicionar uma função de agrupamento: o “group_by”.

Código em R com group_by por Descr_Cliente antes de sumarizar os três prazos médios

O resultado é o seguinte:

Saída do R com três clientes e prazos médios originais de 20, 24,5 e 22,5 dias

Da mesma forma basta adicionar o agrupamento por cliente na taxa média.

Código em R agrupando por Descr_Cliente para obter a taxa média de desconto de cada razão social

E o resultado fica desta forma:

Saída do R com taxas médias por cliente de 0,0290, 0,0208 e 0,0152 para as três razões sociais

NA JULIA

Na linguagem Julia as diferenças no código são mínimas. Vamos ver abaixo.

Para carregar a base precisamos carregar primeiro as bibliotecas com as funções desejadas.

Código em Julia carregando DataFrames, XLSX, Chain e Dates e lendo a planilha Ctas_Receber_DB

O resultado é o seguinte:

DataFrame em Julia de 18 linhas e 10 colunas com todas as colunas ainda classificadas como Any

Assim como no R e no Excel precisamos corrigir os tipos de dados e criar as colunas de prazo de recebimento real e de dias de desconto.

Código em Julia com dois blocos de transform convertendo tipos e criando Prazo_Desc e Prazo_Real

O resultado é o seguinte:

DataFrame em Julia de 18 linhas e 12 colunas com tipos definidos e as colunas Prazo_Desc e Prazo_Real

Para o resumo com os prazos médios vamos fazer da mesma forma que fizemos em R.

Código em Julia com transform e combine para calcular os três prazos médios ponderados pelo valor a receber

O resultado é o seguinte:

DataFrame em Julia de uma linha com prazos médios 22.746, 15.9206 e 6.8254

Para a taxa média o processo é idêntico ao feito em R.

Código em Julia que calcula a taxa média elevando a razão a 1 dividido pelo prazo médio sobre 30

O resultado é o seguinte:

DataFrame em Julia de uma linha e uma coluna com Taxa_Media_Desc igual a 0.0182286

Para os prazos médios por cliente também é idêntico ao feito em R.

Código em Julia com groupby por Descr_Cliente antes de combinar os prazos médios de cada cliente

O resultado é o seguinte:

DataFrame em Julia de três linhas com prazos médios originais de 20.0, 24.5 e 22.5 por cliente

Taxa média por cliente também idêntico.

Código em Julia agrupando por cliente antes de calcular a taxa média de desconto de cada razão social

O resultado é o seguinte:

DataFrame em Julia com taxas médias por cliente de 0.0289694, 0.0208126 e 0.0152144

CONSIDERAÇÕES

O que acharam deste passeio por algumas linguagens de programação? Será que o Excel foi o mais fácil de programar?

Uma questão importante em relação ao Excel é o limite de 1048576 linhas. O que não existe nas demais linguagens.

Espero que tenham gostado.

Sucesso para todos!

Até mais!

O mesmo projeto em três ferramentas

Em resumo, como o post resolve o cálculo em cada uma:

FerramentaComo o post resolve
Excel com Power PivotColunas calculadas no modelo de dados, medidas e tabela dinâmica por cliente
RFunção mutate para ajustar tipos e criar colunas, resumo ponderado e group_by por cliente
JuliaMesma lógica do R, com diferenças mínimas no código

📚 Conteúdos complementares recomendados

  • A logística orientada por dados: Além disso, o uso de dados nas operações.
  • Falar com dados nas decisões da operação: Ou seja, como transformar análise em decisão.
  • Automação de programação com Python: Por fim, outra linguagem aplicada à operação.

Perguntas frequentes sobre linguagens de análise de dados

Quais linguagens de análise de dados o post compara?

O post compara o Excel com Power Pivot, a linguagem R e a linguagem Julia num mesmo projeto: calcular, no geral e por cliente, o prazo médio original, os dias médios de desconto, o prazo médio de recebimento e a taxa média de desconto de uma lista de duplicatas a receber.

Como fazer a análise de duplicatas no Excel com Power Pivot?

Adiciona-se a base ao Modelo de Dados pela aba Power Pivot, ajustam-se os tipos de dados e criam-se colunas calculadas com os prazos. Depois gera-se uma tabela dinâmica e criam-se medidas com as fórmulas dos prazos médios e da taxa média. Para ver os resultados por cliente, basta colocar a coluna do cliente no campo Linhas.

Como fazer a mesma análise em R e em Julia?

Em R, carregam-se as bibliotecas e a base, ajustam-se os tipos e criam-se as colunas de prazo com a função mutate, e os prazos médios ponderados saem da soma dos produtos dividida pelo valor a receber. Para agrupar por cliente, usa-se group_by. Em Julia, segundo o autor, as diferenças no código são mínimas e o processo é praticamente idêntico ao do R.

Qual a limitação do Excel na análise de dados?

Segundo o autor, uma questão importante é o limite de 1.048.576 linhas por planilha do Excel, que não existe nas demais linguagens comparadas, R e Julia. Para bases muito grandes, essa diferença pesa na escolha da ferramenta, mesmo que o Excel pareça mais fácil de usar.

Por: Danilo Carajiliascov

Views: 48
Tags: análise, dados, excel, linguagem, programação
Você também pode gostar
Capa do artigo do acervo técnico da IMAM sobre indicador de produtividade

Indicador de produtividade: por que menos pessoas nem sempre é mais

Por IMAM em 14 de outubro de 2026 • Atualizado em 16 de outubro de 2026
Capa do artigo do acervo técnico da IMAM sobre perdas administrativas

Perdas administrativas: como o lean office simplificou o escritório

Por IMAM em 14 de outubro de 2026 • Atualizado em 16 de outubro de 2026
Capa do artigo do acervo técnico da IMAM sobre princípios da logística enxuta

Princípios da logística enxuta: dez formas de agregar valor

Por IMAM em 14 de outubro de 2026 • Atualizado em 16 de outubro de 2026

Deixe um comentário Cancelar resposta

-

E-book Grátis

automacao_na_intralogistica
gestao_competitiva
customer_service
entendendo_a_logistica
cta_guia-para-treinar-e-desenvolver-equipe-de-logistica_01-1


ctas_300x300_azul_foto-9

Posts populares

  • Alta Performance x Sobrevivência Operacional
    Alta Performance x Sobrevivência Operacional
  • Os Heróis da Supply Chain que Ninguém Vê
    Heróis da logística: os profissionais da supply chain que ninguém vê
  • Reduzir estoque pode aumentar o risco
    Reduzir estoque pode aumentar o risco

Sobre o blog

O IMAM leva você mais longe!
Acompanhe aqui as principais tendências da área de capacitação profissional, logística e supply chain.

Categorias

  • Desenvolvimento Organizacional
  • Embalagem
  • Engenharia de Produção e Operações
  • Estratégias e operações
  • Estratégias e Performance (Lean, Toc, 6 Sigma)
  • Série Armazenagem
  • Supply Chain e Logística

Entre em contato

  • Rua Machado Bitencourt, 190 Conj 606/607 Metrô Sta. Cruz, Vila Mariana, 04044-000, São Paulo/SP

  • (11) 5575-1400

  • imam@imam.com.br

  •  (11) 97550-8384
Site criado por Rock Content.

Autores do Blog IMAM