- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
Posted 11-17-2009 05:12 PM
(1696 views)
I am trying to create a macro shortcut for use in a function.
DATA _null_ ;
CALL symput('num','1234567890');
RUN ;
Then later do this:
xxx = INDEX(city,&num.) ;
The code is not picking up the macro assignement. Any help?
DATA _null_ ;
CALL symput('num','1234567890');
RUN ;
Then later do this:
xxx = INDEX(city,&num.) ;
The code is not picking up the macro assignement. Any help?
4 REPLIES 4
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
My bad. Needed INDEXC()
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
The SAS 9 (introduced) function ANYDIGIT may also work for you - with my test as compared to INDEXC, it was twice as fast over a large DO/END loop on Windows OS.
Scott Barry
SBBWorks, Inc.
Scott Barry
SBBWorks, Inc.
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
Try replacing:
INDEX(city,&num)
with:
INDEX(city,symget('num'))
You should also consider Scott's suggestions, ANYDIGIT might do the trick in a much simpler way.
Cheers from Portugal.
Daniel Santos @ www.cgd.pt
INDEX(city,&num)
with:
INDEX(city,symget('num'))
You should also consider Scott's suggestions, ANYDIGIT might do the trick in a much simpler way.
Cheers from Portugal.
Daniel Santos @ www.cgd.pt
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
I believe the use of INDEX function is not equivalent to either INDEXC or ANYDIGIT. Also, if the OP was to use INDEX, the second argument must be character, so it would need to be enclosed in double-quotation marks to work properly.
Scott Barry
SBBWorks, Inc.
Scott Barry
SBBWorks, Inc.