Skip to main content
Announcements
Have questions about Qlik Connect? Join us live on April 10th, at 11 AM ET: SIGN UP NOW
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

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

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

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