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

Pegar ultimos 5 dias úteis apartir de um dia selecionado

Bom dia Pessoal...

Preciso informar na consulta valores dos últimos 5 dias úteis a partir do que eu selecionei...

No calendário abaixo eu selecionei o dia 3/Fev/2015:

Só que na consulta eu que apareça os 5 últimos dias a partir deste selecionado...

EX: COLUNA1   |    28/01/2015   |    29/01/2015   |    30/01/2015   |    02/02/2015    |    03/02/2015     |   Total

Hoje ele só traz o dia selecionado que é o 03/02/2014... existe alguma formula aonde eu posso buscar as datas que preciso?

1 Solution

Accepted Solutions
nicolett_yuri

Sua sintaxe esta um pouco errada, por exemplo: Faltou utilizar aspas dentro dessa expressão do set analysis.

Segue um exemplo

View solution in original post

14 Replies
Not applicable
Author

cria uma variavel:

Date(AddMonths(Campo_De_Data_Completo) -5, 'DD/MM/YYYY')


Expressão

Count ( {< Campo_DATA ={>= Varivavel  <= DataAtua} }> campo)

ou pode fazer isso dinamicamente na dimensão de calendario

Anonymous
Not applicable
Author

Fiz isso, mais continua me retornando valor nulo na variável...

Se eu selecionar a data de hoje tenho que retornar 30/01 que era sexta feira...

nicolett_yuri

Jean, para isso você deve utilizar a função FirstWordDate, por exemplo:

FirstWorkDate(DATA, 5) = Vai te retornar a data útil contando 5 dias atrás.

nicolett_yuri

Caso você precisa ignorar feriados, o terceiro parâmetro da função são os feriados, por exemplo:

FirstWorkDate(DATA, 5, '01/01/2015') //Considerando 01/01/2015 como um dia não útil.


Caso tenha essas informações de feriados em uma tabela, basta transformar essas datas e uma lista concatenando os valores pelo delimitador virgula, segue um exemplo:


Feriados:

LOAD

  CONCAT(DISTINCT Chr(39) & Date(DATA, 'DD/MM/YYYY') & Chr(39), ',') as FERIADO

FROM FERIADOS.qvd (qvd);

LET vFeriados = Peek('FERIADO', 0);


FirstWorkDate(DATA, 5, '$(vFeriados)')

Anonymous
Not applicable
Author

Trouxe a data certinho...

Agora como eu posso fazer para exibir os dados dos outros dias se eu estou selecionando 1?

assim selecionando o dia 3 aparece só dados do dia 3, mais gostaria de trazer os do dia 28, 29, 30, 1, 2 e 3 que possuem dados...

Seria uma expressão calculada? alguma formula especifica?

nicolett_yuri

Coloca o valor da data filtrada e da data calculada dentro das variáveis e na expressão utilize o set analysis para compor o intervalo, desta forma, mesmo o usuário selecionando um dia, na dimensão serão exibidos os dias dentro do intervalo.

Count ( {< Campo_DATA ={>=$(v5DiasUteis)  <=$(vDataSelecionada)} }> campo)

Anonymous
Not applicable
Author

Porque dá esse erro? faltou algo?

nicolett_yuri

Sua sintaxe esta um pouco errada, por exemplo: Faltou utilizar aspas dentro dessa expressão do set analysis.

Segue um exemplo

Anonymous
Not applicable
Author

Obrigado pelo exemplo Yuri...

Eu ainda não estou conseguindo trazer os valores corretos...

Posso ter a data que esta no calendário na mesma tabela da data aonde terei os 5 dias?


Código:

Minha expressão está assim:

Na dimensão utilizo a mesma variável:

Como me retorna: