Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 
LucasIsidoro
Contributor III
Contributor III

De Expressão para Script

Comunidade, Bom dia!

 

Alguém saberia me informar como transportar essa expressão para o script?

Sum
(
	If
	(
		CONSUMO_PREVISAO_TOTAL_PRODUZIDO = 0,
		Aggr
		( 
			CONSUMO_PREVISAO_TOTAL_INFOTEC_PARTICIPACAO * CONSUMO_PREVISAO_TOTAL_QUILOS_PRODUZIR / (100 - CONSUMO_PREVISAO_TOTAL_SCRAP) * 100, 
			CONSUMO_PREVISAO_TOTAL_NUMERO_OT, CONSUMO_PREVISAO_TOTAL_MAQUINA, JUNCAO_MATERIA_PRIMA, CONSUMO_PREVISAO_TOTAL_COEX
		),
		If
		( 
			CONSUMO_PREVISAO_TOTAL_PRODUZIDO > 0 and CONSUMO_PREVISAO_TOTAL_PRODUZIDO <= CONSUMO_PREVISAO_TOTAL_QUILOS_PRODUZIR and CONSUMO_PREVISAO_TOTAL_STATUS = 'AC',
			Aggr
			(
				CONSUMO_PREVISAO_TOTAL_INFOTEC_PARTICIPACAO * (CONSUMO_PREVISAO_TOTAL_QUILOS_PRODUZIR - CONSUMO_PREVISAO_TOTAL_PRODUZIDO) / (100 - CONSUMO_PREVISAO_TOTAL_SCRAP) * 100,
				CONSUMO_PREVISAO_TOTAL_NUMERO_OT, CONSUMO_PREVISAO_TOTAL_MAQUINA, JUNCAO_MATERIA_PRIMA, CONSUMO_PREVISAO_TOTAL_COEX
			)
		)
	)
)

Agradeço desde já! Obrigado!

6 Replies
elvis_schwarz
Creator
Creator

Bom dia Lucas

 

Substitui o Aggr por Group BY

RafaMartins
Creator II
Creator II

Bom dia @elvis_schwarz 

aproveitando o gancho do amigo @LucasIsidoro

também precisava substituir um aggr para essa expressão: if(Aggr(sum([promoção])=0,[Dt.Emissão]),[Dt.Emissão])

porem o qlik não está reconhecendo group by como função quando coloca na expressão .

elvis_schwarz
Creator
Creator

O Group by só vai funcionar no script. Ele não funciona para expressões. Sugiro abrir um novo tópico detalhando sua necessidade

Com o group by referente a duvida desse tópico seria algo como:

LOAD
	ID_Tabela_relacionada,
	CONSUMO_PREVISAO_TOTAL_NUMERO_OT,
	CONSUMO_PREVISAO_TOTAL_MAQUINA,
	JUNCAO_MATERIA_PRIMA,
	CONSUMO_PREVISAO_TOTAL_COEX,
	Sum(CONSUMO_PREVISAO_TOTAL_INFOTEC_PARTICIPACAO * CONSUMO_PREVISAO_TOTAL_QUILOS_PRODUZIR / (100 - CONSUMO_PREVISAO_TOTAL_SCRAP) * 100) as Total
FROM Origem_dados //(ou Resident)
WHERE CONSUMO_PREVISAO_TOTAL_PRODUZIDO = 0
Group BY
 	ID_Tabela_relacionada,
	CONSUMO_PREVISAO_TOTAL_NUMERO_OT,
	CONSUMO_PREVISAO_TOTAL_MAQUINA,
	JUNCAO_MATERIA_PRIMA,
	CONSUMO_PREVISAO_TOTAL_COEX;

 

LucasIsidoro
Contributor III
Contributor III
Author

Amigo @elvis_schwarz

Primeiramente o que seria o ID_Tabela_relacionada?

E outra coisa, quando eu transfiro essa expressão para Script, a maneira de usar ela seria por meio do Sum(Total)?

Eu estou meio confuso em lidar com essas coisas, sou newbie ainda, desculpa se eu tiver fazendo pergunta boba.

 

Obrigado pelo auxílio. Heart

elvis_schwarz
Creator
Creator

Olá Lucas

Primeiramente o que seria o ID_Tabela_relacionada?

O ID_Tabela_relacionada você substitui pela chave ou id que faz o relacionamento com a tabela fato de seu modelo de dados.

E outra coisa, quando eu transfiro essa expressão para Script, a maneira de usar ela seria por meio do Sum(Total)?

Não entendi muito bem sua pergunta mas você vai ter que utilizar a função Sum() para calcular todos os campos necessários e nomear a coluna conforme sua regra de negócio.

Exemplo:

Calcula_Vendas:
Load
     Chave_Vendas,
      Vendedor,
       Sum([Qtd Vendas]*[Vendas R$]) AS [Total Vendas]
Resident Vendas
Where Tipo_Venda = 1
Group By
     Chave_Vendas,
      Vendedor;



     

LucasIsidoro
Contributor III
Contributor III
Author

@elvis_schwarz 

Eu tentei colocar a sua solução no script porém os valores deram bem divergentes.

Capturar.PNG

Esse cálculo BaseCusto (%) e BaseCusto (kg), eu faço via expressão. Porém queria muito que viessem via script, más sem sucesso.

Estou anexando o trecho do projeto, não sei se ajuda. Estou com um pouco de dificuldade.

 

Agradeço desde já.