Posts

Sabia que podemos ordenar de forma customizada linhas e colunas no Power BI? Desse modo você poderá personalizar a ordem que as dimensões que serão exibidas nos gráficos e tabelas! Para não depender apenas da ordenação dos máximos ou mínimos de uma medida ou da posição de uma letra na ordem alfabética.

Neste artigo, iremos lhe mostrar alguns modos práticos para realizar esta tarefa!

Criando tabelas auxiliares para as medidas

Para ordenar de forma customizada linhas e colunas , começamos construindo tabelas auxiliares. Podemos seguir de quatro maneiras simples :

  • Criação de uma tabela auxiliar no excel com uma coluna com o nome (ou código do produto) e outra coluna com a posição que o produto deve aparecer;

Tabela excel - Ordenar valores de forma customizada

 

  • Adição de uma Coluna Condicional, relacionando uma expressão específica a um número. Os números devem estar relacionado com a ordem que você quer customizar a exibição das linhas e colunas . Para uma abordagem mais completa sobre Coluna Condicional veja o artigo Como criar coluna condicional no power-bi.

Ordenar coluna condicional

 

  • Adição de uma coluna de índice caso a ordem da coluna produto já estiver na ordem de exibição.

Tabela com índice

 

  1. Selecione a coluna de Data ->  Adicionar Coluna -> Data -> Mês -> Mês)

Tabela Calendario

 

  1. 2-  Posteriormente, através desta mesma funcionalidade, você pode adicionar o ano, nome do mês, o trimestre, o dia e etc

Tabela Calendario 2

Não se esqueça de NOMEAR AS COLUNAS e CLASSIFICAR AS COLUNAS DE ACORDO COM O TIPO DE DADO CORRETAMENTE!

 

Em seguida, faça as conexões entre as tabelas dimensão e tabela fato.

Conexoes

 

 

Ordenar de forma customizada linhas e colunas

Após passar por esse processo de transformação, você está pronto para modificar seus visuais.

Selecione a dimensão escolhida para utilizar no gráfico ou tabela. Por fim, após selecionar a dimensão, uma aba chamada “Ferramenta de Coluna” será habilitada e em seguida clique em:

  1. Selecione a coluna/dimensão a ser ordenada -> Ferramenta de coluna -> Classificar por coluna  -> Selecione a coluna com a ordem numérica

Ordenando Colunas

 

Pronto! Note que a cada classificação de coluna, as medidas irão retornar, no gráfico ou trabela,  com a ordem designada! Desse modo, você conseguirá customizar a visualização de seus produtos/dados de acordo com sua importância.

Ordendanto tabelas e graficos

E aí, foi fácil de ordenar de forma customizada linhas e colunas no Power BI?

Caso não entenda algum ponto dele entre em contato conosco pelos comentários abaixo ou pelo nosso e-mail falecom@uaismart.com.

Compartilhe!

Ao montar um relatório, já foi questionado se poderia disponibilizar um dashboard com contagem regressiva de dias úteis do mês? Ou já precisou automatizar essa variação de dias para rastrear a evolução da meta?

Com os passos rápidos que iremos lhe disponibilizar neste post esperamos ajudá-lo com esta necessidade, deixando o seu relatório dinâmico!

 

Requisitos para iniciar a criação da tabela calendário

Inicialmente é necessário criar sua tabela calendário, seja ela do modo automático (CALENDARAUTO), com data pré-definidas (CALENDAR) ou através da Linguagem M (Consulta Nula no Power Pivot). Se precisar de ajuda, clique nos links de cada tipo de calendário para te ajudar!

Primeiro crie uma tabela auxiliar com as datas de feriado da sua região. Pode-se realizar através de uma tabela do EXCEL ou utilizando o API disponibilizado pelo site www.calendario.com.br. Para acessar diretamente as informações no Power BI, você pode utilizar estes dois posts como complemento sobre WEBSCRAPING. A informação do código IBGE do município está disponível neste XLSX.

Em nosso exemplo utilizaremos um calendário criado através do Power Pivot, utilizando a linguagem M e utilizaremos um repositório em .XLSX com as datas dos feriados de Belo Horizonte em 2020. É tudo o que você precisará para construir uma contagem regressiva de dias úteis em calendário no Power BI.

 

Construindo a tabela calendário

 

Primeiro precisamos preparar as tabelas bases para conseguirmos fazer a contagem regressiva de dias úteis do calendário no Power BI. Iniciaremos construindo nossa tabela de calendário com os dias úteis:

Obter Dados -> Consulta Nula -> insira a expressão abaixo (A data inicial [2020.1.1] e também a quantidade de anos (2) a ser retornado podem ser modificados de acordo com suas necessidades).

