Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 
ruzivao1980
Creator
Creator

Subtotal x Média, com várias seleções

Bom dia a todos.

Estou com um problema para acertar o subtotal em campo que tenham o AVG (média), de acordo com minha seleção, eu precisaria que o total me traria a soma um exemplo segue em anexo da minha tela, verificamos o campo V.Tabela x V.Venda, eu tenho a % da diferença do campo Dif em R$ e da Vr.Venda Liquida, ele mostra ok, mas no subtotal não fica ok, neste caso eu precisaria do total.

Expressão: =((sum([Vr.Venda Liq])/2) - ((sum(Peso)/2) * (avg(Vr.UnitarioTabela) - avg(Valor_Desconto_Promocao_notnull)))) / (sum([Vr.Venda Liq])/2)

Labels (1)
7 Replies
carvalguil
Contributor III
Contributor III

Olá,

É necessário usar este AVG?

Digo isso pq tua fórmula está cheia de sum's e avg's. Não daria pra simplificar ela fazendo tipo:

sum( (([Vr.Venda Liq]/2) - ((Peso/2) * (Vr.UnitarioTabela - Valor_Desconto_Promocao_notnul))) ) / sum([Vr.Venda Liq]/2)

Neste caso, qualquer valor nulo anularia a fórmula inteira. Talvez por isso esteja precisando separar a fórmula em vários sum's e avg's.

ruzivao1980
Creator
Creator
Author

Então guilherme, minha aplicação tem a dimensão por seleção, se eu não usar o AVG para trazer o preço médio, vai ficar zedrado, como faz nesse caso?

carvalguil
Contributor III
Contributor III

Não sei se eu entendi bem teu problema. Deixa eu escrever oq entendi:

1)  Tu tens uma coluna (V.Tabela x V.Venda) que mostra quantos % a coluna "Dif em R$" representa na coluna "Vr.Venda Liquida";

2) A Coluna "Dif em R$" é "Vr.Venda Liquida" - o peso * "Valor unitário da tabela".

3) Basicamente oq tu precisa é diminuir a coluna "Dif em R$" da "Vr.Venda Liquida" e depois dividir o resultado pela "Vr.Venda Liquida" novamente.

4) O cálculo individual de cada linha funciona, mas no agregado não.

Seria interessante ter algumas informações a mais:

-Qual coluna representa o preço médio?

-Qual seria o resultado esperado no caso da imagem anexa ao tópico?

-Como é a fórmula que compõe a coluna "Vr.Venda Liquida"?

lucianosv
Specialist
Specialist

Bom dia.

Coloca uma expressão Dimensionality() na tabela.

A partir dai você vai poder utilizar cálculos diferentes utilizando If's. Por exemplo:

If(Dimensionality() = 1, Sum(valor), Avg(Valor)).


ruzivao1980
Creator
Creator
Author

Bom dia Guilherme, tudo bem, me desculpe pela demora...

Vamos la... deixa eu te explicar melhor...

Minha visão deixa eu escolher a minha dimensão, então por isso que uso o AVG, está certo?

Se eu abro minha dimensão em Pedido e Produto, fica certo, mas se tiro essas dimensões e coloca por agente, que ele tem agrupar tudo, fica errado...

Preciso saber a minha diferença de venda, real, pelo meu preço de tabela, então, eu pego, então logo fica:

Peso * Valor Unitário = Total venda liquida

Peso * Valor tabela = Total de  venda Tabela

total venda liquida - total de venda tabela = Dif de venda

dif de venda / total venda liquida = % dessa diferença.

carvalguil
Contributor III
Contributor III

Tudo bem, o AVG é necessário na fórmula da coluna do valor unitário, pois tu não tem um valor único para cada agente.

Mas na fórmula do % de diferença, não precisa do AVG, pois tu pode agregar pelo SUM e deixar ele trabalhar com todas as linhas da tua tabela.

Oq eu digo, (e não sei se consigo ser claro pq está difícil de colocar em palavras) é que tu não precisa entregar o valor unitário médio na fórmula. Pois tu pode usar o valor unitário de cada venda. Algo tipo:

SUM ( (Peso * Valor Unitário) - (Peso * (Valor tabela - Desconto)) ) / SUM(Peso * Valor Unitário)

Assim calculará linha a linha da tua fonte de dados, e as unicas agregações feitas, serão os dois SUM's.

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