Applies ToExcel para Microsoft 365 Excel 2024 Excel 2021 Excel 2019 Excel 2016 Power BI

Quando aprende a utilizar o Power Pivot pela primeira vez, a maioria dos utilizadores descobre que o poder real é agregar ou calcular um resultado de alguma forma. Se os seus dados tiverem uma coluna com valores numéricos, pode agregar facilmente ao selecioná-la numa Tabela Dinâmica ou numa Lista de Campos do Power View. Por natureza, uma vez que é numérica, será automaticamente somada, média, contada ou qualquer tipo de agregação que selecionar. Isto é conhecido como uma medida implícita. As medidas implícitas são ótimas para uma agregação rápida e fácil, mas têm limites e esses limites podem quase sempre ser ultrapassados com medidas explícitas e colunas calculadas.

Primeiro, vamos ver um exemplo em que utilizamos uma coluna calculada para adicionar um novo valor de texto para cada linha numa tabela denominada Produto. Cada linha na tabela Produto contém todos os tipos de informações sobre cada produto que vendemos. Temos colunas para Nome do Produto, Cor, Tamanho, Preço do Revendedor, etc.. Temos outra tabela relacionada denominada Categoria do Produto que contém uma coluna ProductCategoryName. O que queremos é que cada produto na tabela Produto inclua o nome da categoria de produto da tabela Categoria do Produto. Na nossa tabela Produto, podemos criar uma coluna calculada denominada Categoria do Produto da seguinte forma:

Coluna Categoria do produto calculada

A nossa nova fórmula Product Category utiliza a função DAX RELATED para obter valores da coluna ProductCategoryName na tabela categoria de produto relacionada e, em seguida, introduz esses valores para cada produto (cada linha) na tabela Produto.

Este é um excelente exemplo de como podemos utilizar uma coluna calculada para adicionar um valor fixo para cada linha que podemos utilizar mais tarde na área LINHAS, COLUNAS ou FILTROS da Tabela Dinâmica ou num relatório do Power View.

Vamos criar outro exemplo em que queremos calcular uma margem de lucro para as nossas categorias de produtos. Este é um cenário comum, mesmo em muitos tutoriais. Temos uma tabela Vendas no nosso modelo de dados que tem dados de transação e existe uma relação entre a tabela Vendas e a tabela Categoria de Produto. Na tabela Vendas, temos uma coluna que tem valores de vendas e outra coluna que tem custos.

Podemos criar uma coluna calculada que calcula um valor de lucro para cada linha ao subtrair valores na coluna COGS dos valores na coluna SalesAmount, da seguinte forma:

Coluna de lucro na tabela Power Pivot

Agora, podemos criar uma Tabela Dinâmica e arrastar o campo Categoria do Produto para COLUNAS e o nosso novo campo Lucro para a área VALORES (uma coluna numa tabela no PowerPivot é um Campo na Lista de Campos da Tabela Dinâmica). O resultado é uma medida implícita denominada Soma do Lucro. É uma quantidade agregada de valores da coluna de lucro para cada uma das diferentes categorias de produtos. O nosso resultado tem o seguinte aspeto:

Exemplo de tabela dinâmica

Neste caso, Lucro só faz sentido como um campo em VALORES. Se colocássemos Lucro na área COLUNAS, a nossa Tabela Dinâmica teria o seguinte aspeto:

Tabela Dinâmica sem valores úteis

O nosso campo Lucro não fornece informações úteis quando é colocado nas áreas COLUNAS, LINHAS ou FILTROS. Só faz sentido como um valor agregado na área VALORES.

O que fizemos foi criar uma coluna denominada Lucro que calcula uma margem de lucro para cada linha na tabela Vendas. Em seguida, adicionámos Lucro à área VALORES da nossa Tabela Dinâmica, criando automaticamente uma medida implícita, em que um resultado é calculado para cada uma das categorias de produtos. Se estiver a pensar que calculámos o lucro para as nossas categorias de produtos duas vezes, está correto. Calculámos primeiro um lucro para cada linha na tabela Vendas e, em seguida, adicionámos Lucro à área VALORES onde foi agregado para cada uma das categorias de produtos. Se também estiver a pensar que não precisamos realmente de criar a coluna calculada Lucro, também está correto. Mas, como podemos calcular o nosso lucro sem criar uma coluna calculada Lucro?

Lucro, seria realmente melhor calculado como uma medida explícita.

Por agora, vamos deixar a nossa coluna calculada Lucro na tabela Vendas e Categoria de Produto em COLUNAS e Lucro em VALORES da nossa Tabela Dinâmica, para comparar os nossos resultados.

Na área de cálculo da nossa tabela Vendas, vamos criar uma medida denominada Lucro Total (para evitar conflitos de nomenclatura). No final, produzirá os mesmos resultados que fizemos anteriormente, mas sem uma coluna calculada Lucro.

