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

[Qlikview] Agregar expressões

Bom dia,

Criei a seguinte expressão:

No.Itens

if([Meta (t)] > 0,

  if([Real. (t) ] / [Obj. (t)] > 1,1,0))

Tive esse resultado:

2.PNG

Até aqui está correto.

(Familia prod e produto são grupos/filtros)

-------------------------------------------------------------------------------

Quando eu selecionar no grupo Familia prod e ele agrupar, que ele consolide também o No. Itens, no exemplo, se selecionado FAMILIA X para as duas primeiras colunas (grupos) a expressão No. Itens deve retornar 3 em uma unica linha

Resultado esperado:

1.PNG

Resultado obtido (errado):

3.PNG

Já me falaram do aggr(), mas preciso de um help sobre isso.

Obrigado

12 Replies
Not applicable
Author

Clever,

Não deu certo.

[Meta(t)]

sum(MTA_QTD_ORIGEM)

/

1000

[Real(t)]

(sum({$<NAT_GRUPO={'Venda'}, TKT_TIPO={'Faturamento'}>}      TKT_QTD_VENDA)

+

(sum({$<TKT_TIPO={'Devolucao 1'} >}   TKT_QTD_VENDA))

+

(sum({$<TKT_TIPO={'Devolucao 2'} >}   TKT_QTD_VENDA)))

/

1000

[Obj. (t)]

((sum(MTA_QTD_ORIGEM)/(var_dias_uteis_no_mes)) * (var_dias_uteis_ate_hoje))

/

1000

----------------------------------------------------------------------------------------------------------------------

Produto (expressão presente em um grupo cíclico)

PRD_CODIGO& '|' &PRD_DESCRICAO

----------------------------------------------------------------------------------------------------------------------

No.Itens

if([Meta (t)] > 0,

  if([Real. (t) ] / [Obj. (t)] > 1,1,0))

Clever_Anjos
Employee
Employee

Dificil sem uma base, mas tente com

Sum(

      Aggr(

          if(sum(MTA_QTD_ORIGEM)/1000 > 0,if(

(sum({$<NAT_GRUPO={'Venda'}, TKT_TIPO={'Faturamento'}>}      TKT_QTD_VENDA)

+

(sum({$<TKT_TIPO={'Devolucao 1','Devolucao 2'} >}   TKT_QTD_VENDA))

)

/

1000

/

((sum(MTA_QTD_ORIGEM)/(var_dias_uteis_no_mes)) * (var_dias_uteis_ate_hoje))

/

1000

> 1,1,0),0),

      [campo da familia do produto],PRD_CODIGO)

)

Not applicable
Author

Boa tarde a todos,

A solução foi a seguinte:

sum(

  Aggr(

  if(sum(MTA_QTD_ORIGEM)/1000 > 0,

  if(

  ((sum({$<NAT_GRUPO={'Venda'}, TKT_TIPO={'Faturamento'}>}      TKT_QTD_VENDA) + (sum({$<TKT_TIPO={'Devolucao 1'} >}   TKT_QTD_VENDA)) + (sum({$<TKT_TIPO={'Devolucao 2'} >}   TKT_QTD_VENDA)))

  /

  ((sum(MTA_QTD_ORIGEM)/(var_dias_uteis_no_mes)) * (var_dias_uteis_ate_hoje))

)

> 1,1,0),0), PRD_CODIGO))

Agora quando seleciona a familia, ele consolida de acordo.

cleveranjos

A sua ideia ajudou e quase deu certo. Só removi as vezes que tava dividido por 1000.

Obrigado a todos