Do not input private or sensitive data. View Qlik Privacy & Cookie Policy.
Skip to main content

Announcements
Posting on Qlik Community is temporarily paused for some users. Thank you for patience and we'll update you soon!
cancel
Showing results for 
Search instead for 
Did you mean: 
JMario96
Contributor
Contributor

CAMPO CALCULADO

Boa noite pessoal! Espero que estejam bem.

Estou com o seguinte problema - tenho uma tabela com os seguintes campos: Data, Cliente, produto, quantidade, faturamento,tipo

Criei um campo calculado em uma tabela dinamica chamado de "preço" , que seria o Faturamento / quantidade.

No entanto, o campo "tipo" possui duas classificações ( ou é venda  ou é bonificação. As bonificações são uma espécie de bônus que damos aos clientes, logo,  produtos que são classificados como "bonificação" possuem valor de faturamento igual a 0. Portanto, no campo calculado " Preço" , o valor dos itens classificados como bonificação também é igual a zero ( Faturamento / Quantidade = 0/ Quantidade = 0). 

Meu objetivo é fazer com que quando o campo " Preço" dos produtos classificados como bonificação for 0 ele me retorne o preço do mesmo produto para o mesmo "Cliente" que é classificado como "Venda" no campo "Tipo".

Não sei se fui claro o suficiente. Caso precisem de mais informações fico a disposição.

 

Obrigado!!!

6 Replies
nicolett_yuri
Partner Ambassador/MVP
Partner Ambassador/MVP

Consegue disponibilizar uma base de exemplo? Acho que vai ficar fácil para entender a sua necessidade e propor uma solução.

JMario96
Contributor
Contributor
Author

Yuri, seria mais ou menos assim:

 

 Mês   Cliente   Produto   Faturamento   Quantidade   Preço Médio  Tipo
 Jan        A                X                    50,00                    3                        16,66         Venda
 Jan        A                X                       0                         4                              ?        Bonificação

 

Na segunda linha do campo "Preço Médio" ( ? ) eu gostaria que fosse igual a 16,66. Generalizando: Para os produtos classificados como "Bonificação" , o "Preço Médio" será igual ao mesmo dos classificados como "Venda" levando em conta o mesmo "Produto", "Mês" e  "Cliente" .

 

Acho que agora talvez tenha ficado mais claro! Fico a disposição e obrigado 🙂 

 

nicolett_yuri
Partner Ambassador/MVP
Partner Ambassador/MVP

Entendido! Acredito que o seu preço médio venha calculado na sua tabela, correto? Se sim, a solução ficará mais fácil.

Caso contrário, me avise que podemos pensar em um outra solução.

 

 

No script, durante a leitura dos seus dados:

 

1) Crie uma tabela mapping com a informação do Preço Médio do Produto por Mês, Cliente e Produto (note que essa será a nossa chave de ligação):

 

Mapping_PM_Venda:

Mapping LOAD

 [Mês] & '|' & [Cliente] & '|' & [Produto] as [CHAVE],

[Preço Médio]

FROM [lib://SUA_CONEXAO/SUA_TABELA.qvd] (qvd)

WHERE Tipo = 'Venda';

 

 

2) Agora, durante a leitura da sua tabela, aplique o a mapping criado. Repare que ainda estamos fazendo um IF, para ter certeza que o mapping será utilizado apenas quando o tipo for igual a Bonificação:

 

Tabela:

LOAD

[Mês],

[Cliente],

[Produto],

[Tipo],

[Faturamento],

[Quantidade],

[Preço Médio] as [Preço Médio Origem],

IF( [Tipo] = 'Bonificação',

     ApplyMap('Mapping_PM_Venda', [Mês] & '|' & [Cliente] & '|' & [Produto], [Preço Médio]

) as [Preço Médio Novo]

FROM [lib://SUA_CONEXAO/SUA_TABELA.qvd] (qvd);

 

JMario96
Contributor
Contributor
Author

Infelizmente o preço médio não vem calculado na tabela 😞

JMario96
Contributor
Contributor
Author

Podemos pensar em outra alternativa @nicolett_yuri  ?

nicolett_yuri
Partner Ambassador/MVP
Partner Ambassador/MVP

Me passe um painel de exemplo, assim consigo forçar esse cálculo no gráfico