SQLShack

Microsoft Power BI suporta duas linguagens diferentes, linguagem M e DAX (Data Analysis Expression) que podem ser usadas para filtrar, gerir e visualizar dados.

M pode ser considerado como uma linguagem de fórmula de consulta e pode ser usado no Power BI Query Editor para preparar dados antes de serem carregados no modelo Power BI.

No flip side, DAX é uma linguagem de cálculo de dados analíticos que pode ser usada para análise profunda de dados durante a fase de Visualização de Dados.

M e DAX não são dependentes um do outro e seguem estruturas e lógicas totalmente diferentes, e têm códigos subjacentes diferentes. M e DAX não podem ser usados simultaneamente já que a linguagem M é usada no Query Editor enquanto DAX é usada principalmente no modelo Data View.

Este post do blog mostrará como M e DAX diferem um do outro no Power BI, com a ajuda de exemplos. Veja este artigo para uma rápida introdução ao DAX.

Importando o Dataset

Nesta seção, vamos importar um conjunto de dados dummy que usaremos para executar nossas consultas M Language e DAX. Para fazer isso comece clicando no botão “Obter dados” no menu superior como mostrado na seguinte captura de tela.

Um novo diálogo listará todos os links de dados abertos para Power BI.

Insert web” na seção de busca, e muito em breve aparecerá uma opção de dados “Web” e também um ícone aparecerá nas opções Todas as fontes de dados. Selecione a opção “Web” e depois clique em “connect” na parte inferior. Isto está claro na captura de tela abaixo.

A janela de diálogo que você pode ver na captura de tela abaixo aparecerá. Agora você precisa inserir a URL abaixo no campo URL rotulado:

https://raw.githubusercontent.com/treselle-systems/customer_churn_analysis/master/WA_Fn-UseC_-Telco-Customer-Churn.csv

> Clique em “OK” para confirmar quando isso for feito.

Aqui está uma captura de tela para sua referência:

Esta URL leva o Power BI ao Github que detém o arquivo de dados CSV que precisamos. O arquivo de dados detalha um conjunto de dados de churn do cliente de telecomunicações. Ele contém dados sobre os clientes de uma empresa de telecomunicações, que deixaram a empresa após um certo período.

Dependendo do tamanho do arquivo, pode levar algum tempo para baixar os dados do site remoto.

Uma vez que os dados são baixados, você tem duas opções: ou você pode importar os dados diretamente para o Data/Report View, ou você pode primeiro carregar os dados no Query Editor. Como a Linguagem M funciona no Query Editor, primeiro vamos carregar os dados para o Query Editor clicando em “Transform Data”, como mostrado na seguinte imagem:

Você verá que o conjunto de dados contém informações sobre um cliente, como sexo, posse, serviço telefónico, serviço de Internet, dependentes, etc.

Uma vez que você clique no botão Transformar, você deve ver o seguinte Query Editor.

Diferenças entre M Language e DAX

Na seção anterior, conectamos Power BI a um conjunto de dados dummy no GitHub. Nesta seção, você verá com a ajuda de exemplos, as diferenças entre a linguagem M e o DAX.

M Language

Primeiro, veremos o que é M e como ele é usado no Power BI. Como eu disse anteriormente, a Linguagem M é usada para gerenciar e filtrar dados no Query Editor. Se você fechou o Query Editor, você pode abri-lo clicando na opção “Edit Queries” do menu superior.

No Query Editor, o único nome de tabela no painel esquerdo da tela será a sua tabela, como mostrado abaixo. Clique na tabela de dados “WA_Fn-UseC_-Telco-Customer-Churn” do painel esquerdo do editor de consultas, como mostrado abaixo:

Para ver as consultas em M. Selecione qualquer coluna, por exemplo, “Partner” e clique no botão “Remove Columns” do menu superior. Ele irá remover a coluna “Partner” da tabela como mostrado abaixo:

> Em seguida, clique na opção “View” do menu superior como destacado na seguinte captura de tela.

