Skip to main content
Announcements
The way to achieve your own success is the willingness to help somebody else. Go for it!
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';