Skip to main content
Announcements
Qlik Connect 2024! Seize endless possibilities! LEARN MORE
cancel
Showing results for 
Search instead for 
Did you mean: 
marcelvinicius
Creator III
Creator III

Contar data 3 dias uteis

Senhores,

À alguns dias, pedi uma ajuda para o seguinte caso:

Tenho um cliente que teve duas OSs encerradas: dia 01/03/2018 e 02/03/2018 - Contabilize esse cliente somente uma vez (somente a primeira data de encerramento)

SE tiver uma data de encerramento 3 dias mais tarde que a primeira: conte duas (ou mais) vezes.

Count(Aggr(If(RangeSum(FirstSortedValue(DTA_ENCERRAMENTO,-DTA_ENCERRAMENTO),

-FirstSortedValue(DTA_ENCERRAMENTO,-DTA_ENCERRAMENTO,2))<3,1,0),ChassiOS))

Porém tenho duas situações:

Uma: não esta calculando corretamente.

Dois: preciso que considere a questão dos dias UTEIS (estava usando somente 3 dias, e não uteis)

data.png

16 Replies
nicolett_yuri

Do jeito que fiz sim, mas da para mudar a regra, só não consigo fazer agora, pois estou sem o sense.

Se puder, me envie o script do exemplo que te passei

marcelvinicius
Creator III
Creator III
Author

Claro mestre,

Segue.

Quando tiver tempo, agradeço..

Abraços

nicolett_yuri

Me manda só o script em txt, estou sem sense agora

nicolett_yuri

Alias, só me detalhe melhor essa regra, pois na app que me enviou, só tenho a data de encerramento. Quando a OS fica sem data de encerramento, ela deve ter a contagem de dias? Essa contagem é feita através de qual regra?

marcelvinicius
Creator III
Creator III
Author

Então como gostaria de contar:

Eu gero uma base de pesquisa de ligação para os clientes dos serviços realizados, pela data de encerramento.

Mas tenho clientes que pode vir mais de uma vez fazer serviço, e se a data de enceramento entre uma e outra for até 3 dias uteis, vou contatar esse cliente somente uma vez. Caso a diferença entre uma data de encerramento e a outra for maior que 3 dias, vou contatar ele quantas vezes foram encerradas.

Os clientes que tiveram uma unica OS no mes, receberão uma ligação.

Consegui ser claro?

O Script que vc montou:

Feriados:

LOAD

    CONCAT(chr(39) & Data & chr(39), ',') as ListaFeriados

FROM [lib://Comunidade/algunsferiados.xls] (biff, embedded labels, table is Feriados$);

LET vFeriados = Peek('ListaFeriados', 0 , 'Feriados');

DROP TABLE Feriados;

OS_Tmp:

LOAD

    NOME_CLIENTE,

    EMPRESAS,

    REVENDA,

    NRO_OS,

    CHASSI,

    DTA_ENCERRAMENTO

FROM [lib://Comunidade/OSCliente.xlsx] (ooxml, embedded labels, table is Sheet1);

OS:

NoConcatenate

LOAD

*,

    NetWorkDays(DTA_ENCERRAMENTO2,DTA_ENCERRAMENTO_ANT, $(vFeriados)) as QTD_DIAS;

LOAD

    NOME_CLIENTE,

    EMPRESAS,

    REVENDA,

    NRO_OS,

    CHASSI,

    Date(DTA_ENCERRAMENTO, 'DD/MM/YYYY') as DTA_ENCERRAMENTO2,

    Date(

    IF( Previous(NOME_CLIENTE) = NOME_CLIENTE,

        Previous(DTA_ENCERRAMENTO)

    )) as DTA_ENCERRAMENTO_ANT

RESIDENT OS_Tmp

ORDER BY

NOME_CLIENTE asc,

    DTA_ENCERRAMENTO desc;

DROP TABLE OS_Tmp;

nicolett_yuri

Ok, isso eu entendi, mas algumas linhas de seu dado estão sem data de encerramento, neste caso não tem como realizar essa comparação

marcelvinicius
Creator III
Creator III
Author

Se não tiver data de encerramento, quer dizer que esta em aberto e não precisa contar mesmo....

Sem problemas nesse caso...