Arquivo para Tag: Linguagem M

Você vai descobrir que é possível fazer praticamente tudo utilizando esta forma de adicionar colunas. Leia este artigo e aprenda a criar coluna condicional no Power BI através do Editor de Consultas. Este artigo também serve para quem quer fazer o mesmo no excel através do Power Query.

Se quer saber mais sobre o Power Query e a Linguagem M (a linguagem do Power Query) acesse este artigo: A LINGUAGEM DA POWER QUERY NO POWER BI.

Em muitos casos será necessário colocar expressões condicionais no seu modelo. A função IF, que faz isso na linguagem DAX, é uma função que considera linha a linha. Dependendo do tamanho do seu modelo, isso pode ser um problema. Pode causar muita utilização de memória e com isso deixar o processamento do relatório lento. Nestes casos é melhor fazer uma coluna condicional no Power BI usando o Power Query.

A opção de adicionar coluna condicional à primeira vista pode parecer um pouco limitada, mas mostraremos abaixo que é perfeitamente utilizável em cenários complexos também. Será útil em vários casos.

Para seguir todas as etapas e criar coluna condicional no Power BI com todas as possibilidades, faça o download da base que utilizamos como exemplo. Com isso você pode seguir as demonstrações abaixo da mesma forma como apresentamos a seguir.

 

Adicionando coluna condicional com Power Query

Na imagem abaixo temos a coluna com o número de filhos (Nro_Filhos). O que queremos neste primeiro exemplo é classificar as famílias, ou seja, dizer o tamanho da família conforme a quantidade de filhos. Vamos classificar como “Família Pequena” de 0 a 1 filho, como “Família Média” de 2 a 3 filhos e “Família Grande” acima de 3 filhos.

Tabela Clientes uaismart

Importe esta tabela para o Power BI ou Power Query do Excel através do Obter Dados. Seguiremos a partir de agora pelo Power BI, mas o processo no Power Query do excel é o mesmo.

Após os dados extraídos da base que disponibilizamos entre no Editor de Consultas. Então vá até a faixa de opções Adicionar Coluna e depois Coluna Condicional.

Adicionar coluna condicional no power bi

Após clicar em coluna condicional aparecerá a tela abaixo.

Criar coluna condicional no Power BI 2

Nesta tela, inicialmente, terá apenas uma linha para a regra, então clique em Adicionar Regra. No campo “Nome da nova coluna” coloque o nome para esta coluna. Nas linhas de regras escolha a coluna em “Nome da Coluna”, no caso será a coluna “Nro_Filhos”. Defina o restante das regras, Operador, Valor, Saída. Por fim o “Caso Contrário”, tudo conforme feito na imagem acima. Terminando tudo, clique em OK.

Vemos na criação da coluna condicional (figura acima) a seguinte lógica. Se “Nro_Filhos” for menor ou igual a 1 então “Pequena”. Senão se “Nro_Filhos” for menor ou igual a 1 então “Média”, caso contrário (se não atender nenhuma das regras) “Grande”.

Na hora de definir as regras e inserir os parâmetros enquanto cria a coluna condicional no Power BI, é possível fazer algumas escolhas. Além de Adicionar Regra conforme falado acima pode-se também escolher entre valores estáticos (Digite o valor), valores de uma coluna (Selecionar uma coluna) ou parâmetros previamente definidos. Veja isso na figura abaixo.

Adicionar Coluna Condicional Opções

É possível também excluir ou mudar a ordem das condições para cima ou para baixo.  Veja onde na figura abaixo.

Adicionar Coluna Condicional Mover

 

Mas como adicionar os operadores AND e OR?

Vimos até agora que criar uma coluna condicional com Power Query é bem simples. Mas você deve estar se perguntando como incluir as lógicas do AND ou OR nas condicionais? Muitas vezes a condições devem levar em conta mais de uma coluna ou mais e de uma situação. Nesses casos é necessário utilizar os operadores lógicos AND e OR.

No processo de criar uma coluna condicional no Power BI (excel também), temos três formas para considerar estes operadores.

Para demonstrar estas três formas vamos criar uma condicional que retorne um ”Título” baseado nas colunas “Estado Civil” e “Gênero”. Já existe esta coluna “Título”, mas está errada e faltando informações. No quadro abaixo está a lógica que iremos implementar.

Tabela com condições And e Or Power Query

Na base de dados não há o gênero “Outro”, mas vamos utilizá-lo na lógica. Com isso, se você precisar de algo neste sentido já está contemplado na explicação.

