Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Olá moçada.
To com um problema féla.
Preciso extrair a média de tempo da saida de uma cidade até a entrada em outra cidade.
Tenho uma tabela que possui todas as ocorrencias por onde a minha carga passou.
Ex:
ID | TIPO OCORRÊNCIA | ID LOCALIDADE | MOVIMENTO | DATA OCORRENCIA |
1 | SAIDA | 37 | 8 | 01/01/2013 08:45 |
2 | ENTRADA | 45 | 8 | 04/01/2013 10:45 |
3 | SAIDA | 50 | 9 | 03/01/2013 08:45 |
4 | ENTRADA | 55 | 9 | 04/01/2013 01:45 |
5 | SAIDA | 37 | 10 | 05/01/2013 08:45 |
6 | ENTRADA | 45 | 10 | 08/01/2013 15:40 |
7 | SAIDA | 55 | 11 | 07/01/2013 08:45 |
8 | ENTRADA | 37 | 11 | 08/01/2013 10:05 |
9 | SAIDA | 55 | 12 | 09/01/2013 08:45 |
10 | ENTRADA | 45 | 12 | 10/01/2013 08:45 |
11 | SAIDA | 37 | 13 | 11/01/2013 08:45 |
12 | ENTRADA | 45 | 13 | 14/01/2013 14:30 |
13 | SAIDA | 37 | 14 | 13/01/2013 08:45 |
14 | ENTRADA | 45 | 14 | 16/01/2013 13:20 |
15 | SAIDA | 50 | 15 | 15/01/2013 08:45 |
16 | ENTRADA | 55 | 15 | 16/01/2013 04:20 |
17 | SAIDA | 45 | 16 | 17/01/2013 08:45 |
18 | ENTRADA | 55 | 16 | 17/01/2013 09:50 |
19 | SAIDA | 37 | 17 | 19/01/2013 04:20 |
20 | ENTRADA | 45 | 17 | 22/01/2013 16:20 |
Eu preciso montar uma tabela que me traga a média de tempo entre as localidades:
Ex:
Origem | Destino | Media de Transito |
37 | 45 | 3,4 |
50 | 55 | 1,2 |
55 | 37 | 0,5 |
50 | 55 | 0,9 |
45 | 55 | 0,1 |
Alguém tem ideia de como eu posso fazer isso?
Tentei numa tabela simples (grafico) com a seguinte logica numa EXPRESSÃO, porém não fumega:
AVG(
if(ID LOCALIDADE = LOCALIDADE_DESTINO and OCORRENCIA = ENTRADA, Num(DATA OCORRENCIA))
-
if(ID LOCALIDADE = LOCALIDADE_ORIGEM and OCORRENCIA = SAÍDA, Num(DATA OCORRENCIA))
)
Qq vcs me dizem?
Vlw moçada!
E ai Tonicus,
fiz um exemplo pra ti, esta anexado, me diz se era isso mesmo.
abs.
ps.:
Não consegui pensar em uma maneira melhor de fazer, se alguem souber da um toque aí.. eu agradeço.
Cheguei ao mesmo resultado, a unica diferença que no meu exemplo eu não estava conseguindo calcular a diferenças entre as datas, mas depois eu percebi que o campo "Data Ocorrencia" não estava sendo lido como um datetime e sim como uma string.
Acredito que é preciso garantir que o formato do campo seja como um datetime (no meu exemplo eu inseri os dados com INLINE e para que o Qlikview convertesse para DateTime tive que inserir os segundos ex.: 16/01/2013 13:20 => 16/01/2013 13:20:00)
Um outro detalhe é que se quiser ver a média em dias e horas, basta colocar no formato da data a mascara:
dd hh:mm
ex.:
DATE(Data_Ocorrencia, 'dd hh:mm')
Podecre Eduardo... acho q isso deixa redondinha a análise, vamos ver o que o tonicuss vai dizer =D
ah sim, sabe dizer se da pra fazer essa parada sem ter que deixar as colunas lado a lado como eu fiz?
Vlw Kaauan e Eduardo, xow de bola moçada!
Salvaram minha sexta de carnaval!!!
Abraço e um loko carnaval a todos!
De nada mano..
só nao esquece de colocar um "correct answer" e um "help answer" pra fechar o post.
abs.
Não entendi Kaauan,
Tirar as dimensões origem e destino?
Isso, quer dizer, fazer tudo direto nos objetos, sem criar novos campos, é possivel?
A expressão consegue fazer por set analsys, o problema esta em gerar estas dimensões (Origem e Destino).
A expressão seria algo assim:
AVG(
AGGR(
MAX({<[TIPO OCORRÊNCIA] ={"ENTRADA"}>} [DATA OCORRENCIA])
- MAX({<[TIPO OCORRÊNCIA]={"SAIDA"}>} [DATA OCORRENCIA])
, MOVIMENTO)
)
Eu tentei utilizar o MIN e o MAX para obter a dimensão, mas acontece que nem sempre o destino vai ser maior que a origem.
Teria que apenas ver como criar as dimensões.
Abraços