Skip to main content
Announcements
Qlik Connect 2024! Seize endless possibilities! LEARN MORE
cancel
Showing results for 
Search instead for 
Did you mean: 
Anonymous
Not applicable

Campo total Geral por item

Bom dia,

Sou novo por aqui e precisoEstou precisando montar nenhuma carga hum campo Que carregue um total de Informação geral, consegui carregar o total de Empresa Acumulado POR, porem Preciso that Pará Cada PRODUTO retorne Uma Coluna totais Geral somando um Quantidade vendida de Todos os Produtos.

Script Utilizado:

Movimento_MIX:

CARGA * inline [

empresa_codigo, produto_codigo, quantidade_vendida

1,1,50

1,2,30

1,3,20

1,4,10

2,1,50

2,2,40

2,3,20

2,4,5

2,5,2

];

Acumulado:

CARGA

  empresa_codigo

, Produto_codigo

, Quantidade_vendida

, Se (

  empresa_codigo <> Anterior (empresa_codigo),

  NumSum (quantidade_vendida),

  NumSum (Peek ('ACUMULADO_POR_EMPRESA', -1)) + NumSum (quantidade_vendida)

  ) Como ACUMULADO_POR_EMPRESA

RESIDENT Movimento_MIX

ORDER BY

  empresa_codigo

, Quantidade_vendida desc;

GOTA Tabela Movimento_MIX;

Hoje ESTA me retornando na Tabela Acumulado um SEGUINTE Informação:

                                                                             

empresa_codigoproduto_codigoquantidade_vendidaACUMULADO_POR_EMPRESA
2150,0050,00
2240,0090,00
2320,00110,00
245,00115,00
252,00117,00
1150,0050,00
1230,0080,00
1320,00100,00
1410,00110,00

Além Deste saldo Acumulado Preciso de Um total de Geral, Por Exemplo:

Na Empresa 1 térios that retornar Uma Coluna com um Informaçao Total_Geral 110 Para Todos Produtos OS, e na Empresa 2 o valor de 117.


De: Não encontrei Uma funcao Pará Fazer este Cálculo.

Labels (1)
1 Solution

Accepted Solutions
lucianosv
Specialist
Specialist

Tenho uma pergunta antes para conseguir responder a sua:

Vamos precisar de um campo chave para fazer um left join, similar ao abaixo:

Left Join(Acumulado)

Load

produto_codigo,

Sum(quantidade_vendida) as total_item

RESIDENT Acumulado

Group BY

  produto_codigo;

O Total será por empresa?

Se for isso basta trocar no código acima o campo produto_codigo por empresa_codigo.

View solution in original post

11 Replies
lucianosv
Specialist
Specialist

Segue qvw.

Anonymous
Not applicable
Author

Estou precisando deste campo total no script vinculado a cada um dos produtos a quantidade total_geral.

Na tabela de dados teria que acrescentar um campo para esta quantidade total_geral.

Acumulado:

load

  empresa_codigo

, Produto_codigo

, Quantidade_vendida

, If (

  empresa_codigo <> Anterior (empresa_codigo),

  NumSum (quantidade_vendida),

  NumSum (Peek ('ACUMULADO_POR_EMPRESA', -1)) + NumSum (quantidade_vendida)

  ) Como ACUMULADO_POR_EMPRESA

RESIDENT Movimento_MIX

ORDER BY

  empresa_codigo

, Quantidade_vendida desc;


Nesta parte do script eu precisava criar um novo campo que carregue este valor total_geral, só não sei qual função posso utilizar para chegar a este valor, somando todas as quantidades e repetindo este valor a cada produto.

lucianosv
Specialist
Specialist

Boa tarde.

Precisa ser no script?

Esse total é geral mesmo ou é por ítens?

Caso seja por ítens é simples:

Inclua depois do seu código:

Left Join(Acumulado)

Load

produto_codigo,

Sum(quantidade_vendida) as total_item

RESIDENT Acumulado

Group BY

  produto_codigo;

Anonymous
Not applicable
Author

Boa tarde, tem que ser no Script, teria que retornar em cada item a quantidade de todos os itens.

Deixa eu tentar passar para que que preciso disso, quem sabe tenha outra forma mais simples da fazer.

Montei uma análise das vendas (margens de lucro, contribuição) por produto, porém quero criar grupos de produtos de acordo com a sua quantidade vendida classifica-los pela maior quantidade vendida em grupos (A,B,C) - pareto- . Tenho a quantidade de venda de cada item, ordenei da maior para a menor quantidade, com a função peek consegui chegar ao acumulado do item atual mais o anterior, para chegar na fórmula de pareto para dizer quanto aquele produto representa do total eu precisaria pegar a quantidade acumulada/total_geral.

Nos exemplos que passei, na empresa 1, o produto 1 que tem quantidade de venda 50 e acumulada 50 teria uma representatividade de (50/110) = 0,4545 = 45,45%, o produto 2 que a quantidade de venda é 30 e acumulado 80 teria uma representatividade acumulada de (80/110) = 0,7272 = 72,72% ....

Este é o cálculo que preciso fazer no script, que em uma segunda tabela terei a classificação A e as representatividades que se enquadram nela, e assim por diante, desta forma terei o vínculo do produto a sua classificação, A,B,C. Em um segundo momento conseguirei montar a análise com a dimensão classificação e os valores das margens por cada classificação.

lucianosv
Specialist
Specialist

Boa tarde.

Não precisa ser no script.

Veja se atende.

Anonymous
Not applicable
Author

Boa tarde, para a análise do produto com relação a qual grupo ele participará atende, porém todo este trabalho é para criar uma dimensão.

Faço este cálculo para saber qual é o percentual_acumulado que o produto representa do total geral, para chegar a classificação do produto.

Em anexo segue uma planilha, com a análise que pretendo fazer, na qual a classificação A,B,C se tornará uma dimensão da tabela.

lucianosv
Specialist
Specialist

Esta feito em tabela, mas pode ser implementado no script.

Anonymous
Not applicable
Author

É isso mesmo que preciso.

Só que surgiu mais uma dúvida.

Na tabela Vendido do arquivo que encaminhou tem a Expressão Share Acum que é exatamente o que preciso, nesta expressão tem a fórmula

("Vendido Acum"

/Sum(Total quantidade_vendida)

o campo "Vendido Acum" tenho no script que é o campo ACUMULADO_POR_EMPRESA, não estou conseguindo chegar ao valor da divisão (Sum(Total quantidade_vendida)), pois no scipt ele não está reconhecendo a função TOTAL, não sei qual função posso utilizar para chegar neste total.

lucianosv
Specialist
Specialist

Tenho uma pergunta antes para conseguir responder a sua:

Vamos precisar de um campo chave para fazer um left join, similar ao abaixo:

Left Join(Acumulado)

Load

produto_codigo,

Sum(quantidade_vendida) as total_item

RESIDENT Acumulado

Group BY

  produto_codigo;

O Total será por empresa?

Se for isso basta trocar no código acima o campo produto_codigo por empresa_codigo.