Skip to main content
Announcements
Have questions about Qlik Connect? Join us live on April 10th, at 11 AM ET: SIGN UP NOW
cancel
Showing results for 
Search instead for 
Did you mean: 
fdemolin
Contributor II
Contributor II

Como calcular um contagem de uma tabela relacionada?

Boa tarde pessoal,

Tenho 2 tabelas, a primeira delas é a tabela de vendas, com ID do pedido e do produto, e a chave composta formada por eles:

   

Pedido/ItemPedidoItem
1010/000110100001
1010/000310100003
1010/000410100004
1020/000110200001
1020/000310200003
1030/000110300001
1030/000210300002
1030/000410300004
1040/000110400001
1040/00021040

0002

A segunda tabela é de reclamações do cliente, com a chave, produto e pedido + código do defeito encontrado:

   

Pedido/ItemPedidoItemDefeito
1010/000110100001A
1010/000310100003B
1030/000210300002B
1040/000110400001

A

Gostaria de conseguir filtrar o número de produtos vendidos através do defeito, por exemplo:

Se eu filtrar por defeito "A" o KPI retorna 4, pois temos o item 1 com esse defeito que foi vendido 4 vezes.

Se eu filtrar por defeito "B" o KPI também retorna 4, pois tenho o produto 2 vendido 2x e o produto 3 vendido 2x.

Vocês sabem como seria a formula para esse cálculo? Apenas reforçando que a ligação entre as tabelas é feita pelo chave composta da 1 coluna.

Labels (3)
8 Replies
felipedl
Partner - Specialist III
Partner - Specialist III

Olá Felipe,

Nesse seu caso, não tem como saber que foram 4 se você não informar quantas vezes foram vendidos os produtos (pelo que entendi do seu modelo, não tem essa informação).

Se você selecioanr o defeito "A", pela sua chave, você terá duas associações entre as tabelas, tendo a contagem de 2, se você não informar quantas vendas por pedido/item foram feitas.

Outra coisa, se você carregar essas tabelas desse jeito, vai gerar a chave sintética "Pedido/Item" + "Pedido" + "Item".

Para que seja possível realizar a contagem, poderia ser feito da seguinte maneira;

  • Supondo que há uma contagem de quantas vendas por Pedido/Item foram realizados
Pedido/ItemPedidoItemQtd
1010/0001101000012
1010/0003101000031
1040/0001101000042

Desse jeito, se você fizer uma soma de Qtd, ao selecionar o Defeito "A" na outra tabela, as associações retornaram

os Pedido/Item:

  1. 10/10/0001, e;
  2. 1040/0001

Qeu totalizará 4

  • Supondo que há uma linha por venda de Pedido/Item na sua tabela de vendas. Se forem tomadas as mesmas quantidades da tabela de cima.
Pedido/ItemPedidoItem
1010/000110100001
1010/000310100003
1040/000110100004
10/10/000110100001
1040/000110100004

Sendo assim, ao realizar a contagem por Pedido/Item e selecionar o defeito "A", você terá a contagem de 4 que deseja,

Espero ter sido claro, e qualquer dúvida, é só perguntar.

Felipe.

giovanneb
Creator II
Creator II

Olá Felipe acho que a solução seria essa em anexo !

Abs

michellysodre
Contributor III
Contributor III

Felipe,

Acredito que Intervalmatch seria a solução.

fdemolin
Contributor II
Contributor II
Author

Olá Felip,

A quantidade de itens não importa nesse caso, gostaria de saber em quantas linhas da primeira tabela (Vendas) os itens com o defeito A aparecem, e o mesmo para o defeito B.

Como o defeito A só aparece no item 0001, gostaria da contagem do item 0001 na tabela de Vendas.

O Defeito B aparece no item 0002 e 0003, então seria a contagem dos itens 0002 + contagem 0003.

Não se preocupe com as chaves sintéticas, esses nomes foram só um exemplo.

Não entendi muito bem a segunda parte da sua explicação, o pedido/item 1040/0001 está com item 0004 ?

fdemolin
Contributor II
Contributor II
Author

Obrigado pela resposta Giovanne, mas eu não possuo o Qlik View, apenas o sense.

Será que voce poderia colocar um print ou a fórmula usada?

giovanneb
Creator II
Creator II

Vincule pelo item as duas tabelas segue,

LOAD * INLINE [

   Pedido/Item, Pedido, Item

1010/0001, 1010, 0001

1010/0003, 1010, 0003

1010/0004, 1010, 0004

1020/0001, 1020, 0001

1020/0003, 1020, 0003

1030/0001, 1030, 0001

1030/0002, 1030, 0002

1030/0004, 1030, 0004

1040/0001, 1040, 0001

1040/0002, 1040, 0002

];

LOAD * INLINE [

Item, Defeito

0001, A

0003, B

0002, B

0001, A

];

Resultado

Defeito Count(Pedido)
10
A4
B4
2
Thiago_Justen_

Felipe,

Veja um app meu como exemplo do Intervalmatch.

Re: Finding a date range within a script

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

A segunda tabela pode ser um Distinct dos campos itens/defeitos.