I am trying to run a query in Enterprise Guide that gives me the most recent records. I am working with mortgage tables that show multiple submits per LOAN_ID. So what I am trying to do is to return the latest full record (50 fields) with the LOAN_ID being unique in the output. To find the latest record, I can use either of 2 fields:
ANALYSIS_DATE (DATE)
EXECUTION_ID (NUMERIC - AUTONUMBER)
I realize that I can group by LOAN_ID and take the MAX of either of these fields, but that does not give me then newest entire record. Can anybody point me in the right direction?
Mahalo.
I don't use EG much, but in SQL query you have to join the summary query to the original table like in the query below. Maybe that will give you a clue to what you have to do in EG.
proc sql;
create table want as
select
m.*
from
mortgage_table m
join
( select loan_id, max( execution_id ) as max_id
from mortgage_table
group by load_id ) s
on
m.loan_id = s.loan_id and
m.execution_id = s.max_id
;
quit;
you can get what you want by using Sort task , not the query builder. first sort you data by loan_id and date, then sort by loan_id again and select the sort option
'only keep the first record of each 'Sort By' '. please check the attached screen shot.
Thank you Linlin. That was exactly what I was looking for!:smileycool:
you can sort in the desc order and keep only the 1st record as mentioned above!!!
Don't miss out on SAS Innovate - Register now for the FREE Livestream!
Can't make it to Vegas? No problem! Watch our general sessions LIVE or on-demand starting April 17th. Hear from SAS execs, best-selling author Adam Grant, Hot Ones host Sean Evans, top tech journalist Kara Swisher, AI expert Cassie Kozyrkov, and the mind-blowing dance crew iLuminate! Plus, get access to over 20 breakout sessions.
What’s the difference between SAS Enterprise Guide and SAS Studio? How are they similar? Just ask SAS’ Danny Modlin.
Find more tutorials on the SAS Users YouTube channel.