Primeiro, na tabela Vendas, selecionamos a coluna SalesAmount e, em seguida, clicamos em Soma Automática para criar uma medida Soma explícita de SalesAmount. Lembre-se de que uma medida explícita é uma medida que criamos na área de cálculo de uma tabela no Power Pivot. Fazemos o mesmo para a coluna COGS. Vamos mudar o nome destes MontantesDeVendas Totais e Total de COGS para facilitar a sua identificação.

Botão AutoSoma no Power Pivot

Em seguida, criamos outra medida com esta fórmula:

Total Profit:=[ Total SalesAmount] - [Total DE COGS]

Observação: Também poderíamos escrever a nossa fórmula como Total Profit:=SUM([SalesAmount]) - SUM([COGS]), mas ao criar medidas de Total SalesAmount e Total COGS separadas, também podemos utilizá-las na nossa Tabela Dinâmica e podemos utilizá-las como argumentos em todos os tipos de outras fórmulas de medida.

Depois de alterarmos o formato da nova medida Lucro Total para moeda, podemos adicioná-la à nossa tabela dinâmica.

Tabela Dinâmica

Pode ver que a nossa nova medida Lucro Total devolve os mesmos resultados que criar uma coluna calculada Lucro e, em seguida, colocá-la em VALORES. A diferença é que a nossa medida Lucro Total é muito mais eficiente e torna o nosso modelo de dados mais limpo e mais magro porque estamos a calcular na altura e apenas para os campos que selecionamos para a nossa Tabela Dinâmica. Afinal de contas, não precisamos dessa coluna calculada Lucro.

Porque é que esta última parte é importante? As colunas calculadas adicionam dados ao modelo de dados e os dados retomam a memória. Se atualizarmos o modelo de dados, os recursos de processamento também são necessários para recalcular todos os valores na coluna Lucro. Não precisamos de utilizar recursos como este porque queremos realmente calcular o nosso lucro quando selecionamos os campos para os quais queremos Lucro na Tabela Dinâmica, como categorias de produtos, região ou datas.

Vejamos outro exemplo. Uma em que uma coluna calculada cria resultados que, à primeira vista, parecem corretos, mas...

Neste exemplo, queremos calcular os valores de vendas como uma percentagem do total de vendas. Criamos uma coluna calculada denominada % das Vendas na nossa tabela Vendas, da seguinte forma:

Coluna % de Vendas calculadas

A nossa fórmula indica: para cada linha na tabela Vendas, divida o valor na coluna SalesAmount pelo total SOMA de todos os montantes na coluna SalesAmount.

Se criarmos uma Tabela Dinâmica e adicionarmos Categoria de Produto a COLUNAS e selecionarmos a nossa nova coluna % de Vendas para colocá-la em VALORES, obtemos uma soma total de % de Vendas para cada uma das nossas categorias de produtos.

Tabela Dinâmica mostrando a soma de % das Vendas das Categorias de Produto

Ok. Parece bom até agora. No entanto, vamos adicionar uma segmentação de dados. Adicionamos Ano do Calendário e, em seguida, selecionamos um ano. Neste caso, selecionamos 2007. Isto é o que temos.

Resultado incorreto de Soma de % das vendas na Tabela Dinâmica

À primeira vista, isto ainda pode parecer correto. No entanto, as nossas percentagens devem totalizar 100%, porque queremos saber a percentagem de vendas totais de cada uma das nossas categorias de produtos para 2007. Então, o que correu mal?

A nossa coluna % de Vendas calculou uma percentagem para cada linha que é o valor na coluna SalesAmount dividida pela soma total de todos os valores na coluna SalesAmount. Os valores numa coluna calculada são fixos. São um resultado imutável para cada linha na tabela. Quando adicionámos % de Vendas à nossa Tabela Dinâmica, esta foi agregada como uma soma de todos os valores na coluna SalesAmount. Essa soma de todos os valores na coluna % de Vendas será sempre de 100%.

Dica: Certifique-se de que lê Contexto em Fórmulas DAX. Fornece uma boa compreensão do contexto ao nível da linha e do contexto de filtro, que é o que descrevemos aqui.

Podemos eliminar a nossa coluna calculada % de Vendas porque não nos vai ajudar. Em vez disso, vamos criar uma medida que calcula corretamente a nossa percentagem de vendas totais, independentemente de quaisquer filtros ou segmentações de dados aplicados.

Lembra-se da medida TotalSalesAmount que criámos anteriormente, aquela que soma simplesmente a coluna SalesAmount? Utilizámo-la como argumento na nossa medida Lucro Total e vamos utilizá-la novamente como argumento no nosso novo campo calculado.

