Skip to main content
Announcements
Live today at 11 AM ET. Get your questions about Qlik Connect answered, or just listen in. 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.