Pular para o conteúdo principal

PBI Pilot – Teste grátis sem custos um assistente de IA para o seu Power BI

Power BI - Colocando sua dCalendario em "Ordem"




Power BI - Colocando sua dCalendario em "Ordem"


Olá Princesas e Princesos.

Hoje iremos brincar, novamente, com dCalendario.

É um assunto legal, uma estrutura praticamente obrigatória, então vamos explora-la ainda mais.

Se você já entende o conceito de ordenar as linhas da coluna da dCalendário de forma a ficar sempre tudo na ORDEM crescente ou DECRESCENTE de Datas, Meses, Anos, Semanas, e etc esse artigo pode ser um tanto quanto boring pra você, então aconselho a procurar outro meio de vida.

MAS ANTES... adivinhem?

Não tá inscrito no canal se inscreve lá www.youtube.com/rafaelmendonca

Exemplo 1 - Ordenando coluna de Nome do Mês.


Uma das colunas que costumamos criar na dCalendario é a Mês Nome (janeiro, fevereiro, março...)

Por padrão a ordenação de uma coluna sempre é ela mesmo, ou seja numa coluna com dados de texto a ordenação vai ser alfabética, e seus meses serão ordenados da seguinte forma:

abril, agosto, dezembro, fevereiro, janeiro, julho, junho, maio, março, novembro, outubro, setembro.

Como vocês podem ver abaixo:


SOLUÇÃO!


A solução para essa situação é utilizar a Classificação por Outra Coluna,
que está disponível selecionando a sua coluna "Nome do Mês" e indo na guia Modelagem>Classificar Por Coluna.

Ele nos dá a opção de classificar por outras colunas que estejam na minha mesma tabela. E nessas horas o dedo coça pra escolher classificar por Data, mas isso não vai funcionar.


Precisamos entender o conceito de como funciona a "Classificação Por Coluna"

Para classificar por outra coluna é necessário que tanto a coluna a ser Classificada, quanto a coluna Classificadora, tenha para cada dado de uma APENAS um correspondente na outra.

Quando tentamos classificar "Nome do Mês" para cada mês existirão vários valores de datas diferentes, visto que em Janeiro vamos ter 01/01/2017, 02/01/2017, 03/01/2017 e por aí vai.

Para classificar corretamente precisamos ter uma nova coluna no nosso modelo que tenha valores únicos para cada valor individual em Nome do Mês.

A coluna que vai nos proporcionar isso é uma coluna de Mês mas em forma de numero (1, 2 ,3 ...)


Vamos incluí-la no Power Query Editor seleciona a Coluna Data e vai em Adicionar Colunas > Mês > Mês



E no power BI vamos então classificar Nome do Mês pela nova coluna criada Mês e teremos os dados na ordem certa agora.




Exemplo 2 - Replicando pra tudo!


Agora que você entendeu o conceito vamos tentar classificar outra coluna da minha dCalendario.

Eu gosto de sempre utilizar uma coluna Mês/Ano, para criar uma linha do tempo ao longo de vários anos com os meses ordenados.

Enquanto ela não está ordenada por padrão ela vai trazer a ordenação da seguinte forma:


Mostrar uma time line dessa forma seria absolutamente impossível, temos então que classificar por outra coluna. 

Se tentarmos classificar por uma das colunas que já existem na nossa dCalendario o Power BI ate vai permitir classificar por Ano ou por Mês, mas não vai nos trazer os dados ordenados da forma que precisamos.

Novamente vamos ter que recorrer a alguma coluna extra.

SOLUÇÃO!

Vamos lá no Power Query dar uma "Curiada" Seleciona a Coluna data e vai em Adicionar Coluna>Data>Mês e vamos ver quais opções temos.

Lá teremos Mês, Início do Mês, Fim do Mês, Dias do Mês e Nome do Mês.

A primeira e a ultima vamos descartar porque já temos no nosso modelo e não foram suficientes.

Vamos por a cabeça pra pensar, se eu tenho valores de Mês/Ano na minha coluna que nova coluna me traria um dado que sempre que for Janeiro/2017 terá apenas um valor único dentro das opções que verificamos?

To sentindo daqui o cheirinho de cérebro fritando...

Se eu adicionar então uma coluna dias do mês vai servir?

Dia do mês vai me trazer os seguinte dado quando for Janeiro/2017 vai trazer 31, quando For Março de 2017 também vai trazer 31, então não me serve.

Restaram duas e ambas são as soluções viáveis para nosso problema, Inicio do Mês ou Fim do Mês.

Vamos escolher Início do Mês e você verá que sempre que aparecer Janeiro/2017 em Mês/Ano teremos como correspondente nessa nova coluna 01/01/2017, em Fevereiro/2017 teremos 01/02/2017 e por aí vai.




Vamos Fechar e Aplicar e agora classificar "Mês/Ano" pela nova coluna "Início do Mês"

