Qlik Community

Qlik Brasil

Group community for Brazil users. discussion only in Portuguese.

Highlighted
Not applicable

Dados Duplicados

Boa Tarde.

Estou criando um objeto de gráfico/tabela simples, mas estou tento um probleminha com dados duplicados, segue abaixo como estou fazendo.

Tenho a tabela pedidos abertos que é criada todos os dias, ou seja, é um raio x diário dos meus pedidos abertos.

Se o processo rodar dia 12/01 e encontrar um pedido aberto, será criado um registro para este pedido na tabela

pedidos abertos com a data do dia 12/01, quando o processo rodar no dia 13/01 e o mesmo pedido estiver aberto,

sera criado um novo registro deste pedido com a data do processo do dia 13/01. como mostra o exemplo abaixo:

dia processado      pedido  produto  qtd vendido  valor total

12/1                     123      A           2                 10

12/1                     123      B           3                 20

13/1                     123      A           2                 10

13/1                     123      B           3                 20

Quando crio um gráfico/tabela simples estou colocando como dimensão o DIA do processo e nas expressões estou colocando o count(pedido) e sum(valorTotal). Mas me surgiu uma dúvida esta certo fazer o count desta forma ? então fiz o count(distinct pedido), quando fiz isso notei que diminuiu a quantidade de pedido por dia, mas a quantidade total não bateu.

COM COUNT(DISTINCT PEDIDO)  E SUM(DISTINCT VALOR TOTAL)

09/01/201548623709313,96
08/01/201549383751763,29
TOTAL5586424136901

COUNT(PEDIDO) E SUM(VALOR PEDIDO)

09/01/2015123644269955,17
08/01/2015127674317598,18
TOTAL25131858755335

Qual seria a forma correta de fazer ?

Obrigado.

Tags (1)
1 Solution

Accepted Solutions

Re: Dados Duplicados

o Count distinct esta correto, porém o Sum Distinct pode te gerar problema, pois se você tiver pedidos diferentes com o mesmo valor para o mesmo dia, ele não contará.

Para que esses valores não sejam emitidos, basta fazer a seguinte expressão:

SUM(AGGR(SUM(DISTINCT VALOR_PEDIDO), PEDIDO,PRODUTO,DIA))

OBS:talvez seja necessário ajustar a expressão devido ao seu modelo de dados e até os dados.

A ideia desse cálculo é que o qlikview faça um loop no cálculo no qual não "omitirá" que deveria aparecer.

10 Replies

Re: Dados Duplicados

o Count distinct esta correto, porém o Sum Distinct pode te gerar problema, pois se você tiver pedidos diferentes com o mesmo valor para o mesmo dia, ele não contará.

Para que esses valores não sejam emitidos, basta fazer a seguinte expressão:

SUM(AGGR(SUM(DISTINCT VALOR_PEDIDO), PEDIDO,PRODUTO,DIA))

OBS:talvez seja necessário ajustar a expressão devido ao seu modelo de dados e até os dados.

A ideia desse cálculo é que o qlikview faça um loop no cálculo no qual não "omitirá" que deveria aparecer.

Not applicable

Re: Dados Duplicados

Certo.

Yuri agora eu percebi um detalhe importante, Eu estou fazendo a importação do arquivo txt desta forma:

PEDIDOS:

LOAD [dt movimen] as chaveData,

          loja,

          pedido,

          cod.produ,

          [qt. vendida],

          [total item],

        

FROM

[..\Luiz\pedidos_0801.txt]

(txt, utf8, embedded labels, delimiter is ';');

Depois da importação estou criando uma lista simples somente com os números do pedido e notei que não se repetem mesmo eu tendo linhas no txt com o mesmo pedido para mesma loja.

Isso está correto ? o Qlikview automaticamente mostra somente uma unica vez o item repetido ?

Re: Dados Duplicados

O qlikview omite as linhas iguais (por padrão) porém os resultados iguais continuam a ser calculados.

Faça um teste, nessa lista, clique com o botão direito e na aba geral habilite Mostrar Frequencia, caso tenha valor repetido por pedido, ele mostrará um número maior que um na direita.

Not applicable

Re: Dados Duplicados

Então mesmo ele omitindo as linhas por padrão se usar o count(pedido) por exemplo ele vai considerar todos os dados inclusive os duplicados ?

Re: Dados Duplicados

Sim, considera.

O QlikView faz isso apenas para economizar memória.

Not applicable

Re: Dados Duplicados

Certo.

Como para cada linhas se tem produto diferente para um pedido e uma loja exemplo:

loja pedido item qtd valor

019 123     A     2     10

019 123     B     1     12

019 123     C     2     15

Devo usar o count(distinct pedido)  no item posso fazer count(item) e no valor sum(valor).

para obter:

loja  pedido item valor

019  123     03    37,00

Correto.

Re: Dados Duplicados

Isso mesmo!

Not applicable

Re: Dados Duplicados

Vou te incomodar só mais um pouco.

To fazendo exatamente isso no gráfico/table simples mas o total de pedidos não bate.

na tabela aparece desta forma:


loja  dia     count(distinct pedido) sum(valor item)

019 11/01  112                           74735,44                 

019 12/01  121                           95265,83  

TOTAL      146                           170.001,27

Deveria mostrar a soma dos dois 233...?

Re: Dados Duplicados

Luiz, isso porque a tabela esta refazendo a conta com o Distinct. Para que a conta dê 233, basta alterar o modo total para Soma de Linhas (na aba apresentação), caso esteja utilizando um gráfico do tipo tabela simples.