Quando usar Colunas Calculadas e Campos Calculados

Importante :  Este artigo foi traduzido por um sistema de tradução automática, leia o aviso de isenção de responsabilidade. Para sua referência, veja a versão em inglês deste artigo aqui.

Quando o primeiro aprender como usar o PowerPivot, a maioria dos usuários descobrir que a potência real é em agregar ou calcular um resultado de alguma maneira. Se seus dados tiverem uma coluna com valores numéricos, você pode agregá-la facilmente selecionando-a em uma tabela dinâmica ou lista de campos do Power View. Por natureza, porque ele for numérico, ele será automaticamente ser somado, média, contados, ou qualquer tipo de agregação que você selecionar. Isso é conhecido como uma medida implícita. Medidas implícitas são ótimas para agregação rápida e fácil, mas eles têm limites e quase sempre podem ser resolver esses limites com explícita medidas e colunas calculadas.

Vamos primeiro examinar um exemplo onde usamos uma coluna calculada para adicionar um novo valor de texto para cada linha em uma tabela chamada produtos. Cada linha na tabela Product contém todos os tipos de informações sobre cada produto vendemos. Podemos ter colunas para nome do produto, cor, tamanho, preço do revendedor, etc... Temos outra tabela relacionada denominada categoria de produto que contém uma coluna ProductCategoryName. O que queremos destina-se a cada produto na tabela Product para incluir o nome da categoria de produto da tabela de categoria de produto. Em nossa tabela de produto, podemos criar uma coluna calculada nomeado categoria de produto assim:

Coluna Categoria do produto calculada

Nossa nova fórmula de categoria de produto usa a função DAX relacionadas para obter os valores da coluna ProductCategoryName na tabela categoria de produto relacionada e, em seguida, insere esses valores para cada produto (cada linha) na tabela Product.

Isso é um ótimo exemplo de como podemos usar uma coluna calculada para adicionar um valor fixo para cada linha que podemos usar mais tarde em linhas, colunas ou área de tabela dinâmica ou em um relatório do Power View de FILTROS.

Vamos criar outro exemplo onde desejamos calcular uma margem de lucro nossas categorias de produto. Este é um cenário comum, mesmo em muitas tutoriais. Temos uma tabela de vendas em nosso modelo de dados que contém os dados de transação, e há uma relação entre a tabela de vendas e a tabela de categoria de produto. Na tabela Sales, temos uma coluna que tenha valores de vendas e outra coluna que tem custos.

Podemos criar uma coluna calculada que calcula um valor de lucro para cada linha, subtraindo valores na coluna COGS dos valores na coluna SalesAmount, assim:

Coluna de lucro na tabela Power Pivot

Agora, podemos pode criar uma tabela dinâmica e arraste o campo de categoria de produto para colunas e nosso novo campo lucro até a área de valores (uma coluna em uma tabela no PowerPivot é um campo na lista de campos da tabela dinâmica). O resultado é uma medida implícita chamada Soma do lucro. É um valor agregado dos valores da coluna lucro para cada uma das categorias de produtos diferentes. Nosso resultado tem esta aparência:

Exemplo de tabela dinâmica

Nesse caso, o lucro só faz sentido como um campo em valores. Se nós colocar lucro na área colunas, nossa tabela dinâmica teria esta aparência:

Tabela Dinâmica sem valores úteis

Nosso campo lucro não fornece nenhuma informação útil quando ele for colocado em áreas de colunas, linhas ou FILTROS. Só faz sentido como um valor agregado na área valores.

O que fizemos é criar uma coluna chamada lucro que calcula uma margem de lucro para cada linha na tabela Sales. Em seguida, adicionamos lucro à área valores da nossa tabela dinâmica, criação automática de uma medida implícita, onde um resultado é calculado para cada uma das categorias de produtos. Se você está pensando que realmente calculado lucro nossas categorias de produto de duas vezes, você está corretas. Nós primeiro calculado lucro para cada linha na tabela Sales e, em seguida, adicionamos lucro à área valores onde ele foi agregado para cada uma das categorias de produtos. Se você está pensando também que não precisamos realmente criar a coluna calculada de lucro, você também está corretas. Mas, então, como podemos calcular o nosso lucro sem criar uma coluna calculada lucro?

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

Por agora, vamos deixar nossa coluna calculada de lucro na tabela Sales e categoria de produto em colunas e lucros nos valores de nossa tabela dinâmica, para comparar os resultados.

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

