BookmarkSubscribeRSS Feed
☑ This topic is solved. Need further help from the community? Please sign in and ask a new question.
Batman
Quartz | Level 8

I have a macro array of formats, however the %scan function is dropping the "$" and ".", how can I get %scan to read those characters?

 

 

27 %put macro array of format values is &formats;
macro array of format values is $2. 8. $6. $55. DATETIME19. DATETIME19. $1.
28 %put fourth scanned format value is %scan(&formats,4);
fourth scanned format value is 55

1 ACCEPTED SOLUTION

Accepted Solutions
Quentin
Super User

Specify that %scan should only use a blank, %str( ) as the delimiter, e.g.:

1    %let formatlist=$2. 8. $6. $55. DATETIME19. DATETIME19. $1.  ;
2    %put %scan(&formatlist,4,%str( )) ;
$55.

View solution in original post

2 REPLIES 2
Quentin
Super User

Specify that %scan should only use a blank, %str( ) as the delimiter, e.g.:

1    %let formatlist=$2. 8. $6. $55. DATETIME19. DATETIME19. $1.  ;
2    %put %scan(&formatlist,4,%str( )) ;
$55.
ballardw
Super User

Read the friendly manual. The documentation for %scan includes this bit clearly showing that the $ character by default treated as a delimiter.

If you use the %SCAN function with only two arguments, then the default delimiters depend on whether your computer uses ASCII or EBCDIC characters.
  • If your computer uses ASCII characters, then the default delimiters are as follows:
    blank ! $ % & ( ) * + , - . / ; < ^¦
    In ASCII environments that do not contain the ^ character, the %SCAN function uses the ~ character instead.
  • If your computer uses EBCDIC characters, then the default delimiters are as follows:
    blank ! $ % & ( ) * + , - . / ; < ¬ | ¢¦

 

 

 

hackathon24-white-horiz.png

2025 SAS Hackathon: There is still time!

Good news: We've extended SAS Hackathon registration until Sept. 12, so you still have time to be part of our biggest event yet – our five-year anniversary!

Register Now

How to Concatenate Values

Learn how use the CAT functions in SAS to join values from multiple variables into a single value.

Find more tutorials on the SAS Users YouTube channel.

SAS Training: Just a Click Away

 Ready to level-up your skills? Choose your own adventure.

Browse our catalog!

Discussion stats
  • 2 replies
  • 863 views
  • 2 likes
  • 3 in conversation