Função DiasUteis

Segue abaixo como criar uma “função” em Qlikview/Sense que permite calcular a quantidade de dias úteis entre duas datas, considerando uma lista de feriados.

Usei o conceito de variáveis com parâmetros para que pudesse criar essa função

    Feriados:  
    LOAD * INLINE [  
        F1  
        1/1/2016  
        9/2/2016  
        10/2/2016  
        25/3/2016  
        21/4/2016  
        1/5/2016  
        26/5/2016  
        7/9/2016  
        12/10/2016  
        2/11/2016  
        15/11/2016  
        25/12/2016  
    ];  
            
    // Gera variavel com lista de feriados  
    T:  
    LOAD Concat(F1,Chr(39)&','&Chr(39)) as F Resident Feriados;  
    Let vFeriados=Chr(39)& Peek('F') & Chr(39);  
    Drop Table T, Feriados;  
    // Cria "funcao" DiasUteis  
    Set DiasUteis = (RangeMax(NetworkDays($1, $2, $(vFeriados))-1,0));  
    // Remoção  
    Set vFeriados=;  
      
    // Agora vamos usar nossa "função"  
    LOAD  
      BeginTimePeriodDt,  
      $(DiasUteis(BeginTimePeriodDt,today())) as DiasUteis, // quantidade de dias uteis  
      TENANT,  
      [AGENT DISP ID],  
      [AGENT DISPOSITION],  
      [AGENT DISPOSITION DESC],  
      APPLICATION,  
      [CALL DURATION]  
    FROM [cloud_AOD_Calls_2016-06-15.qvd](qvd);

Essa variável continua válida na sua aplicação, então você pode usar em uma expressão algo como

  • $(DiasUteis(Today(),MonthEnd(Today()))) para calcular quantos dias uteis tem até o final do mês
  • $(DiasUteis(D1,D2)) para calcular a quantidade de dias úteis entre D1 e D2

Link para comunidade: https://community.qlik.com/groups/qlikview-brasil/blog/2016/06/16/fun%C3%A7%C3%A3o-diasuteis

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *