Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

Group By - Mais de uma dimensão

Boa tarde, pessoal.

Será que poderiam me ajudar com essa dúvida?

Considerem a seguinte base de dados:

Screenshot_1.png

Gostaria que ela ficasse da seguinte forma:

Screenshot_2.png

As 2 últimas colunas são as somas do tempo total gasto em cada atividade (1 ou 2), por cada funcionário (A ou B), naquele dia (independente da hora).

Preciso que essa tabela seja montada no script da carga de dados, não na visualização.

Como agrupar as somas por agente e data?

Consigo fazer apenas o 'Group by Funcionário' ou 'Group by Data'...

Labels (4)
1 Solution

Accepted Solutions
maxgro
MVP
MVP

Result

1.png

Script

(change the field names with yours)

A:

load

  Date(Floor(Timestamp#(DataOra, 'DD/MM/YYYY hh:mm'))) as Data,

  *

inline [

DataOra, Fun, Ati, Dur

01/01/2017 10:00, A, 1, 01:00

01/01/2017 11:00, A, 1, 01:00

01/01/2017 12:00, A, 2, 01:00

01/01/2017 10:00, B, 1, 01:00

01/01/2017 10:00, B, 2, 01:00

02/01/2017 10:00, A, 1, 01:00

02/01/2017 10:00, A, 1, 01:00

02/01/2017 10:00, B, 2, 01:00

02/01/2017 10:00, B, 2, 01:00

];

B:

load

  Data,

  Fun,

  interval(sum(if(Fun='A',Dur))) as AtiOfA,

  interval(sum(if(Fun='B',Dur))) as AtiOfB

Resident A

Group By Data, Fun;

drop table A;

View solution in original post

2 Replies
maxgro
MVP
MVP

Result

1.png

Script

(change the field names with yours)

A:

load

  Date(Floor(Timestamp#(DataOra, 'DD/MM/YYYY hh:mm'))) as Data,

  *

inline [

DataOra, Fun, Ati, Dur

01/01/2017 10:00, A, 1, 01:00

01/01/2017 11:00, A, 1, 01:00

01/01/2017 12:00, A, 2, 01:00

01/01/2017 10:00, B, 1, 01:00

01/01/2017 10:00, B, 2, 01:00

02/01/2017 10:00, A, 1, 01:00

02/01/2017 10:00, A, 1, 01:00

02/01/2017 10:00, B, 2, 01:00

02/01/2017 10:00, B, 2, 01:00

];

B:

load

  Data,

  Fun,

  interval(sum(if(Fun='A',Dur))) as AtiOfA,

  interval(sum(if(Fun='B',Dur))) as AtiOfB

Resident A

Group By Data, Fun;

drop table A;

Not applicable
Author

Thanks!