- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
Posted 07-12-2016 01:13 PM
(1121 views)
Following macro code only seemed to work if the dollar format was exact. That is, the dollar ranges were <$400, $400-$1000, and over $1000. For the dollar format, if I put “dollar4.” for the $400 macro variable and “dollar5.” for the $1000 macro variable everything worked great. But if I used “dollar5.” and “dollar6.” I would get the error message as below. Appreciate if someone guide me to come past this issue.
proc format;
value spnd&k.lbl 1 = &ls_lbl.
2 = &ms_lbl.
3 = &hs_lbl.
;
run;
Log:
.
SYMBOLGEN: Macro variable K resolves to 2
SYMBOLGEN: Macro variable LS_LBL resolves to Less than $400
SYMBOLGEN: Macro variable MS_LBL resolves to $400 to $1,000
ERROR: This range is repeated, or values overlap: 1-1.
SYMBOLGEN: Macro variable HS_LBL resolves to More than $1,000
NOTE 137-205: Line generated by the invoked macro "RUNREPORTS".
141 row_nbr = &k.; quit; proc format; value trip&k.lbl 1 = <_lbl. 2 = &mt_lbl.
141 ! 3 = &ht_lbl. ; value spnd&k.lbl 1 = &ls_lbl. 2 = &ms_lbl. 3 =
_
22
141 ! &hs_lbl.
ERROR 22-322: Syntax error, expecting one of the following: (, ',', -, <, =.
1 REPLY 1
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
Try
proc format;
value spnd&k.lbl 1 = "&ls_lbl."
2 = "&ms_lbl."
3 = "&hs_lbl."
;
run;
Without the quotes the second value fo &ms_lbl is interpreted as a new value not the display value.