Hello! I have datasets A and B in different formats with similar data that I'm trying to groom into a single dataset called COMBINED. All of the columns but one are working. In table A we have UserIDs with a string length of two, in table B the UserIDs have a string length of 5, but I would like to shorten it to the first two characters. My code at the moment looks like this:
PROC SQL;
CREATE TABLE WORK.COMBINED AS SELECT
/*Other data grooming removed here for brevity*/
A.Name as Name,
A.UserID AS UserID
FROM WORK.TableA A ;
INSERT INTO WORK.COMBINED (
/*list of all fields here*/
)
SELECT
/*Other data grooming removed for brevity*/
B.Name AS Name,
SUBSTR(B.UserID,1,2) AS UserID
FROM WORK.TableB B ;
QUIT;
I receive the errors
Column UserID could not be found in the table/view identified with the correlation name B.
Unresolved reference to table/correlation name B.
Commenting out this UserID variable, the files combine as expected. Is this not the correct way to reference table B within the substring function? Should I employ a different method in order to take the first two characters of table B's UserID string?
Thanks in advance for any help you can provide.
Maxim 3: know your data.
What the message says. There is no column userid in tableb.
Maxim 3: know your data.
What the message says. There is no column userid in tableb.
For the love of... the column name had a typo in table B.
Sometimes it's staring you in the face and you can't see it.
Thanks Kurt!
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!
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.