Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Boa tarde pessoal
Estou fazendo um dash que preciso comparar uma métrica tendo como dimensão os dias úteis dos 2 meses antecessores ao mês atual.
Por exemplo, no banco tem um registro no dia 1 de outubro (1º dia util de outubro) e dia 2 de setembro (1º dia util de setembro). Em um gráfico de linha, por exemplo ele compare que no 1º dia util de setembro deu x reais de venda e no 1º dia util de agosto deu y reais.
Tipo assim:
Eu usei a função NetWorkDays() mas ela só retorna o número de dias uteis em um determinado range de datas. Existe alguma função ou alguma jeito de fazer isso que estou tentando?
Agradeço desde já.
Um jeito que não consumirá muita memória e processamento é criar uma dimensão que diz se aquela data é um dia útil ou não. Se for, você diz se é o primeiro, secundo etc dia útil do mês.
Esse é um template que você pode seguir pra executar a ideia.
LET _DATA_INICIAL = '01/12/2019';
SET _FERIADOS = '25/12/2019', '26/12/2019';
DATAS_EVENTO:
LOAD
*
, NetWorkDays(data, data, $(_FERIADOS)) as dia_util
;
LOAD
DayName('$(_DATA_INICIAL)' + IterNo() - 1) as data
AutoGenerate 1
While
'$(_DATA_INICIAL)' + IterNo() - 1 <= MonthEnd('$(_DATA_INICIAL)')
;
ORDEM_DATA:
LOAD
data
, RecNo() as ordem
RESIDENT DATAS_EVENTO
WHERE
dia_util
ORDER BY
dia_util desc
, data
;
Um jeito que não consumirá muita memória e processamento é criar uma dimensão que diz se aquela data é um dia útil ou não. Se for, você diz se é o primeiro, secundo etc dia útil do mês.
Esse é um template que você pode seguir pra executar a ideia.
LET _DATA_INICIAL = '01/12/2019';
SET _FERIADOS = '25/12/2019', '26/12/2019';
DATAS_EVENTO:
LOAD
*
, NetWorkDays(data, data, $(_FERIADOS)) as dia_util
;
LOAD
DayName('$(_DATA_INICIAL)' + IterNo() - 1) as data
AutoGenerate 1
While
'$(_DATA_INICIAL)' + IterNo() - 1 <= MonthEnd('$(_DATA_INICIAL)')
;
ORDEM_DATA:
LOAD
data
, RecNo() as ordem
RESIDENT DATAS_EVENTO
WHERE
dia_util
ORDER BY
dia_util desc
, data
;