Its a LASR Table, but the real root of the data are from a DBMS. By the way. With regards to your Maxim 3. I want to take jus the last quarter if that quarter occurs more then once in a type. How can I achieve that?
So something converts the DBMS data to a LASR table. This is the process that needs to be looked at.
Do you have a direct connection to the DBMS via SAS/ACCESS, or do you read an unload from the DB into SAS?
To retrieve the last entry for a quarter, sort by type, quarter and an optional item (e.g. date), then do
data compressed / view=compressed;
set have;
by type quarter;
if last.quarter;
run;
Since the view will be executed while the data is processed, it won't eat unnecessary disk space.
data have; infile datalines truncover; input type $ quarter :yymmn6. phase $; format quarter yymmn6.; datalines; K-11 202001 1 K-11 202101 2 K-11 202003 K-12 202101 3 K-12 202102 K-12 202002 1 K-13 202002 2 K-13 202103 3 K-13 202104 2 ; proc transpose data=have out=want ; by type; var phase; id quarter; idlabel quarter; run;
You must have data like this :
K-11 202001 1 K-11 202101 2
K-11 202101 22 K-11 202003 K-12 202101 3 K-12 202102 K-12 202002 1 K-13 202002 2 K-13 202103 3 K-13 202104 2
You need figure out what output you want to see for this data.
Are you ready for the spotlight? We're accepting content ideas for SAS Innovate 2025 to be held May 6-9 in Orlando, FL. The call is open until September 25. Read more here about why you should contribute and what is in it for you!
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.