Skip to main content
Announcements
Join us at Qlik Connect for 3 magical days of learning, networking,and inspiration! REGISTER TODAY and save!
cancel
Showing results for 
Search instead for 
Did you mean: 
maiconmello
Creator III
Creator III

Dimensão ou expressão

Bom dia, tenho uma expressão que gera a situação 1 e esta funcionando certinho. Gostaria de saber como posso fazer agora a situação 2 ? Podem me ajudar ?

Minha Expressão é um pouco grande

=if((sum({<Tipo_NF=>}Estoque_Vl_EstoqueNominal) /

((sum({$<Nota_Data_Emissao={">=$(v_DataIni_CMV) <=$(v_DataFim_CMV)"}, Estoque_DT_Estoque =>}ItemNota_ValorCusto)  +

(sum({$<Nota_Data_Emissao={">=$(v_Ini_Mes_Atual) <=$(v_Fim_Mes_Atual)"}, Estoque_DT_Estoque =>}ItemNota_ValorCusto)  / $(v_Dt_Estoque)) * day(MonthEnd(Today())))/4)) * 30 = 0,999,

(sum({<Tipo_NF=>}Estoque_Vl_EstoqueNominal) /

((sum({$<Nota_Data_Emissao={">=$(v_DataIni_CMV) <=$(v_DataFim_CMV)"}, Estoque_DT_Estoque =>}ItemNota_ValorCusto)  +

(sum({$<Nota_Data_Emissao={">=$(v_Ini_Mes_Atual) <=$(v_Fim_Mes_Atual)"}, Estoque_DT_Estoque =>}ItemNota_ValorCusto)  / $(v_Dt_Estoque) /*divide pela dia selecionado */) * day(MonthEnd(Today())))/4)) * 30)

===Situação 1 - Ja funciona

CategoriaProduto>120 dias
1120121
12111
122190
12480
3445
544400

======Situação 2

Objetivo

CategoriaProduto>120 dias
1120121
122190
544400
1 Solution

Accepted Solutions
Marcio_Campestrini
Specialist
Specialist

Maicon

Veja se a fórmula abaixo funciona. Aqui pareceu funcionar.

=if(

  Aggr((sum({<Tipo_NF=>}Estoque_Vl_EstoqueNominal)

  /

  (

  (sum({$<Nota_Data_Emissao={">=$(v_DataIni_CMV)  <=$(v_DataFim_CMV)"}, Estoque_DT_Estoque =>}ItemNota_ValorCusto)  +

(sum({$<Nota_Data_Emissao={">=$(v_Ini_Mes_Atual) <=$(v_Fim_Mes_Atual)"}, Estoque_DT_Estoque =>}ItemNota_ValorCusto)

/ $(v_Dt_Estoque)) * day(MonthEnd(Today())))/4) * 30), PK_CODITPROD)  > 120,PK_CODITPROD,NULL())

Márcio Rodrigo Campestrini

View solution in original post

9 Replies
Marcio_Campestrini
Specialist
Specialist

Maicon, bom dia

Pelo que entendi, agora você quer que apareça somente os produtos com quantidade de dias maior que o "parâmetro" informado. É isso?

Márcio Rodrigo Campestrini
maiconmello
Creator III
Creator III
Author

Exato Marcio !

Marcio_Campestrini
Specialist
Specialist

Maicon,

Uma solução é você replicar a sua fórmula como dimensão calculada, da seguinte forma:

Dimensão Produto: If(

((sum({$<Nota_Data_Emissao={">=$(v_DataIni_CMV) <=$(v_DataFim_CMV)"}, Estoque_DT_Estoque =>}ItemNota_ValorCusto)  +

(sum({$<Nota_Data_Emissao={">=$(v_Ini_Mes_Atual) <=$(v_Fim_Mes_Atual)"}, Estoque_DT_Estoque =>}ItemNota_ValorCusto)  / $(v_Dt_Estoque) /*divide pela dia selecionado */) * day(MonthEnd(Today())))/4)) * 30)

> 120, Produto, Null())

Depois de fazer isso, habilite a opção de "Ocultar quando o valor for nulo" para a dimensão Produto

Márcio Rodrigo Campestrini
maiconmello
Creator III
Creator III
Author

Marcio, até fiz isso, mas não foi, fica com erro na dimensão !!!

Dúvida é essa mesmo !

Marcio_Campestrini
Specialist
Specialist

Maicon, você consegue reduzir a aplicação e postar aqui para que eu possa dar uma olhada?

Márcio Rodrigo Campestrini
maiconmello
Creator III
Creator III
Author

Segue Marcio

Marcio_Campestrini
Specialist
Specialist

Maicon

Veja se a fórmula abaixo funciona. Aqui pareceu funcionar.

=if(

  Aggr((sum({<Tipo_NF=>}Estoque_Vl_EstoqueNominal)

  /

  (

  (sum({$<Nota_Data_Emissao={">=$(v_DataIni_CMV)  <=$(v_DataFim_CMV)"}, Estoque_DT_Estoque =>}ItemNota_ValorCusto)  +

(sum({$<Nota_Data_Emissao={">=$(v_Ini_Mes_Atual) <=$(v_Fim_Mes_Atual)"}, Estoque_DT_Estoque =>}ItemNota_ValorCusto)

/ $(v_Dt_Estoque)) * day(MonthEnd(Today())))/4) * 30), PK_CODITPROD)  > 120,PK_CODITPROD,NULL())

Márcio Rodrigo Campestrini
maiconmello
Creator III
Creator III
Author

Obrigado Marcio , faltou um AGGR... Show !!

Marcio_Campestrini
Specialist
Specialist

Por nada Maicon

Isso acontece comigo até hoje...

Márcio Rodrigo Campestrini