Dica: A criação de medidas explícitas como Total SalesAmount e Total COGS não são apenas úteis numa tabela dinâmica ou relatório, mas também são úteis como argumentos noutras medidas quando precisa do resultado como argumento. Isto torna as suas fórmulas mais eficientes e fáceis de ler. Esta é uma boa prática de modelação de dados.

Criamos uma nova medida com a seguinte fórmula:

% do Total de Vendas:=([Total de SalesAmount]) /CALCULATE([Total SalesAmount], ALLSELECTED())

Esta fórmula indica: divida o resultado de Total SalesAmount pela soma total de SalesAmount sem quaisquer filtros de coluna ou linha que não os definidos na Tabela Dinâmica.

Dica: Certifique-se de que lê sobre as funções CALCULATE e ALLSELECTED na Referência DAX.

Agora, se adicionarmos a nossa nova % do Total de Vendas à Tabela Dinâmica, obtemos:

Resultado correto de Soma das % de vendas em Tabela Dinâmica

Parece melhor. Agora, a nossa % do Total de Vendas para cada categoria de produto é calculada como uma percentagem do total de vendas do ano de 2007. Se selecionarmos um ano diferente ou mais de um ano na segmentação CalendarYear, obtemos novas percentagens para as nossas categorias de produtos, mas o nosso total geral ainda é de 100%. Também podemos adicionar outras segmentações de dados e filtros. A nossa medida % do Total de Vendas produzirá sempre uma percentagem do total de vendas, independentemente de quaisquer segmentações de dados ou filtros aplicados. Com as medidas, o resultado é sempre calculado de acordo com o contexto determinado pelos campos em COLUNAS e LINHAS e por quaisquer filtros ou segmentações de dados aplicados. Este é o poder das medidas.

Seguem-se algumas diretrizes para o ajudar a decidir se uma coluna calculada ou uma medida é adequada para uma necessidade de cálculo específica:

Utilizar colunas calculadas

  • Se quiser que os seus novos dados apareçam em LINHAS, COLUNAS ou EM FILTROS numa Tabela Dinâmica ou num Eixo, LEGENDA ou MOSAICO POR numa visualização do Power View, tem de utilizar uma coluna calculada. Tal como as colunas regulares de dados, as colunas calculadas podem ser utilizadas como um campo em qualquer área e, se forem numéricas, também podem ser agregadas em VALORES.

  • Se quiser que os novos dados sejam um valor fixo para a linha. Por exemplo, tem uma tabela de datas com uma coluna de datas e quer outra coluna que contenha apenas o número do mês. Pode criar uma coluna calculada que calcula apenas o número do mês a partir das datas na coluna Data. Por exemplo, =MÊS('Data'[Data]).

  • Se você quiser adicionar um valor de texto para cada linha a uma tabela, use uma coluna calculada. Campos com valores de texto nunca podem ser agregados em VALUES. Por exemplo, =FORMAT('Date'[Date],"mmmm") nos dá o nome do mês para cada data na coluna Data na tabela Data.

Usar medidas

  • Se o resultado do cálculo sempre depender dos outros campos selecionados em uma Tabela Dinâmica.

  • Se você precisar fazer cálculos mais complexos, como calcular uma contagem com base em um filtro de algum tipo, ou calcular um ano a ano, ou variação, use um campo calculado.

  • Se você quiser manter o tamanho da pasta de trabalho no mínimo e maximizar seu desempenho, crie o maior número possível de cálculos quanto possível. Em muitos casos, todos os seus cálculos podem ser medidas, reduzindo significativamente o tamanho da pasta de trabalho e acelerando o tempo de atualização.

Lembre-se de que não há nada de errado em criar colunas calculadas como fizemos com nossa coluna Lucro e, em seguida, agregar em uma Tabela Dinâmica ou relatório. Na verdade, é uma maneira muito boa e fácil de aprender e criar seus próprios cálculos. À medida que sua compreensão desses dois recursos extremamente poderosos do Power Pivot aumenta, você deseja criar o modelo de dados mais eficiente e preciso que puder. Espero que o que você aprendeu aqui ajude. Há alguns outros recursos realmente ótimos lá fora que podem ajudá-lo também. Aqui estão apenas alguns: contexto em fórmulas DAX, agregações no Power Pivot e centro de recursos DAX. E, embora seja um pouco mais avançado e direcionado para profissionais de contabilidade e finanças, o exemplo de Modelagem e Análise de Dados de Lucro e Perda com o Microsoft Power Pivot no Excel é carregado com ótima modelagem de dados e exemplos de fórmula.

Precisa de mais ajuda?

Quer mais opções

Explore os benefícios da assinatura, procure cursos de treinamento, saiba como proteger seu dispositivo e muito mais.

As comunidades ajudam você a fazer e responder perguntas, fazer comentários e ouvir especialistas com conhecimento avançado.