Tutorial: Criar colunas calculadas no Power BI DesktopTutorial: Create calculated columns in Power BI Desktop

Às vezes, os dados que está a analisar não contêm um campo específico, do qual precisa para obter os resultados que procura.Sometimes the data you’re analyzing doesn’t contain a particular field you need to get the results you’re after. É aqui que entram as colunas calculadas.This is where calculated columns come in. As colunas calculadas utilizam fórmulas DAX (Data Analysis Expressions) para definir os valores de uma coluna, desde juntar valores de texto de duas colunas diferentes a calcular um valor numérico a partir de outros valores.Calculated columns use Data Analysis Expressions (DAX) formulas to define a column’s values, anything from putting together text values from a couple of different columns to calculating a numeric value from other values. Por exemplo, digamos que os seus dados têm os campos Cidade e Estado, mas deseja um único campo Localização que englobe ambos os campos num único valor como “Miami, FL”.For example, let’s say your data has City and State fields, but you want a single Location field that has both, like "Miami, FL". É exatamente para isso que as colunas calculadas servem.This is precisely what calculated columns are for.

As colunas calculadas são semelhantes às medidas, pois ambas se baseiam em fórmulas DAX, mas diferem no modo como são usadas.Calculated columns are similar to measures in that both are based on DAX formulas, but they differ in how they are used. As medidas são frequentemente utilizadas na área Valores de uma visualização, para calcular os resultados com base noutros campos.You often use measures in a visualization's Values area, to calculate results based on other fields. As colunas calculadas são utilizadas como novos Campos nas áreas das linhas, dos eixos, das legendas e dos grupo das visualizações.You use calculated columns as new Fields in the rows, axes, legends, and group areas of visualizations.

Este tutorial serve como guia para que compreenda e crie as colunas calculadas e, em seguida, as utilize nas visualizações dos relatórios no Power BI Desktop.This tutorial will guide you through understanding and creating some calculated columns and using them in report visualizations in Power BI Desktop.

Pré-requisitosPrerequisites

  • Este tutorial destina-se aos utilizadores do Power BI já familiarizados com o Power BI Desktop para criar modelos mais avançados.This tutorial is intended for Power BI users already familiar with using Power BI Desktop to create more advanced models. Já deve saber como utilizar a funcionalidade Obter Dados e o Editor do Power Query para importar dados, trabalhar com várias tabelas relacionadas e adicionar campos à tela Relatório.You should already know how to use Get Data and the Power Query Editor to import data, work with multiple related tables, and add fields to the Report canvas. Se ainda não estiver familiarizado com o Power BI Desktop, não deixe de conferir a Introdução ao Power BI Desktop.If you’re new to Power BI Desktop, be sure to check out Getting Started with Power BI Desktop.

  • O tutorial utiliza o Exemplo de vendas Contoso do Power BI Desktop, o mesmo exemplo utilizado no tutorial Criar as suas próprias medidas no Power BI Desktop.The tutorial uses the Contoso Sales Sample for Power BI Desktop, the same sample used for the Create your own measures in Power BI Desktop tutorial. Estes dados de vendas da empresa fictícia, Contoso, Inc. foram importados de uma base de dados, razão pela qual não vai conseguir ligar-se à fonte de dados nem vê-los no Editor do Power Query.This sales data from the fictitious company Contoso, Inc. was imported from a database, so you won’t be able to connect to the data source or view it in the Power Query Editor. Transfira e extraia o ficheiro para o seu computador e, em seguida, abra-o no Power BI Desktop.Download and extract the file on your own computer, and then open it in Power BI Desktop.

No Relatório de Vendas, quer ver categorias e subcategorias dos produtos como um único valor, como “Telemóveis – Acessórios”, “Telemóveis – Smartphones e PDAs”, etc.In your Sales Report, you want to display product categories and subcategories as single values, like "Cell phones – Accessories", "Cell phones – Smartphones & PDAs", and so on. Não há nenhum campo na lista Campos que forneça esses dados, mas existe um campo ProductCategory e um campo ProductSubcategory, cada um na sua própria tabela.There's no field in the Fields list that gives you that data, but there is a ProductCategory field and a ProductSubcategory field, each in its own table. Pode criar uma coluna calculada para combinar os valores destas duas colunas.You can create a calculated column that combines values from these two columns. As fórmulas DAX podem aproveitar todo o potencial do modelo que já tem, incluindo as relações entre tabelas diferentes já existentes.DAX formulas can leverage the full power of the model you already have, including relationships between different tables that already exist.

