Skip to main content
Woohoo! Qlik Community has won “Best in Class Community” in the 2024 Khoros Kudos awards!
Announcements
Join us at Qlik Connect for 3 magical days of learning, networking,and inspiration! REGISTER TODAY and save!
cancel
Showing results for 
Search instead for 
Did you mean: 
ernestolmalves
Contributor III
Contributor III

Criar QVD de histórico com dados calculados

Bom dia,

Estou tentando criar um qvd com os dados calculados para guardar um histórico e evitar o uso do excel nesta função.

Pensei em algo como abaixo, no script :

LET DATAHOJE = Today();

LET BACKLOGDIA = 1;

Backlog:

LOAD * INLINE [

DATABK, BACKLOG

$(DATAHOJE),$(BACKLOGDIA)

];

LOAD

*

FROM Backlog.qvd (QVD);

STORE Backlog INTO Backlog.qvd (QVD);

O meu problema é que o backlog é calculado da seguinte forma :

Count({$<

SITUACAO={'A'},

PRODUTO-={'ABC','EDF'},

STATUS-={'Fechado','Cancelado'},

ESPECIALISTA-={'Analista'},

Função-={'123ABC'},

CATEGORIA-={'Teste'}

>}CHAMADO);

Teria como realizar esse cálculo no script durante a carga ?

Ou outra forma de criar esse qvd com dados históricos ?

Desde já agradeço pela atenção.

Abraços.

Labels (2)
7 Replies
nicolett_yuri

Você pode fazer esse cálculo também no script, a diferença que você não vai passar esses parâmetros no Set Analysis e sim no Where.

Como estão seus dados? Tem como enviar um QVD ou QVW com esses dados de exemplo?

ernestolmalves
Contributor III
Contributor III
Author

Oi Yuri,

Obrigado por responder.

Seguindo a sua ideia, ficaria assim ?

LET DATAHOJE = Today();

LET BACKLOGDIA = 1;

Backlog:

LOAD * INLINE [

DATABK, BACKLOG

$(DATAHOJE),$(BACKLOGDIA)

];

LOAD

*

FROM dados.qvd (qvd)

where

          SITUACAO='A' and

          (PRODUTO<>'ABC' OR PRODUTO<>'EDF') and

          (STATUS<>'Fechado' OR STATUS<>'Cancelado') and

          ESPECIALISTA<>'Analista' and

          Função<>'123ABC' and

          CATEGORIA<>'Teste' ;

LOAD

*

FROM Backlog.qvd (QVD);

STORE Backlog INTO Backlog.qvd (QVD);

Mas não entendi como eu pegaria a quantidade do backlog, que é o que me interessa, para gravar na varável BACKLOGDIA e salvar no backlog.qvd.

Tem algum detalhe que não estou sabendo fazer.

Como a base é grande, fica complicado enviar por aqui.

Muito obrigado !

lucianosv
Specialist
Specialist

Bom dia.

Para fazer a contagem, você teria que ler a base novamente agrupando pela chave que você quer contar e dar um count(*). Depois disso você faz um left join da base com a chave de agrupamento e o count(*) com a base original.

nicolett_yuri

Isso mesmo!

ernestolmalves
Contributor III
Contributor III
Author

Bom dia Luciano,

Obrigado pelo retorno.

Eu entendi até a parte do left join.

Teria como me mostrar um exemplo ou dizer aonde posso ver um ?

Abraços,

lucianosv
Specialist
Specialist

Bom dia.

É similar ao exemplo que vou te enviar. Esse fiz para pegar valores de meses anteriores e juntar na mesma linha.

Acho que dá para você entender a ideia.

Clever_Anjos
Employee
Employee

Já conseguiu a resposta? Se sim, escolha uma e marque como "Correta" para fechar o tópico e nos ajudar a manter a comunidade organizada

Have fun, be Qlik