Hello,
Referrring to the code below, I have to create a column 'calendar_date' which is the date in the column 'Start_date' incremented by the months in corresponding 'exposure' column. The program gives me an error which is mentioned below:
CODE:
PROC SQL;
CREATE TABLE CONTRACTS_VIN AS
SELECT * FROM EXPOSURE_CONTRACTS_GRID, intnx('month', start_date, exposure) as calendar_month
WHERE EXPOSURE <= (TERM+6);
QUIT;
Error:
178 EXPOSURE_CONTRACTS_GRID as select * from data2 cross join exposure_grid order by contract_vin, exposure; quit; PROC SQL
178 ! ; CREATE TABLE CONTRACTS_VIN AS SELECT * FROM EXPOSURE_CONTRACTS_GRID, intnx('month', start_date, exposure) as
_
79
178 ! calendar_month WHERE
ERROR 79-322: Expecting a ).
NOTE: Line generated by the invoked macro "DATA".
178 EXPOSURE_CONTRACTS_GRID as select * from data2 cross join exposure_grid order by contract_vin, exposure; quit; PROC SQL
178 ! ; CREATE TABLE CONTRACTS_VIN AS SELECT * FROM EXPOSURE_CONTRACTS_GRID, intnx('month', start_date, exposure) as
_
79
178 ! calendar_month WHERE
ERROR 79-322: Expecting a (.
NOTE: PROC SQL set option NOEXEC and will continue to check the syntax of statements.
NOTE: The SAS System stopped processing this step because of errors.
NOTE: PROCEDURE SQL used (Total process time):
real time 0.00 seconds
cpu time 0.00 seconds
As a first step I would correct the select statement:
SELECT *, intnx('month', start_date, exposure) as calendar_month FROM EXPOSURE_CONTRACTS_GRID
Also, if you want the new date to represent the same day of the month as start_date, and not the first day, as you would get by default, you should use option SAME:
intnx('month', start_date, exposure, "SAME") as calendar_month
Catch the best of SAS Innovate 2025 — anytime, anywhere. Stream powerful keynotes, real-world demos, and game-changing insights from the world’s leading data and AI minds.
Learn the difference between classical and Bayesian statistical approaches and see a few PROC examples to perform Bayesian analysis in this video.
Find more tutorials on the SAS Users YouTube channel.
Ready to level-up your skills? Choose your own adventure.