You wont be able to run this code as a test however Im attemtping to determine why I am getting this error
proc sql;
create table test1 as
WITH FCSCHED AS (/*CRITERIA: Pull FC sep Details, Use Row number and Setup date to Find most recent actions for FC Sales Scheduled */
SELECT ROW_NUMBER() over(Partition by T_FORECLSURE_STEP.LN_NO Order by T_FORECLSURE_STEP.FC_SETUP_DT DESC) AS RN
,T_FORECLSURE_STEP.LN_NO
,T_FORECLSURE_STEP.FC_SETUP_DT
,T_FORECLSURE_STEP.FS_STEP_CD
,T_FORECLSURE_STEP.FS_SCHED_COMPL_DT
,T_FORECLSURE_STEP.FS_ACTUAL_COMPL_DT
FROM _dbeappl.T_FORECLSURE_STEP T_FORECLSURE_STEP
WHERE (T_FORECLSURE_STEP.FS_STEP_CD In ('075'))
)
,FCHELD AS (/*CRITERIA: Pull FC sep Details, Use Row number and Setup date to Find most recent actions for FC Sales Held */
SELECT ROW_NUMBER() over(Partition by T_FORECLSURE_STEP.LN_NO Order by T_FORECLSURE_STEP.FC_SETUP_DT DESC) AS RN
,T_FORECLSURE_STEP.LN_NO
,T_FORECLSURE_STEP.FC_SETUP_DT
,T_FORECLSURE_STEP.FS_STEP_CD
,T_FORECLSURE_STEP.FS_SCHED_COMPL_DT
,T_FORECLSURE_STEP.FS_ACTUAL_COMPL_DT
FROM _dbeappl.T_FORECLSURE_STEP T_FORECLSURE_STEP
WHERE (T_FORECLSURE_STEP.FS_STEP_CD In ('078','080'))
)
SELECT a.LN_NO
,FCSCHED.FS_ACTUAL_COMPL_DT AS FC_SALE_SCHED
,FCHELD.FS_ACTUAL_COMPL_DT AS FC_SALE_HELD
FROM
(select distinct LN_NO from _dbeappl.T_LONG_COMMENT
where LONG_COMM_CD IN ('DFCRND','DFCRD6','DFCORN','DFCRN6')
AND LN_NO <> '0121133333') a
LEFT JOIN FCSCHED ON (a.LN_NO = FCSCHED.LN_NO AND FCSCHED.RN = 1)
LEFT JOIN FCHELD ON (a.LN_NO = FCHELD.LN_NO AND FCHELD.RN = 1)
;quit;
47 proc sql;
48 create table test1 as
49
50 WITH FCSCHED AS (/*CRITERIA: Pull FC sep Details, Use Row number and Setup date to Find most recent actions for FC Sales Scheduled */
____
22
202
ERROR 22-322: Syntax error, expecting one of the following: (, SELECT.
ERROR 202-322: The option or parameter is not recognized and will be ignored.
51 SELECT ROW_NUMBER() over(Partition by T_FORECLSURE_STEP.LN_NO Order by T_FORECLSURE_STEP.FC_SETUP_DT DESC) AS RN
____
22
76
ERROR 22-322: Syntax error, expecting one of the following: !, !!, &, *, **, +, ',', -, /, <, <=, <>, =, >, >=, ?, AND, BETWEEN, CONTAINS, EQ, EQT, GE, GET, GT, GTT, LE, LET, LIKE, LT, LTT, NE, NET, OR, ^=, |, ||, ~=.
ERROR 76-322: Syntax error, statement will be ignored.
You are not using valid SQL. Neither WITH nor OVER and not part of the ANSI standard from 1992 that PROC SQL implements. SAS does not have a function named ROW_NUMBER.
You don't have to use SQL in SAS to get things done. Unlike a lot of DBMS systems SAS has its own language for manipulating data.
Please explain what you are trying to do.
Then you can get it done using the DATA step and/or procedures such as PROC FREQ, PROC SUMMARY, PROC RANK, etc..
Please place LOG entries in a text box. Then the diagnostic characters that appear in your multiple error messages will appear in the relative place showing exactly the problem location. Such as WITH is not a SAS Proc SQL statement.
April 27 – 30 | Gaylord Texan | Grapevine, Texas
Walk in ready to learn. Walk out ready to deliver. This is the data and AI conference you can't afford to miss.
Register now and lock in 2025 pricing—just $495!
Still thinking about your presentation idea? The submission deadline has been extended to Friday, Nov. 14, at 11:59 p.m. ET.
Learn how use the CAT functions in SAS to join values from multiple variables into a single value.
Find more tutorials on the SAS Users YouTube channel.
Ready to level-up your skills? Choose your own adventure.