Ir para conteúdo
  • 0

Filtrar Datas


Rogério Novaes
Ir para solução Solucionado por Erick Oliveira ,

Pergunta

9 respostass a esta questão

Posts Recomendados

  • 0
  • Alunos
  • Solução

Bom dia Rogerio;
Seria isso?
let
    Today = DateTime.FixedLocalNow(),
    Fonte = List.Dates(#date(2022, 1, 1), Number.From(Date.EndOfMonth(Today)) - Number.From(#date(2022, 1, 1)), #duration(1, 0, 0, 0)),
    #"Convertido para Tabela" = Table.FromList(Fonte, Splitter.SplitByNothing(), null, null, ExtraValues.Error),
    #"Colunas Renomeadas" = Table.RenameColumns(#"Convertido para Tabela", {{"Column1", "Data"}}),
    #"Tipo Alterado" = Table.TransformColumnTypes(#"Colunas Renomeadas", {{"Data", type date}}),
    #"Adicionar Tipo" = Table.AddColumn(
        #"Tipo Alterado",
        "Tipo",
        each
            if Date.IsInCurrentMonth([Data]) then
                "Mês atual"
            else "",
        type text
    ),
    #"Linhas Filtradas" = Table.SelectRows(#"Adicionar Tipo", each ([Tipo] = "Mês atual"))
in
    #"Linhas Filtradas"

Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos

Bom dia Rogério;

Adicionei uma coluna de "Tipo" na tabela calendário com esses filtros que você precisa. Segue abaixo o código em M, basta joga-lo em uma consulta nula.

let
    Today = DateTime.FixedLocalNow(),
    Fonte = List.Dates(#date(2022, 1, 1), Number.From(Today) - Number.From(#date(2022, 1, 1)), #duration(1, 0, 0, 0)),
    #"Convertido para Tabela" = Table.FromList(Fonte, Splitter.SplitByNothing(), null, null, ExtraValues.Error),
    #"Colunas Renomeadas" = Table.RenameColumns(#"Convertido para Tabela", {{"Column1", "Data"}}),
    #"Tipo Alterado" = Table.TransformColumnTypes(#"Colunas Renomeadas", {{"Data", type date}}),
    #"Adicionar Tipo" = Table.AddColumn(
        #"Tipo Alterado",
        "Tipo",
        each
            if [Data] = DateTime.Date(Today) then
                "Hoje"
            else if [Data] = Date.AddDays(DateTime.Date(Today), -1) then
                "Ontem"
            else if Date.Month([Data]) = Date.Month(Today) then
                "Mês atual"
            else if Date.Month([Data]) = Date.Month(Date.AddMonths(Today, -1)) then
                "Mês Anterior"
            else if Date.Year([Data]) = Date.Year(Today) then
                "Ano Atual"
            else if Date.Year([Data]) = Date.Year(Date.AddYears(Today, -1)) then
                "Ano Anterior"
            else
                "Mais de 1 ano",
        type text
    )
in
    #"Adicionar Tipo"

 

Filtrar Datas.pbix

Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos
27 minutos atrás, Erick Oliveira disse:

Bom dia Rogério;

Adicionei uma coluna de "Tipo" na tabela calendário com esses filtros que você precisa. Segue abaixo o código em M, basta joga-lo em uma consulta nula.

let
    Today = DateTime.FixedLocalNow(),
    Fonte = List.Dates(#date(2022, 1, 1), Number.From(Today) - Number.From(#date(2022, 1, 1)), #duration(1, 0, 0, 0)),
    #"Convertido para Tabela" = Table.FromList(Fonte, Splitter.SplitByNothing(), null, null, ExtraValues.Error),
    #"Colunas Renomeadas" = Table.RenameColumns(#"Convertido para Tabela", {{"Column1", "Data"}}),
    #"Tipo Alterado" = Table.TransformColumnTypes(#"Colunas Renomeadas", {{"Data", type date}}),
    #"Adicionar Tipo" = Table.AddColumn(
        #"Tipo Alterado",
        "Tipo",
        each
            if [Data] = DateTime.Date(Today) then
                "Hoje"
            else if [Data] = Date.AddDays(DateTime.Date(Today), -1) then
                "Ontem"
            else if Date.Month([Data]) = Date.Month(Today) then
                "Mês atual"
            else if Date.Month([Data]) = Date.Month(Date.AddMonths(Today, -1)) then
                "Mês Anterior"
            else if Date.Year([Data]) = Date.Year(Today) then
                "Ano Atual"
            else if Date.Year([Data]) = Date.Year(Date.AddYears(Today, -1)) then
                "Ano Anterior"
            else
                "Mais de 1 ano",
        type text
    )
in
    #"Adicionar Tipo"

 

Filtrar Datas.pbix 44.25 kB · 0 downloads

Quando seleciono o mês atual esta filtrando o março de 2022 e março de 2023.

image.png.7d882d6b0c076cfd6be2f7dc07467d71.png

Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos

Opa Rogerio;

