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
  • Membros
  • 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
  • Membros

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
  • Membros
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
  • Membros

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
  • Membros
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
  • Membros
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
  • Membros
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

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • Criar Novo...