O que fazer com a DAX Query View?

Nos últimos meses temos vindo a ter no Power BI (PBI), Desktop e Serviço, diversas opções que apenas estavam disponíveis através de ferramentas externas. Como exemplo destas funcionalidades temos as alterações no modelo semântico: desabilitar medidas implícitas, criação de calculations groups, vista de perspetivas e culturas.

No final do ano passado surgiu em preview a DAX Query View, que nos permite escrever, editar e visualizar expressões em DAX no nosso modelo semântico.

Esta funcionalidade que dantes estava disponível através do DAX Studio, passou a estar dentro do PBI Desktop, permitindo assim analisar o nosso modelo de forma facilitada utilizando o DAX.

Para acedermos a esta janela temos um novo botão no painel do lado esquerdo do Power BI Desktop:

Esta janela é composta por:

https://powerbiblogscdn.azureedge.net/wp-content/uploads/2023/11/DAX-query-view-anatomy.png
  • Separador: inclui botões para as funcionalidades de escrita de DAX
  • Barra de comandos: Ações para correr queries de DAX
  • Painel de dados
  • Editor de queries de DAX: Onde se escrevem as queries de DAX
  • Tabela de resultados: resultados das queries de DAX
  • Queries Rápidas: Queries de DAX geradas automaticamente de tabelas, colunas e medidas

Para podermos utilizar corretamente esta funcionalidade é importante perceber dois conceitos base:

  • EVALUATE: função requerida para que os dados que pretendemos sejam devolvidos
  • DEFINE: função opcional, e que permite definir uma medida ou uma fórmula de DAX para usar na nossa querie.

Temos duas formas de utilizar esta janela.

Escrever as nossas próprias queries

Esta forma permite-nos escrever diretamente o nosso código, temos de ter em atenção que o resultado devolvido deverá ser sempre em formato de tabela pelo que por exemplo se quisermos correr uma medida de forma isolado temos de transformar o resultado em tabela utilizando a função ROW, SUMMARIZECOLUMNS ou envolvendo a nossa medida entre chavetas ({ [Medida] }).

Vamos então ver o exemplo de uma sintaxe utilizando SUMMARIZE:

Também podemos utilizar variáveis na nossa sintaxe:

Como podemos verificar rapidamente podemos fazer queries ao nosso modelo e obter os resultados diretamente dos nossos dados tendo em atenção todo o contexto do mesmo.

Queries rápidas:

A segunda forma de utilizarmos esta janela é através das queries rápidas, estas estão disponíveis através do botão de contexto nas tabelas, colunas ou medidas, ou através da janela da performance analyzer:

Dependendo da opção que fazemos temos diversas sintaxes, no entanto podemos destacar algumas opções interessantes:

  • Tabela e coluna: inclui uma opção de estatísticas por coluna, informação de contagem, valores distintos, nulos, máximo, mínimo, …
  • Coluna: ver dados da coluna, utiliza a função DISTINCTpara devolver os resultados
  • Medidas:
    • EVALUATE devolve apenas o valor da medida selecionada.
    • DEFINE and EVALUATE define a medida e devolve o resultado da mesma
    • DEFINE with references and EVALUATE define a medida, mas inclui as definições de todas as medidas das quais a nossa medida depende, como podemos ver na imagem abaixo

Ao utilizarmos a opção DEFINE nas nossas medidas podemos fazer modificações às mesmas e abrimos a possibilidade de fazer alterações diretamente no nosso modelo, se alterarmos uma das nossas medidas anteriores podemos verificar essa opção:

Além de podermos rapidamente fazer um querie aos nossos dados e visualizar os nossos resultados destaco ainda:

  • Utilização de intelissense
  • Barra de tarefas com opções de Formatação, comentar / descomentar, procurar/substituir e comandos
  • Funções de informação (INFO) que nos permitem saber informação sobre o esquema do nosso modelo
  • Estas queries são guardadas no nosso PBIX
  • Máximo de 15MB ou 1.000.000 de valores por querie, significando que se fizermos uma querie com 20 colunas iremos receber o resultado de 50.000 linhas (1.000.000 / 20)

Existem também algumas limitações sendo que as mesmas estão sumarizadas na página da documentação.

Deixe um comentário