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

Adjust the sum with aggr

Good night people,

I'm not good at explaining things, but I will try to illustrate my difficulty.

The application's goal is to calculate the OEE:

The acronym OEE comes from the English "Overall Equipament Effectivences" => General Equipment Efficiency.

OEE is calculated by multiplying three values:

PERFORMANCE X QUALITY X AVAILABLE

In Qlik can calculate the 3 indicators normally, but can not calculate the OEE by day, multilicação does not close, just in TOTAL, the other fields are zeroed:

To get the correct total have a sum (aggr (, MÊS)) out of all the multiplications.

MAQUINA

Data

DISPONIBILIDADE

PERFORMANCE

QUALIDADE

OEE

56,2%

94,3%

1.257,0%

51,2%

Formadora MTM 40 06

01/04/2016

34,3%

95,8%

99,4%

51,2%

Formadora MTM 40 06

05/04/2016

39,9%

115,4%

94,2%

0,0%

Formadora MTM 40 06

06/04/2016

92,9%

176,9%

47,0%

0,0%

Formadora MTM 40 06

07/04/2016

80,7%

22,9%

75,0%

0,0%

Formadora MTM 40 06

08/04/2016

74,5%

48,2%

85,4%

0,0%

Formadora MTM 40 06

12/04/2016

50,9%

86,3%

72,3%

0,0%

Formadora MTM 40 06

13/04/2016

54,1%

96,8%

95,6%

0,0%

Formadora MTM 40 06

14/04/2016

60,9%

40,0%

90,8%

0,0%

Formadora MTM 40 06

15/04/2016

51,5%

133,5%

82,9%

0,0%

Formadora MTM 40 06

18/04/2016

6,7%

0,0%

20,9%

0,0%

Formadora MTM 40 06

19/04/2016

50,0%

145,3%

74,5%

0,0%

Formadora MTM 40 06

20/04/2016

77,3%

117,8%

74,7%

0,0%

Formadora MTM 40 06

25/04/2016

64,4%

88,7%

66,4%

0,0%

Formadora MTM 40 06

26/04/2016

46,1%

91,0%

41,0%

0,0%

Formadora MTM 40 06

27/04/2016

64,6%

106,7%

104,1%

0,0%

Formadora MTM 40 06

28/04/2016

52,1%

156,2%

56,2%

0,0%

Formadora MTM 40 06

29/04/2016

50,3%

42,5%

76,7%

0,0%

This date is the dimension is a date that is in a table "Link Table", formed by dates of all tables with dates.

The expression is as follows (the multiplication of 3 expressions):

