Qlik Community

Qlik Brasil

Group community for Brazil users. discussion only in Portuguese.

Highlighted
danielabyt
New 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

1 Solution

Accepted Solutions
israelcsouza
New Contributor III

Re: Range Horas

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

11 Replies
israelcsouza
New Contributor III

Re: Range Horas

Boa tarde,

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

Pode compartilhar o arquivo como exemplo?

danielabyt
New Contributor II

Re: Range Horas

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
New Contributor III

Re: Range Horas

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
New Contributor II

Re: Range Horas

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
New Contributor III

Re: Range Horas

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
New Contributor II

Re: Range Horas

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
New Contributor III

Re: Range Horas

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

danielabyt
New Contributor II

Re: Range Horas

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

danielabyt
New Contributor II

Re: Range Horas

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