- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
Can you define a range using the IN statement? Documentation says "yes", but my syntax says "no".
where RXDDCI1A in (40,358);
where same and RXDDCI1B in (41-56,303,340,342,430,433,482,483,19);
The above syntax selects 1 observation where RXDDCI1B=41 and then picks back up when RXDDCI1B=303. It works as desired when I remove the range (i.e., 41, 42, 43, 44, etc.).
Thanks.
Accepted Solutions
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
Documentation says that the integer sequence is indicated by a full colon
where same and RXDDCI1B in (41:56,303,340,342,430,433,482,483,19);
I say sequence because that is what that would be 41, 42 etc. A range would be anything between 41 and 56, such as 41.345678 but IN really want to use a finite list of values.
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
Documentation says that the integer sequence is indicated by a full colon
where same and RXDDCI1B in (41:56,303,340,342,430,433,482,483,19);
I say sequence because that is what that would be 41, 42 etc. A range would be anything between 41 and 56, such as 41.345678 but IN really want to use a finite list of values.
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
@ballardw is correct, you need the colon : to indicate a range. The SAS log notes reveal the issue with trying - for the range indicator, as shown in the simplified example below:
Cynthia