Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

Filtro de Data

Eu estou tentando fazer aqui um filtro de CAIXA DE ENTRADA de data inicial até data final. as 2 maneiras que eu pesquisei deu certo . Só que na hora de selecionar as datas, ele buscar uma data antes da data final .

ex.:  25/06/2016 a 10/07/2016 (pesquisa)

       25/06/2016 a 09/07/2016 (resultado)

não consigo achar uma maneira de trazer certo.

Alguém já teve este problema?

1 Solution

Accepted Solutions
afurtado
Partner Ambassador/MVP
Partner Ambassador/MVP

Eduardo

LET vMesFinal = Date(   FLOOR(   Date(MonthEnd(Today()))+180   )   );

e na carga

Calendário:

  LOAD

  date( FLOOR([Data])  )    as Data,

furtado@farolbi.com.br

View solution in original post

7 Replies
afurtado
Partner Ambassador/MVP
Partner Ambassador/MVP

Eduardo,

você não colocou como esta fazendo, mas não pode ser

<=10/07/2016

e mostrar o 09/07/2016

por causa do datetime?     Quem sabe a data que esta mostrando 10/07/2016 se colocar como numero não mostra

42561.053265 por exemplo?

Podes fazer um teste e colocar como numero para ver se nao aparece decimais?  Se sim, dar um floor() na carga.....

furtado@farolbi.com.br
Not applicable
Author

Usei no botão selecionar no Calendário.Data

a expressão :

='>=$(vDataInicio)<=$(vDataFim)'

afurtado
Partner Ambassador/MVP
Partner Ambassador/MVP

Eduardo,

na criação da variável vDataFim   faz um teste e usa um floor()

date(floor(Data))

Tenho a impressão que pode ser isto

furtado@farolbi.com.br
Not applicable
Author

Não entendi , eu criei a variável vazia para atribuir na hora.

E quando busco o botão , ele usa a função SELECIONAR NO CAMPO : Calendário.Data

Para pegar a expressão : ='>=$(vDataInicio)<=$(vDataFim)'

Eu trabalho com um calendário, engraçado que só não da certo a data final.

Sem título.png

Como te envio o qvd do calendário para dar uma olhada? não achei aonde anexar aqui ..

Not applicable
Author

Segue o código do meu calendário .

LET vMesInicial = Date('01/01/2016');

LET vMesFinal = Date(Date(MonthEnd(Today()))+180);

Calendário:

  LOAD

  [Data] as Data,

  Day(Data) as Dia,

  Month(Data) as Mês,

  Year(Data) as Ano,

  DayNumberOfQuarter(Data) as [Dia Trimestre],

  DayNumberOfYear(Data) as [Dia Ano],

  MonthName(Data) as [Mes Ano],

  QuarterName(Data) as [Quarter],

  Week(Data) as [Semana],

  ceil(Month(Data)/3)&'º Trim' as [Trimestre],

  WeekDay(Data) as [Dia Semana],

  Year(Data) & NUM(Month(Data),00) & NUM(Day(Data),00) as %IdCalendario,

  Year(Data) & num(Month(Data),00) as %IdAnoMesC;

  LOAD

    Date(Date(Date(MonthEnd(Today()))+180)- Recno() + 1,'DD/MM/YYYY') as [Data]

    AUTOGENERATE(vMesFinal-vMesInicial+1);

afurtado
Partner Ambassador/MVP
Partner Ambassador/MVP

Eduardo

LET vMesFinal = Date(   FLOOR(   Date(MonthEnd(Today()))+180   )   );

e na carga

Calendário:

  LOAD

  date( FLOOR([Data])  )    as Data,

furtado@farolbi.com.br
Not applicable
Author

Muito Obrigado Alessandro,

Deu certo essa última opção.

Declarei como FLOOR no meu Transform e busquei novamente o qvd no meu Painel.