Primeiro, na tabela Sales, podemos selecione a coluna SalesAmount e, em seguida, clique em AutoSoma para criar um explícita Soma de SalesAmountmedida. Lembre-se de que uma medida explícita é uma criamos na área de cálculo de uma tabela no PowerPivot. Podemos fazer o mesmo para a coluna de COGS. Nós será renomear esses Total SalesAmount e Total COGS para torná-los mais fáceis de identificar.

Botão AutoSoma no Power Pivot

Em seguida, podemos criar outra medida com esta fórmula:

Total de lucro: = [ Total SalesAmount]-[Total COGS]

Observação : Podemos também escrever nossa fórmula como Total Profit:=SUM([SalesAmount]) - SUM([COGS]), mas criando separadas medidas SalesAmount Total e COGS Total, podemos pode usá-los em nossa tabela dinâmica muito e podemos pode usá-los como argumentos em todos os tipos de outras fórmulas de medida.

Depois de alterar o formato da nossa nova lucro Total medida moeda, podemos pode adicioná-lo a nossa tabela dinâmica.

Tabela Dinâmica

Você pode ver a que nossa nova medida de lucro Total retorna os mesmos resultados da criação de uma coluna calculada de lucros e, em seguida, colocando-o em valores. A diferença é nosso lucro Total medida é muito mais eficiente e torna o nosso modelo de dados mais limpo e mais enxutos porque podemos está calculando no momento e apenas para os campos selecionamos para nossa tabela dinâmica. Não realmente precisamos dessa coluna calculada lucro afinal.

Por que esta última parte é importante? Colunas calculadas adicionar dados ao modelo de dados e dados ocupam a memória. Se podemos atualizar o modelo de dados, recursos de processamento também são necessários para recalcular todos os valores na coluna. Não precisamos realmente ocupar recursos assim como realmente queremos calcular nosso lucro quando selecionamos os campos queremos lucro na tabela dinâmica, como categorias de produto, região, ou por datas.

Vejamos outro exemplo. Um onde uma coluna calculada cria resultados que a princípio parecer corretos, mas...

Neste exemplo, queremos calcular quantidades de vendas como uma porcentagem do total de vendas. Vamos criar uma coluna calculada chamada % das vendas em nossa tabela de vendas, assim:

Coluna % de Vendas calculadas

Nossos estados fórmulas: para cada linha na tabela Sales, divida o valor na coluna SalesAmount pela soma total de todos os valores na coluna SalesAmount.

Vamos criar uma tabela dinâmica e adicionar categoria de produto para colunas e selecione nossa nova coluna % de vendas para colocá-lo em valores, se uma soma total de % das vendas para cada um dos nossas categorias de produto.

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

OK. Isso gostar até o momento. Mas, vamos adicionar uma segmentação de dados. Vamos adicionar ano civil e selecione um ano. Nesse caso, selecionamos 2007. Este é o que podemos obter.

Soma das % de resultado incorreto de vendas em tabela dinâmica

A princípio, isso ainda poderá aparecer correto. Mas, nossas porcentagens realmente devem total 100%, pois queremos saber porcentagem do total de vendas para cada um dos nossas categorias de produto para o 2007. O que deu errado?

Nossa coluna % de vendas calculada uma porcentagem para cada linha que é o valor na coluna SalesAmount dividido pela soma total de todos os valores na coluna SalesAmount. Valores em uma coluna calculada são corrigidos. Eles são um resultado imutável para cada linha na tabela. Quando adicionamos % das vendas a nossa tabela dinâmica ele foi agregado como uma soma de todos os valores na coluna SalesAmount. Que a soma de todos os valores na coluna % de vendas sempre será 100%.

Dica : Certifique-se de ler contexto em fórmulas DAX. Ele oferece uma boa compreensão de contexto de nível de linha e contexto de filtro, que é o que estamos descrevendo aqui.

Podemos excluir nossa coluna % de vendas calculadas porque ele não para ajudar. Em vez disso, vamos criar uma medida que calcula corretamente nossa porcentagem do total de vendas, independentemente de quaisquer filtros ou segmentações de dados aplicadas.

Lembre-se a medida TotalSalesAmount criado anteriormente, aquele que simplesmente soma na coluna SalesAmount? Usamos como um argumento na nossa medida de lucro Total e vamos usá-la novamente como um argumento em nosso novo campo calculado.

Dica : Criando explícitas medidas como SalesAmount Total e COGS Total não são somente úteis si em uma tabela dinâmica ou relatório, mas eles também são úteis como argumentos em outras medidas quando precisar o resultado como um argumento. Isso tornará suas fórmulas mais eficiente e mais fácil de ler. Isso é boas dados de modelagem prática.

