turn on suggestions

Auto-suggest helps you quickly narrow down your search results by suggesting possible matches as you type.

Showing results for

Find a Community

- Home
- /
- SAS Programming
- /
- SAS Procedures
- /
- where statement

Topic Options

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page

- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Highlight
- Email to a Friend
- Report Inappropriate Content

07-25-2016 07:41 AM

Hello

I have the following code:

**proc** **glm** data=sasuser.sasfile250716;

where year>=0 year<=5;

model ROA = salesGro rdsales LTassets LNAssets cAPAXASS DIVASSETS **bleep**efound BETA

/solution;

**run**;

I have a variable "year" which have the indicators 0-10. I want to run a regression that will limit

the data to years of two groups: 0-5 and 6-10. I used the statement where but got an ERROR

534 proc glm data=sasuser.sasfile250716;

535 where year>=0 year<=5;

----

22

76

ERROR: Syntax error while parsing WHERE clause.

ERROR 22-322: Syntax error, expecting one of the following: !, !!, &, *, **, +, -, /, <, <=, <>, =, >, >=, AND, EQ, GE, GT,

LE, LT, NE, OR, ^=, |, ||, ~=.

ERROR 76-322: Syntax error, statement will be ignored.

536 model ROA = salesGro rdsales LTassets LNAssets cAPAXASS DIVASSETS **bleep**efound BETA

537 /solution;

538 run;

I did not find where I can use **where statement** as a list

Can you help me?

Thanks a lot!

Accepted Solutions

Solution

07-25-2016
08:22 AM

- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Highlight
- Email to a Friend
- Report Inappropriate Content

Posted in reply to yael

07-25-2016 07:45 AM

`where year>=0 year<=5;`

These are actually 2 conditions; you need to use a logical operator to combine them so you get a valid boolean result:

`where year>=0 and year<=5;`

SAS also allows this construct:

`where 0 <= year <= 5;`

---------------------------------------------------------------------------------------------

Maxims of Maximally Efficient SAS Programmers

Maxims of Maximally Efficient SAS Programmers

All Replies

Solution

07-25-2016
08:22 AM

- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Highlight
- Email to a Friend
- Report Inappropriate Content

Posted in reply to yael

07-25-2016 07:45 AM

`where year>=0 year<=5;`

These are actually 2 conditions; you need to use a logical operator to combine them so you get a valid boolean result:

`where year>=0 and year<=5;`

SAS also allows this construct:

`where 0 <= year <= 5;`

---------------------------------------------------------------------------------------------

Maxims of Maximally Efficient SAS Programmers

Maxims of Maximally Efficient SAS Programmers