Hi all,
The question is when I run the following code:
proc sql; select household, unique(trip) as trip, sum(exp) from temp.data group by household, trip; quit;
SAS pop up the error: Function UNIQUE could not be located. However, when I switched the unique() term to the first and change the code to
proc sql; select unique(trip) as trip, household, sum(exp) from temp.data group by household, trip; quit;
The procedure works normally.
So does this mean that unique() function needs to immediately follow select?
Thanks
Unique in SAS implementation of SQL is analogous to DISTINCT, and it does apply to all columns and is required at the beginning of the SELECT statement.
Keyword: UNIQUE Context: [PROC SQL, CREATE TABLE STATEMENT] UNIQUE option
[constraint] Specifies that the values of the column must be unique. This constraint is identical to DISTINCT.
A caveat to that is when using in aggregate function such as count:
proc sql;
create table test5 as
select origin, count(distinct make) as count
from sashelp.cars
group by origin;
quit;
Unique in SAS implementation of SQL is analogous to DISTINCT, and it does apply to all columns and is required at the beginning of the SELECT statement.
Keyword: UNIQUE Context: [PROC SQL, CREATE TABLE STATEMENT] UNIQUE option
[constraint] Specifies that the values of the column must be unique. This constraint is identical to DISTINCT.
A caveat to that is when using in aggregate function such as count:
proc sql;
create table test5 as
select origin, count(distinct make) as count
from sashelp.cars
group by origin;
quit;
Build your skills. Make connections. Enjoy creative freedom. Maybe change the world. Registration is now open through August 30th. Visit the SAS Hackathon homepage.
Register today!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.
Select SAS Training centers are offering in-person courses. View upcoming courses for: