Skip to main content
Announcements
See what Drew Clarke has to say about the Qlik Talend Cloud launch! READ THE BLOG
cancel
Showing results for 
Search instead for 
Did you mean: 
StaHorse
Contributor III
Contributor III

How to select a Day from a Date.

Hi,

I have this expression "where num(Date(LogTimeStamp)) >= num(monthstart(AddMonths(date(today()),-2)));" I need to change it to look only at only the previous day. please help.

Labels (3)
1 Solution

Accepted Solutions
StaHorse
Contributor III
Contributor III
Author

I solved it, I did this instead:

let vCurentMonth = Month(addmonths(today(),-0));
let vPreviousDay = Day(Today()-1);

FailedReloads:
LOAD
Id,
LogTimeStamp as ErrorTime,
Day(LogTimeStamp) as LogDay,
month(LogTimeStamp) as LogMonth,
Hostname as ErrorHost,
"Task Name" as FailedTask,
"App Name" as FailedApp,
EndStatus as Failed,
Message as Message,
rowno() as FailedRow
resident TCheckReloadTasks
where Day(LogTimeStamp) = '$(vPreviousDay)'
and month(LogTimeStamp) = '$(vCurentMonth)'

View solution in original post

8 Replies
BrunPierre
Partner - Master
Partner - Master

Hi,

Filter for only the previous day data as below.

"where num(Date(LogTimeStamp)) = Num(Date(Today()-1)) ;"

StaHorse
Contributor III
Contributor III
Author

Hi,

There's my date:

StaHorse_0-1678116793844.png

 

and when I put this condition "where num(Date(LogTimeStamp)) = Num(Date(Today()-1)) ;" I get nothing back. I expect to get all the data for the 05th, which is a day before today (06 March) 

 

BrunPierre
Partner - Master
Partner - Master

Try with this.

Where Date(Timestamp#(ErrorTime, 'YYYY-MM-DD hh:mm:ss'), 'YYYY-MM-DD') = Date(Today()-1, 'YYYY-MM-DD')

StaHorse
Contributor III
Contributor III
Author

Hi,

I still get empty results:

StaHorse_0-1678170744819.png

Here's my query:

FailedReloads:
LOAD
Id,
LogTimeStamp as ErrorTime,
Hostname as ErrorHost,
"Task Name" as FailedTask,
"App Name" as FailedApp,
EndStatus as Failed,
Message as Message,
rowno() as FailedRow
resident TCheckReloadTasks
where Date(Timestamp(LogTimeStamp, 'YYYY-MM-DD hh:mm:ss'), 'YYYY-MM-DD') = Date(Today()-1, 'YYYY-MM-DD')
;

Or
MVP
MVP

Date() does not trim the time from a timestamp. If you want to trim the time aspect, use Floor(Date) or Dayname(Date).

StaHorse
Contributor III
Contributor III
Author

I tried both Floor and DayName, still no results:

FailedReloads:
LOAD
Id,
LogTimeStamp as ErrorTime,
Hostname as ErrorHost,
"Task Name" as FailedTask,
"App Name" as FailedApp,
EndStatus as Failed,
Message as Message,
rowno() as FailedRow
resident TCheckReloadTasks
where Floor(Timestamp(LogTimeStamp, 'YYYY-MM-DD hh:mm:ss'), 'YYYY-MM-DD') = Floor(Today()-1, 'YYYY-MM-DD')

Or
MVP
MVP

That doesn't look like the correct use of Floor()... why did you give it a YYYY-MM-DD parameter? Floor is a mathematical function...

StaHorse
Contributor III
Contributor III
Author

I solved it, I did this instead:

let vCurentMonth = Month(addmonths(today(),-0));
let vPreviousDay = Day(Today()-1);

FailedReloads:
LOAD
Id,
LogTimeStamp as ErrorTime,
Day(LogTimeStamp) as LogDay,
month(LogTimeStamp) as LogMonth,
Hostname as ErrorHost,
"Task Name" as FailedTask,
"App Name" as FailedApp,
EndStatus as Failed,
Message as Message,
rowno() as FailedRow
resident TCheckReloadTasks
where Day(LogTimeStamp) = '$(vPreviousDay)'
and month(LogTimeStamp) = '$(vCurentMonth)'