Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 
richardsupri
Contributor
Contributor

Calculo de Dias Uteis

Bom dia a todos!

estou enfrentando uma dificuldade no calculo de dias uteis.

tenho uma tabela com a seguinte estrutura onde temos um flag de dia util = 'sim' e 'nao' para sabados e domingos e feriados:

como quero selecionar o total de dias uteis passados no mes e tambem os dias restantes.. criei uma variavel que captura o maior dia 'selecionado' para analise : max((DiaMes))

e COUNT({$<DiaUtil={'Sim'},MES,DiaMes,DiaSemana>}DATA) para o total de dias uteis do mes.

o que não consigo é fazer o count() de dias uteis entre o primeiro dia do mes (dia 1)  e o maior dia selecionado no filtro...

por ex.

dia 22 de fevereiro

total de dias 19 uteis

15 dias passados. é aqui que não consigo evoluir

[CALENDARIO]:

LOAD DATA_CAL

  , Today() as HOJE

  , Day(DATA_CAL) as DIA

  , MES

  , ANO

  , DIAUTIL;

SQL SELECT CAST(DATA AS DATE) AS DATA_CAL,

                DIASEMANA,

                SEMANA,

                MES,

                ANO,

                DIAUTIL,

                TRIMESTRE,

                DIAMES

          FROM M4UBPODatabasePRD."db_datawriter"."TBL_CALENDARIO"

          WHERE MES = (select month(max(DATA)) from M4UBPODatabasePRD.dbo."TBL_VENDAS_MBS_SKU")

            AND ANO = (select year(max(DATA)) from M4UBPODatabasePRD.dbo."TBL_VENDAS_MBS_SKU");

LIB CONNECT TO '172.20.1.12';

agradeço a ajuda!

Valeu!

Labels (5)
1 Solution

Accepted Solutions
Thiago_Justen_

Richard,

Não esqueça de fechar a thread marcando com a flag  'Correta' a resposta que lhe ajudou a resolver a questão. Se ainda não conseguiu sua resposta deixe-nos saber.

Manual do usuário | Como criar e gerir minhas perguntas?

Thiago Justen Teixeira Gonçalves
Farol BI
WhatsApp: 24 98152-1675
Skype: justen.thiago

View solution in original post

16 Replies
Thiago_Justen_

O filtro realizado é em que campo?

Considerando que o filtro seja o campo Data:

COUNT({$<DiaUtil={'Sim'},DATA={">=$(=MonthStart(DATA))<=$(=MonthEnd(DATA))"}>}DATA)



Thiago Justen Teixeira Gonçalves
Farol BI
WhatsApp: 24 98152-1675
Skype: justen.thiago
Thiago_Justen_

Outra opção:

COUNT({$<DiaUtil={'Sim'},DATA={">=$(=MonthStart(DATA))<=$(=Max(DATA))"}>}DATA)


É possível que o MonthEnd() da solução acima seja um problema para você...

Thiago Justen Teixeira Gonçalves
Farol BI
WhatsApp: 24 98152-1675
Skype: justen.thiago
rogerioalmeida
Creator
Creator

Richard,

Tem uma função no Qlik que faz isso sem precisar dessa condicional que você fez Networkdays.

https://help.qlik.com/pt-BR/sense/September2017/Subsystems/Hub/Content/Scripting/DateAndTimeFunction...

Olha se serve para o que esta pensando.

Espero ter ajudado.

Anonymous
Not applicable

     Bom dia Richard,

     Visando a dificuldade de trabalhar com datas eu modifiquei um Script que gera um calendário, adicionando o calculo dos feriados com datas móveis e oferecendo a possibilidade de cadastrar todos os feriados que afetarem sua empresa.

     Nesse Script o campo de dias úteis é marcado com os valores 0, para sábados, domingos e feriados, e 1 para os demais dias. Isso tem facilitado bastante minha vida porque só preciso usar um "SUM(DiaUtil)" para saber a quantidade dias úteis entre as datas selecionadas.

     Além disso ele oferece outros campos para você utilizar como, trimestre, Mês, ano e outros formatos.

     No próprio Script tem a instrução para você formatar o campo de ligação desse calendário com sua base de dados.

     Dá uma olhada no post: CALENDARIO.qvs (Script) e veja se lhe atende. Qualquer dúvida basta nos contactar.

Felicidades...

Thiago_Justen_

Richard,

Não esqueça de fechar a thread marcando com a flag  'Correta' a resposta que lhe ajudou a resolver a questão. Se ainda não conseguiu sua resposta deixe-nos saber.

Manual do usuário | Como criar e gerir minhas perguntas?

Thiago Justen Teixeira Gonçalves
Farol BI
WhatsApp: 24 98152-1675
Skype: justen.thiago
Thiago_Justen_

Richard,

Alguma novidade sobre a questão? Ficou resolvido? Se alguma das respostas acima lhe ajudou a chegar na resolução da questão, por favor, feche a thread para mantermos a comunidade organizada e atualizada.

Abs e Sucesso!!

Thiago Justen Teixeira Gonçalves
Farol BI
WhatsApp: 24 98152-1675
Skype: justen.thiago
Thiago_Justen_

Richard,

Não esqueça de fechar a thread marcando com a flag  'Correta' a resposta que lhe ajudou a resolver a questão. Se ainda não conseguiu sua resposta deixe-nos saber.

Manual do usuário | Como criar e gerir minhas perguntas?

Thiago Justen Teixeira Gonçalves
Farol BI
WhatsApp: 24 98152-1675
Skype: justen.thiago
Thiago_Justen_

Richard,

Não esqueça de fechar a thread marcando com a flag  'Correta' a resposta que lhe ajudou a resolver a questão. Se ainda não conseguiu sua resposta deixe-nos saber.

Manual do usuário | Como criar e gerir minhas perguntas?

Thiago Justen Teixeira Gonçalves
Farol BI
WhatsApp: 24 98152-1675
Skype: justen.thiago
marcelvinicius
Creator III
Creator III

Amigo, esse script é para Qlik View certo?

Como consigo abrir no Sense?

Atenciosamente.