1ª Forma: Ordem das Condições

A ordem das condições tem impacto no resultado. Tenha isso em mente. É por isso que há a possibilidade de mover as condições para cima ou para baixo na lista.

Observe que numa operação condicional há três partes:

Se (Lógica) é verdadeiro, então (faça isso) caso contrário (faça aquilo)

Então pense o seguinte: a execução somente vai para a próxima condição, SOMENTE SE não atender a condição anterior. Seguindo esta forma de pensar, abaixo está a solução para a primeira forma.

Condições And e Or Ordem

A primeira e segunda condições são bem simples, apenas precisam levar em conta a coluna “Gênero”, pois não há necessidade de checar nada na coluna “Estado Civil” para chegar na conclusão. O grande truque está na terceira condição. Nesta há necessidade de checar o “Estado Civil”. Mas somente chegará nesta terceira regra se as duas primeiras não forem verdadeiras. Isso implica que somente chegará lá se o Gênero não for masculino ou outro.

A terceira condição será acionada somente se for feminino. Nesse momento é que precisará checar a coluna “Estado Civil”, se solteiro será Srta., caso contrário Sra.

Sabemos então como funciona o Se, o Senão se e o Caso contrário. Entendemos também que colocar as condições na ordem correta interferirá no resultado da condicional. Praticamente dá para usar esta forma em todos os casos. Basta mudar a forma de pensar, colocar as condições numa ordem lógica considerando o alcance de cada regra.

2ª Forma: Concatenando as colunas

Esta é uma forma mais simples para criar uma coluna condicional no Power BI considerando mais argumentos. Provavelmente é a mais usada neste tipo de caso. Nesta situação criamos uma coluna mesclando as colunas “Gênero” e “Estado Civil”. Abaixo o procedimento para adicionar coluna mesclando as duas colunas.

Condições And e Or concatenando

Assim utiliza esta nova coluna para definir as condições conforme abaixo.

Condições And e Or Concatenado

Nesta forma colocamos um passo a mais nas etapas do Power Query, que é a criação de uma nova coluna mesclada. Preferimos mais a primeira forma por utilizar mais a visão lógica e não ter que colocar uma etapa a mais. Mas por ser mais fácil pode ser a preferência da maioria.

 

3ª Forma: Utilizando a Linguagem M

Se você já tem mais familiaridade com o Power Query talvez já entenda um pouco mais das funções e fórmulas utilizando a Linguagem M. Essa é a linguagem do Power Query. As possibilidades utilizando esta forma de fazer serão bem maiores.

Para utilizar os operadores AND e OR com M basta clicar em Coluna Personalizada, na faixa de opções Adicionar Coluna. Feito isso escreva as linhas abaixo e teremos os mesmos resultados que as 2 formas anteriores, mas agora numa pegada de desenvolvedor e utilizando códigos.

Coluna Condicional no Power BI com M

Veja que utilizamos AND no exemplo, mas é possível utilizar o OR também. A Linguagem M é sensível a letras maiúsculas e minúsculas. Assim o AND ou OR devem ser escritos em minúsculos.

 

Pronto para criar coluna condicional no Power BI?

Criar coluna condicional no Power BI é uma ótima maneira implementar uma lógica linha a linha, mas sem o peso todo que uma coluna calculada ou uma medida que utiliza IF traz para o modelo.

Pela interface gráfica do Power Query dá para implementar praticamente todas as lógicas possíveis. Em algumas lógicas você terá que alterar a ordem de pensamento. Mas é só tentar pensar de uma forma diferente organizando a ordem das regras para chegar no resultado. Você pode também criar as lógicas utilizando a Linguagem M. Fica conforme for mais simples ou melhor para você.

Compartilhe este conteúdo nas suas redes sociais (utilize os botões abaixo) e ajude seus colegas a compreender melhor sobre o assunto. Ajude-nos também a espalhar bons conteúdos sobre o Power BI.

Tem dúvidas? Nos pergunte! Utilize a sessão de comentários deste artigo logo abaixo.

Até a próxima!

 

Referência: RADACAD

O Power Query é uma linguagem funcional. É baseada em linhas digitadas composta por funções diversas. São inúmeras as funções que estão disponíveis para serem usadas, mas não adianta nada ter tantas se não soubermos quais são. O código #shared serve para listar as funções do Power Query, na verdade todas elas.

Neste artigo será possível entender o quanto esta funcionalidade #shared é útil. Provavelmente na primeira vez que listar as funções do Power Query utilizando esta funcionalidade ficará de queixo caído.