SUMAggr(

// DISPONIBILIDADE
//*********************
((
sum(tempo_calendario)
-
(
SUM( AGGR(
SUM( DISTINCT  //SE INICIA ANTES E TERMINA DEPOIS
IF(DATA_INICIO <= DATA_HORA_INICIO_CALENDARIO and DATA_FIM >= DATA_HORA_FIM_CALENDARIO,
IF(DATA_HORA_FIM_CALENDARIO - DATA_HORA_INICIO_CALENDARIO >= '00:00:00', DATA_HORA_FIM_CALENDARIO - DATA_HORA_INICIO_CALENDARIO, '00:00:00')
,
//SE INICIA ANTES E TERMINA ANTES
IF(DATA_INICIO <= DATA_HORA_INICIO_CALENDARIO and DATA_FIM <= DATA_HORA_FIM_CALENDARIO,
IF(INTERVAL(DATA_FIM - DATA_HORA_INICIO_CALENDARIO) >= '00:00:00', INTERVAL(DATA_FIM - DATA_HORA_INICIO_CALENDARIO), '00:00:00'),

//SE INICIA DEPOIS E TERMINA ANTES
IF(DATA_INICIO >= DATA_HORA_INICIO_CALENDARIO and DATA_FIM <= DATA_HORA_FIM_CALENDARIO,
IF(INTERVAL(DATA_FIM - DATA_INICIO) >= '00:00:00', INTERVAL(DATA_FIM - DATA_INICIO), '00:00:00')
,
//SE INICIA DEPOIS E TERMINA DEPOIS
IF(DATA_INICIO >= DATA_HORA_INICIO_CALENDARIO and DATA_FIM >= DATA_HORA_FIM_CALENDARIO,
IF(INTERVAL(DATA_HORA_FIM_CALENDARIO - DATA_INICIO) >= '00:00:00', INTERVAL(DATA_HORA_FIM_CALENDARIO - DATA_INICIO), '00:00:00')
,
'00:00:00'

)   )    ) )     ),
ID_PARADA_MAQUINA, ID_MAQUINARIO, ANO, MÊS, DIA))
))
/
sum(tempo_calendario))
*
// QUALIDADE
//*****************************************************
(
sum( Aggr(
1 -(

(
SUM(QTD_PREVISTA_PECAS) - SUM(QTDE_PRODUZIDA))
  /
 
SUM(QTD_PREVISTA_PECAS) )
  , 
ID_MAQUINARIO_LINK, MÊS
)))
// PERFORMANCE
// ************************************
*
(
(
SUM( Aggr(
Aggr(
(
(60
/
(
aggr(sum(IF( COMPRIMENTO >= COMP_MIN AND COMPRIMENTO <= COMP_MAX,
if( validacao_cliente_velocidade = 'X', velocidade_cliente, VELOCIDADE))), MATERIAL, ORDEM_PRODUÇÃO, Cliente_Velocidade)
  /
 
SUM( COMPRIMENTO_ORDEM / 1000 )))
  /
  60
)
  /
  (
 
SUM(
(
PESO_LINEAR
  *
 
COMPRIMENTO_ORDEM )
  /
  1000 )
  ),
ORDEM_PRODUÇÃO)
  *
SUM(QTDE_PRODUZIDA), ORDEM_PRODUÇÃO
))
  /
  60
)
  /
(
  (
sum(tempo_calendario)
  -
  (
 
SUM( DISTINCT  //SE INICIA ANTES E TERMINA DEPOIS
IF(DATA_INICIO <= DATA_HORA_INICIO_CALENDARIO and DATA_FIM >= DATA_HORA_FIM_CALENDARIO,
IF(DATA_HORA_FIM_CALENDARIO - DATA_HORA_INICIO_CALENDARIO >= '00:00:00', DATA_HORA_FIM_CALENDARIO - DATA_HORA_INICIO_CALENDARIO, '00:00:00')
  ,
//SE INICIA ANTES E TERMINA ANTES
IF(DATA_INICIO <= DATA_HORA_INICIO_CALENDARIO and DATA_FIM <= DATA_HORA_FIM_CALENDARIO,
IF(INTERVAL(DATA_FIM - DATA_HORA_INICIO_CALENDARIO) >= '00:00:00', INTERVAL(DATA_FIM - DATA_HORA_INICIO_CALENDARIO), '00:00:00')
,
//SE INICIA DEPOIS E TERMINA ANTES
IF(DATA_INICIO >= DATA_HORA_INICIO_CALENDARIO and DATA_FIM <= DATA_HORA_FIM_CALENDARIO,
IF(INTERVAL(DATA_FIM - DATA_INICIO) >= '00:00:00', INTERVAL(DATA_FIM - DATA_INICIO), '00:00:00')
,
 
//SE INICIA DEPOIS E TERMINA DEPOIS
IF(DATA_INICIO >= DATA_HORA_INICIO_CALENDARIO and DATA_FIM >= DATA_HORA_FIM_CALENDARIO,
IF(INTERVAL(DATA_HORA_FIM_CALENDARIO - DATA_INICIO) >= '00:00:00', INTERVAL(DATA_HORA_FIM_CALENDARIO - DATA_INICIO), '00:00:00')
,
'00:00:00'
  )   )    )     ) )
)) * 24
  )
// ************************************

)
,
MÊS))

my difficulty is to adjust the sum with aggr.

I thank you for your help.

6 Replies
sunny_talwar

It might be easier to play around and provide a solution, do you think you can provide a sample to look at?

vinisefrin
Contributor II
Contributor II
Author

Good morning Sunny, I will provide a copy, and make available after. Thank you.

sunny_talwar

Sounds good... I will wait for the file

vinisefrin
Contributor II
Contributor II
Author

Sunny, I have attached the file in the original post above.

For you to understand better, the OEE is the multiplication of three values:

56,2% x 94,3% x 96,5% = +- 52%

somatório.jpg

But I need to have this detailed information daily:

ZERADOS.jpg

Thank´s

vinieme12
Champion III
Champion III

Hi,

Please see attached, this should give you some insight on how to aggregate when using pivots

OEEcal.png

Cheers

V

Vineeth Pujari
If a post helps to resolve your issue, please accept it as a Solution.
sunny_talwar

This?

Capture.PNG