Vamos criar uma nova medida com a seguinte fórmula:

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

Essa fórmula diz: divida o resultado de SalesAmount Total pela soma total de SalesAmount sem filtros de coluna ou linha diferente daquelas definidas na tabela dinâmica.

Dica : Certifique-se de ler sobre funções CALCULATE e ALLSELECTED na referência de DAX.

Agora, podemos adicionar nosso novo % do Total de vendas para a tabela dinâmica, se:

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

Que procura um melhor. Agora nosso % do Total de vendas para cada categoria de produto é calculada como uma porcentagem do total de vendas do ano de 2007. Se vamos selecionar um ano diferente ou mais de um ano na segmentação de dados CalendarYear, podemos obter porcentagens novo para nossas categorias de produto, mas nossa total geral ainda é 100%. Nós também pode adicionar outros filtros e segmentações de dados. Nossa % do Total de vendas medida sempre produzirá uma porcentagem do total de vendas, independentemente de quaisquer segmentações de dados ou filtros aplicados. Com medidas, o resultado é sempre calculado de acordo com o contexto determinado por campos em linhas e colunas e por qualquer filtros ou segmentações de dados que são aplicadas. Essa é a capacidade de medidas.

Aqui estão algumas diretrizes para ajudá-lo ao decidir se ou não uma coluna calculada ou uma medida é adequada para uma necessidade de cálculo específico:

Usar colunas calculadas

  • Se quiser que seus novos dados apareça em linhas, colunas ou em FILTROS em uma tabela dinâmica, ou em um EIXO, legenda ou peças por em uma visualização do Power View, você deve usar uma coluna calculada. Assim como regulares colunas de dados, colunas calculadas podem ser usadas como um campo em qualquer área e, se forem numéricos que eles podem ser agregados valores muito.

  • Se quiser que seus novos dados seja um valor fixo para a linha. Por exemplo, você tem uma tabela de data com uma coluna de datas e desejar que outra coluna que contém apenas o número do mês. Você pode criar uma coluna calculada que calcula apenas o número do mês das datas na coluna Data. Por exemplo, = MONTH('Date'[Date]).

  • 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 valores. Por exemplo, =FORMAT('Date'[Date],"mmmm") nos dá o nome do mês para cada data na coluna Data na tabela de data.

Usar medidas

  • Se o resultado do cálculo sempre será dependente os 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 sobre ou variação, use um campo calculado.

  • Se você quiser manter o tamanho da pasta de trabalho mínimo e maximizar seu desempenho, crie como muitos dos seus cálculos como medidas possíveis. Em muitos casos, todos os seus cálculos podem ser medidas, significativamente reduzir o tamanho da pasta de trabalho e acelerar o tempo de atualização.

Manter em mente, há nada errado com criar colunas calculadas como fizemos com nossa coluna de lucro e, em seguida, agregá-los em uma tabela dinâmica ou relatório. É realmente uma maneira realmente boa e fácil para saber mais sobre e criar seus próprios cálculos. Conforme aumenta a compreensão desses dois recursos poderosas do PowerPivot, você desejará criar o modelo de dados mais eficiente e precisa, você pode. Esperamos que o que você aprendeu aqui ajuda. Existem alguns outros ótimos recursos por aí que podem ajudá-lo também. Aqui estão apenas alguns: contexto em fórmulas DAX, agregações no Power Pivote Central de recursos DAX. E, enquanto ele tiver um pouco mais avançadas e dirigidas a profissionais de finanças e contabilidade, a amostra de Lucros e perdas de modelagem de dados e análise com o Microsoft Power Pivot no Excel é carregada com exemplos de fórmulas e modelagem de dados grande.

Observação : Aviso de Isenção de Tradução Automática: Este artigo foi traduzido por computador, sem intervenção humana. A Microsoft oferece essas traduções automáticas para ajudar as pessoas que não falam inglês a aproveitar os textos escritos sobre produtos, serviços e tecnologias da Microsoft. Como este artigo foi traduzido automaticamente, é possível que contenha erros de vocabulário, sintaxe ou gramática.

Expanda suas habilidades
Explore o treinamento
Obtenha novos recursos primeiro
Ingressar no Office Insider

Essas informações foram úteis?

Obrigado por seus comentários!

Agradecemos pelos seus comentários! Parece que pode ser útil conectar você a um de nossos agentes de suporte do Office.

×