Esta é uma dúvida de muitos que começam a trabalhar com Power Query e a sua Linguagem M. Para quem não sabe ainda o que é Linguagem M ou queira entender melhor leia este post (você não vai se arrepender): Linguagem M: A linguagem da Power Query no Power BI.

Com o método descrito abaixo conseguirão encontrar qualquer função de forma fácil, sem a necessidade de conexão à internet para isso. Assim não precisam de mais nada para listar as funções do Power Query, apenas aprender como usar o #shared.

 

Passo a passo para listar as funções do Power Query

A funcionalidade #shared carrega todas as funções e enumeradores existentes no Power Query em seus resultados. Para tal siga nosso passo a passo para criar uma tabela dentro do Power BI com a lista.

Abra o Power BI Desktop, vamos criar uma Consulta Nula. Assim vá em Obter Dados e escolha esta opção conforme figura abaixo. Clique em Conectar para finalizar a primeira etapa.

Listar as Funções do Power Query-

Após criar a Consulta Nula será aberto o Editor de Consultas e lá acesse o Editor Avançado.

Listar as Funções do Power Query-2

Aqui é o editor de códigos da linguagem da Power Query e onde se modifica qualquer código criado ou cria novos. Neste momento apague tudo que estiver escrito na tela e digite simplesmente #shared.

Listar as Funções do Power Query-3

Clique em Concluído.

Feito esta ação será carregada a lista de todas as funções e enumeradores do Power Query. Caso tenha outras consultas já criadas neste modelo de dados, aparecerá também na lista gerada. Veja que Consulta1 (que é a consulta que geramos neste exemplo com o código #shared a partir de um modelo de dados em branco) está na lista gerada.

O formato que esta consulta é gerada está em lista de registros, então é necessário expandir estes registros, transformando esta lista em uma tabela para ter acesso a todos os detalhes.

Convertendo lista em tabela

Na janela criada já aparece a opção para converter em Tabela, veja na figura abaixo.

Listar as Funções do Power Query-4

Feito estes passos, você acabou de listar as funções do Power Query. Neste formato de tabela é mais fácil procurar a função desejada.

Por exemplo, vamos procurar as funções de data que tratam mês (month). Após ter transformado a lista em tabela vá na lista dropdown do cabeçalho “Name” e digite “month” no campo Filtro de texto. Veja o procedimento na figura a seguir.

Listar as Funções do Power Query-5

Na tabela será filtrada  todas as funções com MONTH no nome.

Listar as Funções do Power Query-6

 

Documentação das Funções

A partir da consulta criada para listar as funções do Power Query, clicando em cada um dos links da coluna “Value” é possível checar a documentação de cada função. Esta documentação exibe os detalhes da aplicação, formato da linha de código, exemplos de saída dos resultados e mais de cada função.

Clicando no link que mencionamos aparecerá também uma caixa de diálogo para inserir os parâmetros da função. Fazendo isto você consegue simular a aplicação desta função na prática e ainda ver o código gerado.

Listar as Funções do Power Query-7

Nesta caixa de texto que aparece conforme acima digite uma data inicial bem como quantos meses quer que a função considere e verá o resultado da aplicação desta função.

Veja no exemplo abaixo tudo que esta documentação pode fornecer de informações.

Listar as Funções do Power Query-8

 

Enumeradores

Um dos resultados de listar as funções do Power Query utilizado o #shared são os enumeradores das funções. Estes são parâmetros que algumas funções utilizam para retornar um resultado esperado. Veja abaixo quais são os enumeradores para os dias da semana que devem ser considerados nas funções de dia.

Listar as Funções do Power Query-9

 

Conclusão

Com isto vocês podem ver o quanto a funcionalidade #shared é útil. Usando ela para listar as funções do Power Query temos acesso a todas as funções e por aqui podemos pesquisar e tirar qualquer dúvida em relação à estrutura, enumeradores e aplicações das mesmas.

Se você for igual a mim que não consegue lembrar de tantas coisas assim, está aí a solução. Nunca mais vai deixar de usar uma função útil do Power Query porque não se lembra. Proceda com os passos acima, gere a lista das funções e aproveite.

Compartilhe este conteúdo nas suas redes sociais (utilize os botões abaixo) e ajude seus colegas a compreender melhor sobre o assunto.

Tem dúvidas? Nos pergunte! Utilize a sessão de comentários deste artigo logo abaixo.

Até a próxima!