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: 
Carlinhos02
Contributor III
Contributor III

Max e Min no Script

Pessoal Bom dia, tenho que fazer a tratativa de dois campos, depois calcular eles e gerar outro campo. 

Date(Date#(ZDTCONFI, 'YYYYMMDD')) & ' ' & Time(Time#(ZHRCONFI, 'hhmmss')) AS DATA_HORA_INICI_CONFERENCIA,
Date(Date#(ZDTCONFF, 'YYYYMMDD')) & ' ' & Time(Time#(ZHRCONFF, 'hhmmss')) AS DATA_HORA_FINAL_CONFERENCIA,

Transformei esses dois campos em datahora e agora preciso do MAX do hora final e do min do hora inicial, subtrair os dois 

e trazer um novo campo chamado tempo expediente, mas quando tento fazer isso no script da erro, como medida funcionou numa boa. mas pra criar como campo ele nao ta criando. esta constatando espressão invalida, segue a minha sintaxe:

Como tentativa de campo:

Date(Date#(ZDTCONFI, 'YYYYMMDD')) & ' ' & Time(Time#(ZHRCONFI, 'hhmmss')) AS DATA_HORA_INICI_CONFERENCIA,
Date(Date#(ZDTCONFF, 'YYYYMMDD')) & ' ' & Time(Time#(ZHRCONFF, 'hhmmss')) AS DATA_HORA_FINAL_CONFERENCIA,


MAX(Date(Date#(ZDTCONFF, 'YYYYMMDD')) & ' ' & Time(Time#(ZHRCONFF, 'hhmmss'))) 

-
Min(Date(Date#(ZDTCONFI, 'YYYYMMDD')) & ' ' & Time(Time#(ZHRCONFI, 'hhmmss')))
as Tempoexpediente,

Ele me retorna expressão invalida. 

Alguem poderia me informar oq esta errado?

 

@Yoshidaqlik 

1 Solution

Accepted Solutions
Carlinhos02
Contributor III
Contributor III
Author

Solução: Funções de agregações no script não da pra fazer sem group by: Segue solução,

TempSeparador:
Load
DATA &'_'&ID_SEPARADOR as %ChaveSep,
Timestamp(Max(DATA_HORA_FINAL_SEPARACAO)) as MaxTempoExpediente,
Timestamp(Min(DATA_HORA_INICI_SEPARACAO)) as MinTempoExpediente,

(hour(Time(Max(DATA_HORA_FINAL_SEPARACAO) - Min(DATA_HORA_INICI_SEPARACAO))) as TempoExpediente

Resident Produto
Group By DATA, ID_SEPARADOR;

View solution in original post

3 Replies
MatheusC
Specialist II
Specialist II

Hi, @Carlinhos02 

Try closing the Date expression with min and max inside it ex: Date(Max and Date(Min

Did you find a solution to your question? Mark the solution as accepted and if you found it useful, press the like button!
Carlinhos02
Contributor III
Contributor III
Author

Olá amigo, ocorreu o seguinte erro:
Invalid expression, acho que por ser expressão de agragação,deve-se ser usado group by
Carlinhos02
Contributor III
Contributor III
Author

Solução: Funções de agregações no script não da pra fazer sem group by: Segue solução,

TempSeparador:
Load
DATA &'_'&ID_SEPARADOR as %ChaveSep,
Timestamp(Max(DATA_HORA_FINAL_SEPARACAO)) as MaxTempoExpediente,
Timestamp(Min(DATA_HORA_INICI_SEPARACAO)) as MinTempoExpediente,

(hour(Time(Max(DATA_HORA_FINAL_SEPARACAO) - Min(DATA_HORA_INICI_SEPARACAO))) as TempoExpediente

Resident Produto
Group By DATA, ID_SEPARADOR;