let
    Today = DateTime.FixedLocalNow(),
    Fonte = List.Dates(#date(2022, 1, 1), Number.From(Today) - Number.From(#date(2022, 1, 1)), #duration(1, 0, 0, 0)),
    #"Convertido para Tabela" = Table.FromList(Fonte, Splitter.SplitByNothing(), null, null, ExtraValues.Error),
    #"Colunas Renomeadas" = Table.RenameColumns(#"Convertido para Tabela", {{"Column1", "Data"}}),
    #"Tipo Alterado" = Table.TransformColumnTypes(#"Colunas Renomeadas", {{"Data", type date}}),
    #"Adicionar Tipo" = Table.AddColumn(
        #"Tipo Alterado",
        "Tipo",
        each
            if Date.IsInCurrentDay([Data]) then
                "Hoje"
            else if Date.IsInPreviousDay([Data]) then
                "Ontem"
            else if Date.IsInCurrentMonth([Data]) then
                "Mês atual"
            else if Date.IsInPreviousMonth([Data]) then
                "Mês Anterior"
            else if Date.IsInCurrentYear([Data]) then
                "Ano Atual"
            else if Date.IsInPreviousYear([Data]) then
                "Ano Anterior"
            else
                "Mais de 1 ano",
        type text
    )
in
    #"Adicionar Tipo"

Perdão, segue o código revisado.

Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos
14 minutos atrás, Erick Oliveira disse:

Opa Rogerio;

let
    Today = DateTime.FixedLocalNow(),
    Fonte = List.Dates(#date(2022, 1, 1), Number.From(Today) - Number.From(#date(2022, 1, 1)), #duration(1, 0, 0, 0)),
    #"Convertido para Tabela" = Table.FromList(Fonte, Splitter.SplitByNothing(), null, null, ExtraValues.Error),
    #"Colunas Renomeadas" = Table.RenameColumns(#"Convertido para Tabela", {{"Column1", "Data"}}),
    #"Tipo Alterado" = Table.TransformColumnTypes(#"Colunas Renomeadas", {{"Data", type date}}),
    #"Adicionar Tipo" = Table.AddColumn(
        #"Tipo Alterado",
        "Tipo",
        each
            if Date.IsInCurrentDay([Data]) then
                "Hoje"
            else if Date.IsInPreviousDay([Data]) then
                "Ontem"
            else if Date.IsInCurrentMonth([Data]) then
                "Mês atual"
            else if Date.IsInPreviousMonth([Data]) then
                "Mês Anterior"
            else if Date.IsInCurrentYear([Data]) then
                "Ano Atual"
            else if Date.IsInPreviousYear([Data]) then
                "Ano Anterior"
            else
                "Mais de 1 ano",
        type text
    )
in
    #"Adicionar Tipo"

Perdão, segue o código revisado.

Esta filtrando o mês atual agora, mas quando filtra não traz a data de ontem e nem de hoje. Esta trazendo a data até o dia 14/03/2023

image.png.285f6bce3a25430023b7f04463b0e56b.png

Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos
Agora, Rogério Novaes disse:

Esta filtrando o mês atual agora, mas quando filtra não traz a data de ontem e nem de hoje. Esta trazendo a data até o dia 14/03/2023

image.png.285f6bce3a25430023b7f04463b0e56b.png

No ano atual também esta acontecendo, esta trazendo somente o mês de janeiro, as data precisariam se repetir, pois os filtros ano atual, mês atual etc... utilizam as mesmas datas.

Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos
20 horas atrás, Erick Oliveira disse:

Entendi Rogério;

Nesse caso sugiro outra abordagem utilizando uma hierarquia.

Segue em anexo.

Filtrar Datas.pbix 49.47 kB · 1 download

Bom dia!

Consegue me ajudar?

Consegui fazer de outra forma, criei uma tabela para cada tipo de filtro e depois combinei as tabelas em uma só, porém precisava que a tabela de mês atual trouxesse todos os dias do mês, ou seja, até o ultimo dia do mês, pois o comando atual está trazendo somente até o dia atual, segue abaixo o comando que preciso alterar para trazer o mês atual inteiro:

let
    Today = DateTime.FixedLocalNow(),
    Fonte = List.Dates(#date(2022, 1, 1), Number.From(Today) - Number.From(#date(2022, 1, 1)), #duration(1, 0, 0, 0)),
    #"Convertido para Tabela" = Table.FromList(Fonte, Splitter.SplitByNothing(), null, null, ExtraValues.Error),
    #"Colunas Renomeadas" = Table.RenameColumns(#"Convertido para Tabela", {{"Column1", "Data"}}),
    #"Tipo Alterado" = Table.TransformColumnTypes(#"Colunas Renomeadas", {{"Data", type date}}),
    #"Adicionar Tipo" = Table.AddColumn(
        #"Tipo Alterado",
        "Tipo",
        each
            if Date.IsInCurrentMonth([Data]) then
                "Mês atual"
            else "",
        type text
    ),
    #"Linhas Filtradas" = Table.SelectRows(#"Adicionar Tipo", each ([Tipo] = "Mês atual"))
in
    #"Linhas Filtradas"

Link para o comentário
Compartilhar em outros sites

Faça login para comentar

Você vai ser capaz de deixar um comentário após fazer o login



Entrar Agora
×
×
  • Criar Novo...