= List.Dates (#date(2020,1,1), 365 * 2, #duration(1,0,0,0))

OBS:  Dependendo do idioma do seu PBI, é possível que tenha que substituir a palavra FONTE, para isto, veja o nome da primeira etapa criada em ETAPAS APLICADAS em sua versão.

 

Criar Calendário no Power Query

Depois, converta a Lista Criada em Tabela.

Criar Calendário no Power Query 2

 

Em seguida, modifique a coluna para tipo DATA e insira as divisões de data conforme necessário. Para nosso caso, necessitamos inserir o Dia da Semana e o Nome do Dia:

  1. Adicionar Coluna -> Data -> Dia -> Dia da Semana
  2. Adicionar Coluna -> Data -> Dia -> Nome do Dia

 

Criar Dias no Calendário

 

Depois deste tratamento inicial do calendário, carregamos as informações de feriados do XLXS. Importe o repositório de feriados criados em XLSX em Nova Fonte.

 

Importar Calendário de Feriado

 

Faremos a combinação das Tabelas de Feriados e Calendário através da função Mesclar:

Mantenha-se na consulta do dCalendário -> Página Inicial -> Mesclar Consultas (1) -> Mesclar Consultas (2) -> Selecione a tabela de Feriados -> Clique sobre a Data da tabela Feriado -> OK

 

Mesclar consultas

Expandimos a consulta mesclada, selecionando apenas a coluna Feriado.

 

Expanção de Coluna de Consulta Mesclada

 

Inseriremos uma coluna condicional onde sábados, domingos e feriados são contabilizados como 0, enquanto os demais valores serão 1 (estes valores serão contabilizados para obter a quantidade de dias úteis). Para fazer a contagem regressiva de dias úteis continue seguindo os passos.

  1. Adicionar Coluna -> Coluna Condicional

Coluna Condicional

 

O passo seguinte é adicionar uma coluna personalizada com a data atual:

  1. Adicionar Coluna -> Coluna Personalizada -> Inserir a fórmula DateTime.LocalNow()

 

Data Atual Dinâmica

 

Segue as linhas de códigos utilizada no processo (Consulta Avançada):

let

    Fonte = List.Dates (#date(2020,1,1), 365 * 3, #duration(1,0,0,0)),

    #"Convertido para Tabela" = Table.FromList(Fonte, Splitter.SplitByNothing(), null, null, ExtraValues.Error),

    #"Tipo Alterado" = Table.TransformColumnTypes(#"Convertido para Tabela",{{"Column1", type date}}),

    #"Ano Inserido" = Table.AddColumn(#"Tipo Alterado", "Ano", each Date.Year([Column1]), Int64.Type),

    #"Colunas Removidas" = Table.RemoveColumns(#"Ano Inserido",{"Ano"}),

    #"Colunas Renomeadas" = Table.RenameColumns(#"Colunas Removidas",{{"Column1", "Data"}}),

    #"Dia da Semana Inserido" = Table.AddColumn(#"Colunas Renomeadas", "Dia da Semana", each Date.DayOfWeek([Data]), Int64.Type),

    #"Nome do Dia Inserido" = Table.AddColumn(#"Dia da Semana Inserido", "Nome do Dia", each Date.DayOfWeekName([Data]), type text),

    #"Consultas Mescladas" = Table.NestedJoin(#"Nome do Dia Inserido", {"Data"}, Tabela1, {"Data"}, "Tabela1", JoinKind.LeftOuter),

    #"Tabela1 Expandido1" = Table.ExpandTableColumn(#"Consultas Mescladas", "Tabela1", {"Feriado"}, {"Feriado"}),

    #"Coluna Condicional Adicionada" = Table.AddColumn(#"Tabela1 Expandido1", "Personalizar", each if ... then ... else ...),

    #"Colunas Removidas1" = Table.RemoveColumns(#"Coluna Condicional Adicionada",{"Personalizar", "Nome do Dia", "Feriado"}),

    #"Nome do Dia Inserido1" = Table.AddColumn(#"Colunas Removidas1", "Nome do Dia", each Date.DayOfWeekName([Data]), type text),

    #"Consultas Mescladas1" = Table.NestedJoin(#"Nome do Dia Inserido1", {"Data"}, Tabela1, {"Data"}, "Tabela1", JoinKind.LeftOuter),

    #"Tabela1 Expandido" = Table.ExpandTableColumn(#"Consultas Mescladas1", "Tabela1", {"Feriado"}, {"Feriado"}),

    #"Coluna Condicional Adicionada1" = Table.AddColumn(#"Tabela1 Expandido", "Dias Úteis", each if [Nome do Dia] = "sábado" then 0 else if [Nome do Dia] = "domingo" then 0 else if [Feriado] = 0 then 0 else 1),

    #"Personalização Adicionada" = Table.AddColumn(#"Coluna Condicional Adicionada1", "Hoje", each DateTime.LocalNow()),

    #"Tipo Alterado2" = Table.TransformColumnTypes(#"Personalização Adicionada",{{"Hoje", type date}, {"Dias Úteis", Int64.Type}})

in

    #"Tipo Alterado2"

 

Contagem regressiva de dias úteis no Power BI – Criando Medidas

Pronto, finalizamos o passo de tratamento dos dados. Clique em Aplicar e Fechar.

Agora podemos criar as medidas para realizar a contagem regressiva de dias úteis.

 

Para o total de dias úteis do mês, clique em Nova Medida:

Dias Úteis do mês = CALCULATE(TOTALMTD(SUM(dCalendario[Dias Úteis]),dCalendario[Data]))

 

Para calcular os dias úteis restante até o final do mês, utilizaremos:

Dias Úteis até final do mês = CALCULATE(SUM(dCalendario[Dias Úteis]),DATESBETWEEN(dCalendario[Data],TODAY(),EOMONTH(TODAY(),0)))-1

 

Calculando Dias úteis DAX

* Print tirado no dia 01.06.2020

 

Observar que no cálculo para Dias Úteis até Final do Mês não considera o dia de hoje como um dia útil, por isso o -1 após fechamento do CALCULATE.

E aí, foi simples fazer um calendário contando os dias úteis e ainda fazer uma contagem regressiva de dias úteis em calendário no Power BI?

Caso não entenda algum ponto dele entre em contato conosco pelos comentários abaixo ou pelo nosso e-mail falecom@uaismart.com.

Compartilhe!