Skip to main content
Announcements
See why Qlik was named a Leader in the 2024 Gartner® Magic Quadrant™ for Data Integration Tools for the ninth year in a row: Get the report
cancel
Showing results for 
Search instead for 
Did you mean: 
filipemknh
Contributor III
Contributor III

Filtrar hora de coluna com data e hora

Olá Pessoal, tenho uma coluna com data e hora do tipo 13/10/2020 18:08:00 . Gostaria de poder filtrar no carregamento todas as datas porém que estiverem entre 7:30:00 até 22:00:00.

Já tentei de várias formas, com where, mas só consigo quando crio uma coluna auxiliar no .csv separando a hora da data antes de carregar. Gostaria de poder tratar isto no qliksense mesmo.

Tentei separar ela no carregamento e depois com where pegar só as horas que me são uteis.. mais não deu.

LOAD

created_at,

Time(Time(created_at,'DD/MM/YYYY hh:mm:ss'), 'hh:mm:ss') as Tempo3,


FROM [lib://Gestão:Dropbox - filipe.mattos@rbt.psi.br/rbt - técnica/Pasta1.xlsx]
(ooxml, embedded labels, table is Planilha1)

where Tempo3 >= '**/**/**** 07:30:00' and Tempo3 <= '**/**/**** 22:00:00';

 

======

LOAD

created_at,

Time(Time(created_at,'DD/MM/YYYY hh:mm:ss'), 'hh:mm:ss') as Tempo3,


FROM [lib://Gestão:Dropbox - filipe.mattos@rbt.psi.br/rbt - técnica/Pasta1.xlsx]
(ooxml, embedded labels, table is Planilha1)

where Tempo3 >= 'DD/MM/YYYY 07:30:00' and Tempo3 <= 'DD/MM/YYYY 22:00:00';

 

Tentei aplicar direto na coluna mas também não deu.

LOAD

created_at,

FROM [lib://Gestão:Dropbox - filipe.mattos@rbt.psi.br/rbt - técnica/Pasta1.xlsx]
(ooxml, embedded labels, table is Planilha1)

where created_at >= 'DD/MM/YYYY 07:30:00' and created_at <= 'DD/MM/YYYY 22:00:00';

 

Se alguém já tiver passado por este problema e puder me auxiliar, agradeço! 

Grande abraço!

1 Solution

Accepted Solutions
RafaMartins
Creator II
Creator II

Esse vai funcionar

Time#(Time(Date(created_at,'DD/MM/YYYY'),'hh:mm:ss'),'hh:mm:ss') >='07:30:00' and Time#(Time(Date(created_at,'DD/MM/YYYY'),'hh:mm:ss'),'hh:mm:ss') <='22:00:00';

View solution in original post

10 Replies
RafaMartins
Creator II
Creator II

Tente transformar o campo dentro do where

LOAD

created_at,

FROM [lib://Gestão:Dropbox - filipe.mattos@rbt.psi.br/rbt - técnica/Pasta1.xlsx]
(ooxml, embedded labels, table is Planilha1)

where Time(Date#(created_at'DD/MM/YYYY hh:mmtt'), 'hh:mm:ss')  >= '07:30:00' and Time(Date#(created_at'DD/MM/YYYY hh:mmtt'), 'hh:mm:ss') <= '22:00:00';

 

filipemknh
Contributor III
Contributor III
Author

Olá Rafael, bom dia. Obrigado pelo auxílio.

A sintaxe é aceita. Fiz alguns ajustes ali..

where Time(Date#(created_at, 'DD/MM/YYYY hh:mm:tt'), 'hh:mm:ss') >= '07:30:00' and Time(Date#(created_at,'DD/MM/YYYY hh:mmtt'), 'hh:mm:ss') <= '22:00:00';

Mas não retorna dado nenhum. Creio que ele não interpreta desta forma os dados.

RafaMartins
Creator II
Creator II

Adicione um campo com essa expressão Time(Date#(created_at, 'DD/MM/YYYY hh:mm:tt'), 'hh:mm:ss')

e teste para ver como é o valor de saída disso.

O problema pode estar na formatação da data, tente usa só Date ao invés de Date# 

filipemknh
Contributor III
Contributor III
Author

Consigo adicionar no load sem problemas. Contudo não consigo usar este campo criado no load no Where

LOAD

Time(Date(created_at,'DD/MM/YYYY hh:mm:ss'), 'hh:mm:ss') as Tempo3,

FROM [lib://Pasta1.xlsx](ooxml, embedded labels, table is Planilha1)

Nem assim:

where Tempo3 >= '07:30:00' and Tempo3 <= '22:00:00';

Nem assim:

where Time(Date#(Tempo3,'DD/MM/YYYY hh:mm:tt'), 'hh:mm:ss') >= '07:30:00' and Time(Date#(Tempo3,'DD/MM/YYYY hh:mmtt'), 'hh:mm:ss') <= '22:00:00'; 

Nem retirando o "#" depois do Date. De todas as formas ele apresenta erro no carregamento.

RafaMartins
Creator II
Creator II

Não, o que sugeri era vc dar load nesse campo para ver se ele apresenta dados ou não, ou qual formato está saindo os dados.

Sabendo isso vc vai mudar o where que passei na primeira vez de acordo com os dados que o campo está retornando.

filipemknh
Contributor III
Contributor III
Author

Ah sim Rafael, dados tem. Sem o filtro aparece como 14/10/2020 14:36:00 . Aplicando esse filtro ele me apresenta só as horas 14:36:00. Isto está correto.

RafaMartins
Creator II
Creator II

Então o where que passei deveria estar funcionando, poderia disponibilizar um modelo dessa planilhar?

filipemknh
Contributor III
Contributor III
Author

è.. mas mim não aparece nada. Quando adiciono o Where filtrando a coluna criada utilizando o Time etc..  o gráfico da planilha fica sem dado algum.

 

 

RafaMartins
Creator II
Creator II

Esse vai funcionar

Time#(Time(Date(created_at,'DD/MM/YYYY'),'hh:mm:ss'),'hh:mm:ss') >='07:30:00' and Time#(Time(Date(created_at,'DD/MM/YYYY'),'hh:mm:ss'),'hh:mm:ss') <='22:00:00';