Qlik Community

Qlik Brasil

Group community for Brazil users. discussion only in Portuguese.

Highlighted
karczevski
New Contributor II

Set Analysis com Interval

Preciso contar o numero de chamados com prioridade 0 e que o tempo de inicio de atendimento seja menor que 15 minutos, atualmente estou fazendo o seguinte, porem, sem sucesso:

=Count({<Chamado.Prioridade={'0'},

(

Interval(

Timestamp(Min({<Acoes.Ação-={'Abertura'}>} Acoes.DATAHR))

-

Timestamp(Max({<Acoes.Ação={'Abertura'}>} Acoes.DATAHR)))

)>={'00:15:00'}

>}Chamado.Número)

Posteriormente farei o mesmo com as demais prioridades.

Tags (1)
1 Solution

Accepted Solutions
thiago_justen
Valued Contributor III

Re: Set Analysis com Interval

Você não precisa da tabela temp. O order by pode ocorrer no load do qvd.

From seu_qvd order by %idchamado;


Fato bem lembrado...my fault fernando.tonial‌.

Rafael,

Complete seu resident assim:

ChamadoTemp:

Load

*,   If(%IdChamado=Previous(%IdChamado) and Acoes.Ação<>Previous(Acoes.Ação),Interval(Acoes.DATAHR-Previous(Acoes.DATAHR)),Time(0)) as Intervalo_Chamado

Resident Chamado Order By %IdChamado;

Drop table Chamado;

Rename table ChamadoTemp to Chamado;

Thiago Justen Teixeira Gonçalves
WhatsApp: 24 98152-1675
Skype: justen.thiago
11 Replies
thiago_justen
Valued Contributor III

Re: Set Analysis com Interval

Rafael,

Não seria mais interessante criar um campo com o intervalo entre as ações de cada  chamado no script?

Por exemplo:

Sua_Tabela:

Load

    Outros_Campos,

    If(Chamado.Número=Previous(Chamado.Número) and Acoes.Ação<>Previous(Acoes.Ação),Interval(Acoes.DATAHR-Previou(Acoes.DATAHR)),Time(0)) as Intervalo_Chamado

Resident Sua_Tabela_Temp Order By Chamado.Número;

Daí na tela eu faria a seguinte medida:

Count({<Intervalo_Chamado={">=00:15"},Chamado.Prioridade={0},Acoes.Ação={'Abertura'}>}Chamado.Número)


Abs e Sucesso!!

Thiago Justen Teixeira Gonçalves
WhatsApp: 24 98152-1675
Skype: justen.thiago
karczevski
New Contributor II

Re: Set Analysis com Interval

Opa, gostei da ideia, e começei a usar, acabei que mudei um pouco para funcionar aqui, fiz o seguinte:

No script:

If(%IdChamado=Previous(%IdChamado) and Acoes.Ação<>Previous(Acoes.Ação),Interval(Acoes.DATAHR-Previous(Acoes.DATAHR)),Time(0)) as Intervalo_Chamado,

Essa Parte ja retornou nulo.

Coloquei no objeto de texto o count que vc me passou, porem o mesmo não funcionara ja que o intervalo não funcionou tambem.

Desde já,

Obrigado pela ajuda

thiago_justen
Valued Contributor III

Re: Set Analysis com Interval

O importante aí pro if funcionar é aplicar o order by %IdChamado. Do contrário vai dar errado mesmo.

Thiago Justen Teixeira Gonçalves
WhatsApp: 24 98152-1675
Skype: justen.thiago
karczevski
New Contributor II

Re: Set Analysis com Interval

Fiz o Seguinte:

ChamadoTemp:

Load

    If(%IdChamado=Previous(%IdChamado) and Acoes.Ação<>Previous(Acoes.Ação),Interval(Acoes.DATAHR-Previous(Acoes.DATAHR)),Time(0)) as Intervalo_Chamado

Resident Chamado Order By %IdChamado;

Ainda sem sucesso kk

thiago_justen
Valued Contributor III

Re: Set Analysis com Interval

Você não precisa da tabela temp. O order by pode ocorrer no load do qvd.

From seu_qvd order by %idchamado;


Fato bem lembrado...my fault fernando.tonial‌.

Rafael,

Complete seu resident assim:

ChamadoTemp:

Load

*,   If(%IdChamado=Previous(%IdChamado) and Acoes.Ação<>Previous(Acoes.Ação),Interval(Acoes.DATAHR-Previous(Acoes.DATAHR)),Time(0)) as Intervalo_Chamado

Resident Chamado Order By %IdChamado;

Drop table Chamado;

Rename table ChamadoTemp to Chamado;

Thiago Justen Teixeira Gonçalves
WhatsApp: 24 98152-1675
Skype: justen.thiago
fernando_tonial
Valued Contributor

Re: Set Analysis com Interval

Pessoal,

Só lembrando que o Order By no Qlik só funciona em tabela resident.

Lendo direto do aquivo QVD vai dar erro.

Abraços.

Don't worry, be Qlik.

Tonial.

karczevski
New Contributor II

Re: Set Analysis com Interval

Deu certo, porem gerou 5 Intervalos, tentei usar o Max e o Min, porem ele pega os valores errados.

thiago_justen
Valued Contributor III

Re: Set Analysis com Interval

Isso porque, pra cada linha com o mesmo id há um intervalo. Talvez isso seja interessante:

Max_Min_Chamado:

Load

        %IdChamado,

        Interval(Max_DataHr-Min_DataHr) as Intervalo_Total;

Load

         %IdChamado,

          Min(Acoes.DATAHR) as Min_DataHr,

          Max(Acoes.DATAHR) as Max_DataHr

Resident Chamado group By %IdChamado;

Mas se isso não te servir me avise que tentarei te ajudar.

Abs e Sucesso!!

Thiago Justen Teixeira Gonçalves
WhatsApp: 24 98152-1675
Skype: justen.thiago
karczevski
New Contributor II

Re: Set Analysis com Interval

Consegui, agora meu problema se tornou a prioridade.