Colunas na lista Campos

  1. Selecione as reticências de Mais opções (...) ou clique com o botão direito do rato na tabela ProductSubcategory na lista Campos e, em seguida, selecione Nova Coluna.Select the More options ellipsis (...), or right-click, on the ProductSubcategory table in the Fields list, and then select New Column. Esta ação cria a nova coluna na tabela ProductSubcategory.This creates your new column in the ProductSubcategory table.

    Nova Coluna

    A barra de fórmulas é apresentada na parte superior da tela de relatórios, onde pode mudar o nome da coluna e introduzir uma fórmula DAX.The formula bar appears along the top of the Report canvas, ready for you to name your column and enter a DAX formula.

    Barra de fórmulas

  2. Por predefinição, a nova coluna calculada é simplesmente denominada Coluna.By default, a new calculated column is simply named Column. Se não alterar o seu nome, as novas colunas adicionais serão denominadas Coluna 2, Coluna 3 e assim sucessivamente.If you don’t rename it, additional new columns will named Column 2, Column 3, and so on. Pretende que a coluna seja identificada com mais facilidade e, uma vez que o nome Coluna já está realçado na barra de fórmulas, altere-o ao introduzir ProductFullCategory e, em seguida, um sinal de igual ( = ).You want your column to be more identifiable, so since the Column name is already highlighted in the formula bar, rename it by typing ProductFullCategory, and then type an equals (=) sign.

  3. Quer que os valores na coluna nova comecem com o nome ProductCategory.You want the values in your new column to start with the ProductCategory name. Como esta coluna está numa tabela diferente, mas relacionada, pode utilizar a função RELATED para a obter.Because this column is in a different but related table, you can use the RELATED function to help you get it.

    Após o sinal de igual, escreva um r.After the equals sign, type r. Uma lista pendente de sugestões mostra todas as funções DAX que começam com a letra R; selecionar cada função mostra uma descrição do seu efeito.A dropdown suggestion list shows all of the DAX functions beginning with the letter R. Selecting each function shows a description of its effect. À medida que escreve, a lista de sugestões aproxima-se mais da função que precisa.As you type, the suggestion list scales closer to the function you need. Selecione RELATEDe prima Enter.Select RELATED, and then press Enter.

    Escolher RELATED

    É apresentado um parêntese de abertura, juntamente com outra lista de sugestões de colunas relacionadas que pode passar para a função RELATED, com descrições e detalhes sobre os parâmetros esperados.An opening parenthesis appears, along with another suggestion list of the related columns you can pass to the RELATED function, with descriptions and details on expected parameters.

    Escolher ProductCategory

  4. Quer a coluna ProductCategory na tabela ProductCategory.You want the ProductCategory column from the ProductCategory table. Selecione ProductCategory[ProductCategory] , prima Enter e, em seguida, introduza um parêntese de fecho.Select ProductCategory[ProductCategory], press Enter, and then type a closing parenthesis.

    Dica

    Os erros de sintaxe são, na maior parte das vezes, causados por um parêntese de fecho em falta ou mal colocado, apesar de, por vezes, o Power BI Desktop poder adicioná-lo por si.Syntax errors are most often caused by a missing or misplaced closing parenthesis, although sometimes Power BI Desktop will add it for you.

  5. Pretende usar travessões e espaços para separar ProductCategories e ProductSubcategories nos valores novos, por isso, após o parêntese de fecho da primeira expressão, insira um espaço, E comercial ( & ), aspas ( " ), espaço, travessão ( - ), outro espaço, outras aspas e outro E comercial.You want dashes and spaces to separate the ProductCategories and ProductSubcategories in the new values, so after the closing parenthesis of the first expression, type a space, ampersand (&), double-quote ("), space, dash (-), another space, another double-quote, and another ampersand. A sua fórmula agora deve ter este aspeto:Your formula should now look like this:

    ProductFullCategory = RELATED(ProductCategory[ProductCategory]) & " - " &

    Dica

    Se precisar de mais espaço, selecione a divisa para baixo do lado direito da barra de fórmulas para aumentar o editor de fórmulas.If you need more room, select the down chevron on the right side of the formula bar to expand the formula editor. No editor, prima Alt + Enter para mover uma linha para baixo e prima Tab para mudar a posição das coisas.In the editor, press Alt + Enter to move down a line, and Tab to move things over.

  6. Insira um parêntese reto de abertura ( [ ) e, em seguida, selecione a coluna [ProductSubcategory] para terminar a fórmula.Enter an opening bracket ([), and then select the [ProductSubcategory] column to finish the formula.

    Escolher ProductSubcategory

    Não precisou utilizar outra função RELATED para chamar a tabela ProductSubcategory na segunda expressão, porque está a criar a coluna calculada nesta tabela.You didn’t need to use another RELATED function to call the ProductSubcategory table in the second expression, because you are creating the calculated column in this table. Pode inserir [ProductSubcategory] com o prefixo do nome da tabela (totalmente qualificado) ou (não qualificado).You can enter [ProductSubcategory] with the table name prefix (fully-qualified) or without (non-qualified).

  7. Complete a fórmula ao premir Enter ou selecionar a marca de verificação na barra de fórmulas.Complete the formula by pressing Enter or selecting the checkmark in the formula bar. A fórmula é validada e o nome da coluna ProductFullCategory é apresentado na tabela ProductSubcategory na lista Campos.The formula validates, and the ProductFullCategory column name appears in the ProductSubcategory table in the Fields list.

    Coluna ProductFullCategory terminada

    Nota

    No Power BI Desktop, as colunas calculadas obtêm um ícone especial na lista Campos, que mostra que contêm fórmulas.In Power BI Desktop, calculated columns get a special icon in the field list, showing that they contain formulas. No serviço PowerBI.com (o site do Power BI), não é possível alterar fórmulas; portanto, as colunas calculadas não têm ícones.In the Power BI service (your Power BI site), there’s no way to change formulas, so calculated columns don't have icons.

Utilizar a nova coluna num relatórioUse your new column in a report

Agora pode utilizar a nova coluna ProductFullCategory para analisar SalesAmount por ProductFullCategory.Now you can use your new ProductFullCategory column to look at SalesAmount by ProductFullCategory.

  1. Selecione ou arraste a coluna ProductFullCategory da tabela ProductSubcategory para a tela de relatórios para criar uma tabela que mostra todos os nomes de ProductFullCategory.Select or drag the ProductFullCategory column from the ProductSubcategory table onto the Report canvas to create a table showing all ProductFullCategory names.

    Tabela ProductFullCategory

  2. Selecione ou arraste o campo SalesAmount da tabela Sales (Vendas) para a tabela para mostrar o montante de vendas para cada categoria completa do produto.Select or drag the SalesAmount field from the Sales table into the table to show the Sales Amount for each Product Full Category.

    SalesAmount por tabela ProductFullCategory

Criar uma coluna calculada que utiliza uma função IFCreate a calculated column that uses an IF function

O Exemplo de Vendas da Contoso contém dados de vendas tanto para lojas ativas quanto inativas.The Contoso Sales Sample contains sales data for both active and inactive stores. Pretende garantir que as Vendas das lojas ativas estejam claramente separadas das Vendas das lojas inativas no relatório através da criação de um campo Active StoreName.You want to ensure that Active store sales are clearly separated from Inactive store sales in your report by creating an Active StoreName field. Na nova coluna calculada Active StoreName, cada Loja ativa será apresentada com o nome completo da loja, enquanto as lojas inativas serão agrupadas em “Inactive” (Inativas).In the new Active StoreName calculated column, each Active store will appear with the store's full name, while inactive stores will be grouped together under "Inactive".

Felizmente, a tabela Lojas tem uma coluna chamada Status, com valor “Ativado” para as lojas ativas e “Desativado” para lojas inativas, que podemos utilizar para criar valores para a nossa nova coluna Active StoreName.Fortunately, the Stores table has a column named Status, with values of "On" for active stores and "Off" for inactive stores, which we can use to create values for our new Active StoreName column. A fórmula DAX utilizará a função lógica IF para testar o estado de cada loja e devolver um valor específico que depende do resultado.Your DAX formula will use the logical IF function to test each store's Status and return a particular value depending on the result. Se o Status de uma loja estiver “Ativado”, a fórmula devolverá o nome da loja.If a store's Status is "On", the formula will return the store's name. Se estiver “Desativado”, a fórmula atribuirá “Inactive” a Active StoreName.If it’s "Off", the formula will assign an Active StoreName of "Inactive".

  1. Crie uma nova coluna calculada na tabela Stores e dê-lhe o nome Active StoreName na barra de fórmulas.Create a new calculated column in the Stores table and name it Active StoreName in the formula bar.

  2. Depois do sinal = , comece a escrever IF.After the = sign, begin typing IF. A lista de sugestões mostrará o que pode adicionar.The suggestion list will show what you can add. Selecione IF.Select IF.

    Selecionar IF

  3. O primeiro argumento de IF é um teste lógico para verificar se o Status de uma loja é “Ativado”.The first argument for IF is a logical test of whether a store's Status is "On". Introduza um parêntese reto de abertura [ , para listar as colunas na tabela Stores, e selecione [Status] .Type an opening bracket [ , which lists columns from the Stores table, and select [Status].

    Selecionar Status

  4. Logo após [Status] , digite ="On" e, em seguida, introduza uma vírgula ( , ) para terminar o argumento.Right after [Status], type ="On", and then type a comma (,) to end the argument. A descrição apresenta uma sugestão a indicar que precisa de adicionar um valor a devolver quando o resultado é TRUE.The tooltip suggests that you now need to add a value to return when the result is TRUE.

    Adicionar valor TRUE

  5. Se o estado da loja estiver “Ativado”, significa que quer que o nome dessa loja seja mostrado.If the store's status is "On", you want to show the store’s name. Introduza um parêntese reto de abertura [ e selecione a coluna [StoreName] e, em seguida, introduza outra vírgula.Type an opening bracket ([) and select the [StoreName] column, and then type another comma. A descrição indica agora que precisa de adicionar um valor a devolver quando o resultado é FALSE.The tooltip now indicates that you need to add a value to return when the result is FALSE.

    Adicionar valor FALSE

  6. Pretende que o valor seja Inactive, por isso escreva "Inactive" e, em seguida, termina a fórmula ao premir Enter ou selecione a marca de verificação na barra de fórmulas.You want the value to be Inactive, so type "Inactive", and then complete the formula by pressing Enter or selecting the checkmark in the formula bar. A fórmula é validada e o nome da nova coluna aparecerá na tabela Stores tabela na lista Campos.The formula validates, and the new column's name appears in the Stores table in the Fields list.

    Coluna Active StoreName

  7. Pode utilizar a nova coluna Active StoreName nas visualizações, tal como com qualquer outro campo.You can use your new Active StoreName column in visualizations just like any other field. Para mostrar SalesAmounts por Active StoreName, selecione o campo Active StoreName ou arraste-o para a tela e, em seguida, selecione o campo SalesAmount ou arraste-o para a tabela.To show SalesAmounts by Active StoreName, select the Active StoreName field or drag it onto the canvas, and then select the SalesAmount field or drag it into the table. Nesta tabela, as lojas ativas aparecem individualmente por nome, mas as lojas inativas são agrupadas no final como Inactive.In this table, active stores appear individually by name, but inactive stores are grouped together at the end as Inactive.

    Tabela SalesAmount por Active StoreName

O que aprendeuWhat you've learned

As colunas calculadas podem enriquecer os seus dados e facilitam a compreensão das informações.Calculated columns can enrich your data and provide easier insights. Aprendeu a criar colunas calculadas na lista de campos e na barra de fórmulas, a utilizar listas de sugestões e descrições para ajudar a construir as fórmulas, a chamar funções DAX como RELATED e IF com os argumentos adequados e a utilizar as colunas calculadas nas visualizações dos relatórios.You've learned how to create calculated columns in the field list and formula bar, use suggestion lists and tooltips to help construct your formulas, call DAX functions like RELATED and IF with the appropriate arguments, and use your calculated columns in report visualizations.

Próximos passosNext steps

Se desejar aprofundar os conhecimentos sobre as fórmulas DAX e criar colunas calculadas com fórmulas mais avançadas, veja Noções básicas do DAX no Power BI Desktop.If you want to take a deeper dive into DAX formulas and create calculated columns with more advanced formulas, see DAX Basics in Power BI Desktop. Este artigo foca os conceitos fundamentais no DAX, como sintaxe, funções e uma compreensão mais abrangente do contexto.This article focuses on fundamental concepts in DAX, such as syntax, functions, and a more thorough understanding of context.

Certifique-se de que adiciona a Referência ao DAX Data Analysis Expressions) aos favoritos.Be sure to add the Data Analysis Expressions (DAX) Reference to your favorites. É aqui que encontrará informações detalhadas sobre a sintaxe do DAX, operadores e mais de 200 funções DAX.This is where you'll find detailed info on DAX syntax, operators, and the over 200 DAX functions.