> Clique na caixa de seleção “Formula Bar”. Você deve agora ver uma consulta na barra de fórmula como destacado na captura de tela a seguir. A consulta aqui é “= Tabela.RemoveColumns(#”Changed Type”,{“Partner”}). Esta consulta é uma consulta de idioma M utilizada para remover a coluna “Parceiro” da tabela seleccionada. Você pode ver que a consulta de linguagem M é mais similar a um comando SQL ou LINQ (Language Integrated Query) em C#.

Para ver todas as consultas M previamente executadas no seu conjunto de dados, você pode clicar em “View – Advanced Editor” como mostrado na captura de tela a seguir.

Uma vez que você clique na opção “Editor Avançado” do menu superior, você deve ver a janela do Editor Avançado, como mostrado abaixo. A janela do Editor Avançado contém todas as consultas de idioma M que você executou até agora na sessão atual.

Você pode ver que a última consulta é aquela que removeu a coluna “Parceiro” da tabela. Antes disso, a consulta “Change Type” é utilizada para atribuir os tipos de dados a diferentes colunas do conjunto de dados. E antes disso, a consulta “Promoted Headers” é utilizada para definir as colunas de cabeçalho. Se você executar outra consulta, que aparecerá no final da lista de consultas no “Editor Avançado”.

Vamos tentar adicionar uma coluna simples na tabela de livros e ver a consulta M para isso. Clique na opção “Adicionar Coluna -> Coluna Personalizada” no menu no topo da janela, como pode ver abaixo:

Você deve ver a janela abaixo. Clique nas colunas “TotalCharges” e “MonthlyCharges” uma a uma e depois clique no botão “Insert” para inseri-las na janela do editor de consultas. Na janela do editor de consultas, adicione um sinal “+” entre os nomes das duas colunas e clique no botão “OK”.

Você deverá ver uma nova coluna “Mensal-Total” adicionada à tabela como mostrado abaixo. Na barra de fórmulas, você também pode ver a consulta M gerada para criar a coluna “Total-Mensal”. A coluna “Total Mensal” basicamente exibe a soma dos valores nas colunas “Total de Encargos” e “Encargos Mensais”.

Agora se você abrir novamente a janela “Editor Avançado”, você verá a consulta usada para adicionar a coluna “Mensal-Total” na parte inferior das consultas no editor avançado.

Agora sabemos como a Linguagem M funciona e como ela se parece. Na próxima seção, vamos tentar criar a mesma coluna “Monthly-Total 2” via DAX (Data Analysis Expression).

DAX queries são executadas na Data View; portanto, temos que mover os dados do Query Editor para a data view. Para isso, no Query Editor, clique na opção “Close & Apply” do menu superior como mostrado abaixo:

Uma vez que você clique no botão “Close & Apply”, a Data View será aberta.

DAX (Expressão de Análise de Dados)

Nesta seção, veremos como adicionar uma nova coluna à tabela Books usando DAX. Na Vista de Dados, clique na opção “Modelagem -> Nova Coluna” do menu superior como mostrado abaixo:

Você deve ver a seguinte janela uma vez que você clique na opção “Nova Coluna”. Na barra de fórmulas, você pode ver o nome da coluna padrão. Você pode executar as consultas DAX nesta barra de fórmula.

Digite a consulta “Mensal-Total 2 = + ” na barra de fórmula e pressione a tecla “Enter”. Uma vez pressionado Enter, você verá uma nova coluna “Mensal-Total 2” que exibe a soma dos valores nas colunas “TotalCharges” e “MonthlyCharges”.

Você pode ver que as consultas DAX são mais similares ao MS Excel.

Conclusion

M Language e DAX são as duas linguagens suportadas pelo Power BI para manipular, filtrar e analisar os dados. Embora ambas as linguagens tenham funcionalidades semelhantes, elas operam independentemente uma da outra. M é usado para pré-processar os dados dentro do Query Editor enquanto DAX é usado para analisar os dados depois que os dados são carregados no Data View Model.

  • Autor
  • Recent Posts
Ben Richardson executa Acuity Training um provedor líder de treinamento SQL no Reino Unido. Ele oferece uma gama completa de treinamento SQL desde cursos introdutórios até treinamento avançado em administração e data warehouse – veja aqui para mais detalhes. A Acuity tem escritórios em Londres e Guildford, Surrey. Ele também blogs ocasionalmente no blog da Acuity
Ver todos os posts de Ben Richardson

Postais mais recentes de Ben Richardson (ver todos)
  • Trabalhar com temas de relatórios Power BI – 25 de fevereiro de 2021
  • Power BI: Waterfall Charts and Combined Visuals – January 19, 2021
  • Power BI: Formatação condicional e cores de dados em ação – January 14, 2021

Deixe uma resposta

O seu endereço de email não será publicado.