Skip to main content
Announcements
Join us at Qlik Connect for 3 magical days of learning, networking,and inspiration! REGISTER TODAY and save!
cancel
Showing results for 
Search instead for 
Did you mean: 
jejelipes
Enthusiast
Enthusiast

Filtrar Select iniciando sempre no segundo dia útil do mês

Olá,

 

Preciso fazer uma lógica para o primeiro dia do mês ser sempre o segundo dia útil desse mês..

 

Exemplo, esse mês 01/20120 precisaria que a variável vDataInicial fosse igual a '03/01/2020' e a vDataFinal igual a '01/02/2020'.

 

Preciso aplicar a função acima na regra abaixo, sabem me dizer como posso fazer?

LET vDataFinal = Date(DayStart(Today()));

If Match(vCargaTotal, 'N'then
    LET vDataInicial = Date(MonthStart(AddMonths('$(vDataFinal )', -3)));
Else
    LET vDataInicial = Date(MonthStart(AddMonths('$(vDataFinal )', -12)));
End If
3 Replies
marco_almeida
Creator II
Creator II

Eai blz?

Um jeito de resolver é fazer assim:

LET _PRIMEIRO_DIA = '01/01/2020';
LET _ULTIMO_DIA = MonthEnd(_PRIMEIRO_DIA);
LET _ULTIMO_DIA_UTIL = DayName(_ULTIMO_DIA, 1);
LET _FERIADOS = '01/01/2020';
SET _ITER = '$(_PRIMEIRO_DIA)' + IterNo() - 1;

CALENDARIO:
LOAD
	*
    , RowNo() as diaUtil
WHERE
	not (feriado
		or WildMatch(diaSemana, 'sáb', 'dom')
	)
;
LOAD
	*
    , IF(SubStringCount('$(_FERIADOS)', data)
    	, 1
        , 0
	) as feriado
    , WeekDay(data) as diaSemana
;
LOAD
	DayName($(_ITER)) as data
AutoGenerate 1
WHILE
	$(_ITER) <= '$(_ULTIMO_DIA)'
;

LET _PRIMEIRO_DIA_UTIL = Peek('data', 1, 'CALENDARIO');

TRACE _PRIMEIRO_DIA = $(_PRIMEIRO_DIA);
TRACE _ULTIMO_DIA = $(_ULTIMO_DIA);
TRACE _PRIMEIRO_DIA_UTIL = $(_PRIMEIRO_DIA_UTIL);
TRACE _ULTIMO_DIA_UTIL = $(_ULTIMO_DIA_UTIL);
Grupo Telegram Qlik Brasil: https://t.me/joinchat/AeRmnUmcxQ02L00g3x-HtQ
jejelipes
Enthusiast
Enthusiast
Author

Certo,

No caso de mais feriados... coloco nesse _FERIADOS separado por virgula?

Ex: LET _FERIADOS = '01/01/2020', '10/04/2020', ...;

LET _FERIADOS = '01/01/2020';

 

marco_almeida
Creator II
Creator II

Faz a separação por dentro das aspas.

LET _FERIADOS = '01/01/2020,10/04/2020';
Grupo Telegram Qlik Brasil: https://t.me/joinchat/AeRmnUmcxQ02L00g3x-HtQ