Do not input private or sensitive data. View Qlik Privacy & Cookie Policy.
Skip to main content

Announcements
Posting on Qlik Community is temporarily paused. Thank you for patience and we'll update you soon!
cancel
Showing results for 
Search instead for 
Did you mean: 
danielabyt
Partner - Contributor II
Partner - Contributor II

Range Horas

Bom dia a todos.. Estou com uma dúvida...

Gostaria de mostrar em gráfico o range de horas que as pessoas utilizaram taxi em determinados períodos.

 

Tenho o campo Start Date que possui a hora que as pessoas solicitaram o taxi. Exemplo:

Pessoa x solicitou taxi as 9:00 a.m

Pessoa Y solicitou taxi as 19:00 p.m

Pessoa z solicitou taxi as 01:30 a.m

 

Obs: As horas são bem diversificadas e por isso preciso criar o range para verificar o horário mais utilizado pelas pessoas.

 

Como posso mostrar em gráfico:

De 9:00 as 18:00(Dimensão) a pessoa solicitou taxi x Vezes(Medida);

De 18:01 as 00:00 a pessoa solicitou x Vezes;

De 00:01 as 8:59 as pessoa solicitou x Vezes;

O campo utilizado para contar as pessoas eu utilizo o Employee Name e o horário Start Date... Estou utilizando QLik Sense.

LOAD City,

    `Cost Center`,

    `Employee Email`,

    `Employee Name`,

    `Employee National Id`,

    `Employee Phone`,

    `End Address`,

    `End Date`,

    Fare,

    Id,

    Note,

    `Odometer (km)`,

    `Start Address`,

  `Start Date`,

SQL SELECT City,

    `Cost Center`,

    `Employee Email`,

    `Employee Name`,

    `Employee National Id`,

    `Employee Phone`,

    `End Address`,

    `End Date`,

    Fare,

    Id,

    ID1,

    Note,

    `Odometer (km)`,

    `Start Address`,

    `Start Date`

FROM `TAXI_BASE300317 - TESTE;

Obrigado,

Daniel

Labels (4)
1 Solution

Accepted Solutions
israelcsouza
Contributor III
Contributor III

OK,

Importe o Excel, com este script:

RANGE_HOUR_TEMP:

LOAD Fare,

    [Employee Name],

    [Start Date] AS DATA_HORA,

    LEFT(TIME([Start Date],'HH:MM'),2) AS HORA,

    [Odometer (km)],

    City

FROM

Qlik_Comunidade.xlsx

(ooxml, embedded labels, table is Base);

NoConcatenate

RANGE_HOUR:

LOAD Fare,

    [Employee Name],

    DATA_HORA,

    HORA,

    [Odometer (km)],

    City

Resident RANGE_HOUR_TEMP;

DROP Table RANGE_HOUR_TEMP;

Depois,

Crie 4 variáveis seguintes, na aplicação:

vHr9 com o valor 9

vHr18 com o valor 18

vHr23 com o valor 23

vHr0 com o valor 0

finalmente

com a dimensão: [Employee Name]

crie três expressões:

count({<HORA={'>=$(vHr0)<$(vHr9)'}>}HORA)

count({<HORA={'>=$(vHr9)<$(vHr18)'}>}HORA)

count({<HORA={'>=$(vHr18)<=$(vHr23)'}>}HORA)

Segue como ficou no meu:

rangehora.png

View solution in original post

11 Replies
israelcsouza
Contributor III
Contributor III

Boa tarde,

Você poderia criar Dimensões calculadas, ou na própria expressão.

Pode compartilhar o arquivo como exemplo?

danielabyt
Partner - Contributor II
Partner - Contributor II
Author

Oi Israel... O QVF não posso disponibilizar, infelizmente, porém, fiz alterações no arquivo e coloquei em excel... Isso ajudaria? .. Estou anexando o doc aqui... Obrigado.

israelcsouza
Contributor III
Contributor III

OK,

Importe o Excel, com este script:

RANGE_HOUR_TEMP:

LOAD Fare,

    [Employee Name],

    [Start Date] AS DATA_HORA,

    LEFT(TIME([Start Date],'HH:MM'),2) AS HORA,

    [Odometer (km)],

    City

FROM

Qlik_Comunidade.xlsx

(ooxml, embedded labels, table is Base);

NoConcatenate

RANGE_HOUR:

LOAD Fare,

    [Employee Name],

    DATA_HORA,

    HORA,

    [Odometer (km)],

    City

Resident RANGE_HOUR_TEMP;

DROP Table RANGE_HOUR_TEMP;

Depois,

Crie 4 variáveis seguintes, na aplicação:

vHr9 com o valor 9

vHr18 com o valor 18

vHr23 com o valor 23

vHr0 com o valor 0

finalmente

com a dimensão: [Employee Name]

crie três expressões:

count({<HORA={'>=$(vHr0)<$(vHr9)'}>}HORA)

count({<HORA={'>=$(vHr9)<$(vHr18)'}>}HORA)

count({<HORA={'>=$(vHr18)<=$(vHr23)'}>}HORA)

Segue como ficou no meu:

rangehora.png

danielabyt
Partner - Contributor II
Partner - Contributor II
Author

Israel... meu raciocínio chegou perto rss... Se o cliente não quiser visualizar por tabela e sim por gráfico de barras....como seria? No caso o Range seria dimensão e o nome das pessoas o Count!!...

israelcsouza
Contributor III
Contributor III

Sim, a dimenção continua sendo os clientes, e terá 3 Expressões como esta no exemplo, ai vc pode colocar empilhado, lado a lado, eu utilizo o Qlikview, aqui eu só mudaria pra gráfico em barras, ja estaria pronto, não como no Sense acho que é parecido.

Mas se não quiser ver por cliente, talvez só a quantidade, retire a dimenção. e coloque a expressão como dimensão

Exemplo

rangehora2.png

danielabyt
Partner - Contributor II
Partner - Contributor II
Author

Gostaria de ver exatamente como está no seu gráfico acima... Infelizmente no sense você pode substituir a tabela, no nosso caso, mas, é necessário colocar as infos novamente. No caso de colocar a expressão abaixo como dimensão dará erro por causa do Count.. e assim, o gráfico fica como dimensão invalida.

count({<HORA={'>=$(vHr0)<$(vHr9)'}>}HORA)
israelcsouza
Contributor III
Contributor III

deixe o gráfico sem Dimensão, coloque somente as três expressões, é possível no Sense?

danielabyt
Partner - Contributor II
Partner - Contributor II
Author

Não é possível... Ele exige 1 dimensão...

danielabyt
Partner - Contributor II
Partner - Contributor II
Author

Caso não possua uma rotina para isso, você poderia me passar o seu QVW para que eu possa importar no sense?