Olá, pessoal!
Hoje decidi abordar uma ferramenta que vejo ter pouco conteúdo em português, até por se tratar de algo que é bem delicado quando falamos em usabilidade. A ferramenta da vez é o Tabular Editor!
O Tabular Editor é uma ferramenta criada pelos Mestres do SQLBI (se você não os conhece, trate de conhecer, eles transbordam conhecimento) para permitir o acesso ao modelo tabular do Power BI mesmo sem estar usando o Analysis Services. O link para download está aqui.
Antes de começarmos, é importante salientar que essa é a versão gratuita (v2) e ela contém alguns bugs, portanto é sempre uma boa prática salvar um backup do seu arquivo.
Chega de conversa e vamos ao uso de ferramenta em uso caso prático:

Imagine que você possua os dois gráficos acima e queira fazer melhor aproveitamento do seu espaço em tela, reduzindo para 1 gráfico apenas, porém com a opção de ver percentualmente ou numericamente. Normalmente quando passamos por esse cenário uma das primeiras coisas que vem em mente são:
- Usar bookmarks, que atenderiam o requisito, porém convenhamos, é muito chato dar manutenção em painéis com inúmeros bookmarks.
- Com DAX, usar do SWITCH combinado com a função FORMAT – porém isso transformaria todos os números em texto, o que mataria a proporcionalidade do gráfico.
Para não passar sufoco com nenhuma das opções acima, vamos fazer uso de Calculation Groups (grupos de cálculo), com o uso do Tabular Editor. Após instalada a ferramenta, você irá encontrá-la aqui:

Após abrir a visão será assim:

Para darmos início ao uso de ferramenta, é interessante ressaltar que uma vez aberto pelo Power BI, o Tabular Editor já está conectado ao seu modelo, refletindo assim todos os relacionamentos, tabelas e medidas na ferramenta. A parte que nos interessa são as tabelas:

No caso do meu modelo, já possuo algumas medidas, mas o que importa aqui é apenas a de [Margem] [Margem %] . Para criar o Grupo de Cálculo, é só clicar com direito em cima de Tables, depois Create New e Calculation Group, conforme abaixo:

Após cria-lo, renomeias para Grupo de Calculo. Em seguida, clique com direito em cima do grupo de cálculo criado e crie dois Calculation Item (item de cálculo) e renomeia para [Margem] e [Margem %] respectivamente, conforme abaixo:


Após os dois Calculation Item estarem criados, vamos a uma das partes mais importantes, a criação de uma medida fictícia. Para isso clique com botão direito novamente sobre o Grupo de cálculo e dessa vez escolha a opção Measure, renomeia ela para [Margem Grupo de Calculo].

O resultado que você terá no final será isso:

Com a estrutura pronta, vamos para a parte prática que envolve DAX. Clique sobre o Calculation Item de [Margem], escolha a opção Expression e coloque a fórmula exatamente como a da imagem a seguir.

Talvez você esteja estranhando essas fórmulas, pois não são comumente usadas. Basicamente o que estamos escrevendo ali é que esse Calculation Item só será aplicado quando estivermos exibindo a medida [Margem Grupo de Calculo] em algum visual do Power BI. Esse passo é de extrema importância, pois caso não delimitarmos onde o Calculation Item irá atuar, ele acabará afetando todo seu painel, até mesmo visuais não desejados. No caso da lógica ser falsa, ele simplesmente irá retornar o SELECTEDMEASURE(), ou seja, as próprias medidas exibidas no seu painel.
O próximo passo é construir uma lógica semelhante para a formatação desse mesmo Calculation Item. Para isso iremos na propriedade “Format String Expression”

Esse passo segue o mesmo princípio do anterior, porém considero ainda mais importante, pois é ele que garante que ao clicar em um gráfico que esteja exibindo a medida [Margem Grupo de Calculo] não aplique a mesma formatação nos outros visuais da página. Por se tratar de um valor numérico, usamos a formatação “#,0.00”. Isso fará com que a [Margem Grupo de Calculo] passe a ter uma máscara de formatação sobre o valor exibido em tela. No caso da lógica ser falsa, agora usamos o SELECTEDMEASUREFORMATSTRING() ao invés do SELECTEDMEASURE(), pois agora estamos falando de formatação. Iremos repetir os mesmos passos para o Calculation Item de [Margem %], apenas mudando a medida e o “Format String Expression”


Por fim, na Measure [Margem Grupo de Calculo], digite o valor 1 para medida. Esse valor é apenas parece que a medida seja valida, poderia ser qualquer outro número dentro da barra de fórmula.

Com nossos dois Calculation Items e nossa Measure [Margem Grupo de Calculo] criados, podemos clicar no disquete para salvar as alterações no modelo e voltar ao Power BI.

Voltando ao Power BI, você verá essa mensagem de Refresh Now, a mesma quando fechamos o Power Query sem salvar. Clique.

Por fim, basta montar o visual usando os novos recursos gerados dessas transformações:

Espero que tenham gostado do assunto, em breve pretendo trazer mais casos e detalhes do uso da ferramenta. Se gostaram e puderem deixar um like na postagem do Linkedin, ficarei feliz 🙂
Se desejarem que essa informação seja transmitida em formato de vídeo, me avisem!