E foi... Temos então nossa colunas "Mês/Ano" na ordem que desejávamos.

Agora você pode aplicar isso a qualquer coluna da sua dCalendário, só usar um pouquinho esse negócio que tem dentro da cabeça e pensar que coluna pode ordenar outra coluna de forma satisfatória.

Dica... explore todas as opções de adicionar colunas Data no power query.

Grande abraço e até a próxima.

Comentários

  1. Muito legal sua explanação, eu consigo " me virar" inserindo uma coluna com um contador de mes....
    Valeu. Parabéns.

    ResponderExcluir
  2. Excelente! Estava quebrando a cabeça com esse impasse e os outros artigos traziam soluções mais complicadas e que não geravam resultado. Muito obrigado!

    ResponderExcluir
  3. MUITO OBRIGADO !!!!! Passei muita raiva procurando este conteúdo !

    ResponderExcluir
  4. Não deu certo, o meu fala que possui mais de um valor para cada mês/ano

    ResponderExcluir
  5. Eu não consigo colocar mês e ano decrescente. Tem como em matriz?

    ResponderExcluir
  6. Estou há mais de 1 hora pesquisando como ordenar coluna numa matriz e não encontrei nada... Será que é impossível fazer isso no Power BI? Me recuso a acreditar nisso...

    ResponderExcluir
  7. Top demais Rafael, muito obrigada por compartilhar o conhecimento!

    ResponderExcluir
  8. Nossa isso foi sensacional!!! Valeu d+

    ResponderExcluir

Postar um comentário

Postagens mais visitadas deste blog

“Traduzindo” formulas do Excel para DAX.

Como utilizar algumas formulas bem conhecidas no EXCEL em DAX Olá moçada tudo bem? Todos sabemos que muitos dos usuários de Excel tem dificuldade de migrar ou utilizar o Power BI, muito pela dificuldade de entender a forma de calcular do DAX e os contextos de linha e de filtro, bem como por já estar acostumado com as formulas no Excel, chegando a procurar um SOMASE (SUMIF) quando quer escrever uma nova medida em DAX (eu fiz isso). Queria então conversar hoje com esse público e te mostrar como traduzir o que você pensa em EXCEL para DAX. Iremos brincar então com as seguintes formulas em Excel (versão português). Somase, Somases, Procv, Cont.se, Cont.ses, Pgto, Concat, Texto, Esquerda, Direita e Seerro. Utilizaremos para nosso exemplo o modelo de dados abaixo (Power BI e Excel) Nossos objetivos serão: - Encontrar o total de Compras para veículos novos (ano de venda igual a 2018). - Encontrar o total de Compras para veículos novos e com va...

Como usar o Web.Contents do Power Query: guia completo

Como usar o Web.Contents do Power Query para acessar dados online O Power Query é uma ferramenta poderosa para obter, transformar e analisar dados de diferentes fontes. Uma dessas fontes é a web, que contém uma grande variedade de dados online que podem ser úteis para os seus projetos. Para acessar dados online a partir de uma URL, você pode usar a função Web.Contents do Power Query. Essa função retorna o conteúdo binário baixado da URL especificada e permite que você use opções adicionais para personalizar a sua consulta. Neste artigo, vamos mostrar como usar o Web.Contents para obter dados de diferentes tipos de arquivos online, como CSV, Excel ou JSON. Também vamos discutir as vantagens e desvantagens dessa função em comparação com outras funções do Power Query. O que é o Web.Contents? O Web.Contents é uma função do Power Query que permite acessar dados online a partir de uma URL. Você pode usar essa função para obter dados de diferentes fontes da web, como arquivos CSV, Excel, JSON...

Power BI - Atualização Incremental de Qualquer Tipo de Fonte de Dados!!!!

Sim eu não enlouqueci, na técnica que vamos apresentar que foi criada pelo Dustin Ryan aqui nesse artigo  https://sqldusty.com/2020/05/20/power-bi-incremental-refresh-with-web-api-data-source/  e também demonstrada pelo Gilbert da Fourmoo (adoro o símbolo da empresa kakakkaka) aqui nesse outro excelente artigo  https://www.fourmoo.com/2020/06/10/how-you-can-incrementally-refresh-any-power-bi-data-source-this-example-is-a-csv-file/  , permite que você faça atualização incremental para qualquer FUCKIN tipo de fonte de dados e isso é sensacional. MASSSSSSS... eu fui um pouco além e decidi mudar uma coisinha que pode fazer uma ENORME diferença, nos artigos citados acima é utilizada uma fonte do SQL Server (que claro poderia ser um Oracle, ou qualquer fonte que utilize query folding) já que QueryFolding é uma premissa necessária para a utilização da Atualização Incremental, como eu já falei pra vocês nesse vídeo aqui no canal Planilheiros Brasil e aconselho que veja esse...