- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
The following procudes the error: for format lookup_acbs, this range is repeated, or values overlap:
proc sort data=acbs nodupkey;
by acbs_products;
run;
data lookup_acbs;
set acbs;
start=acbs_products;
label='KEEP';
fmtname='lookup_acbs';
proc format cntlin=lookup_acbs; run;
I am trying to create a format for a list of product names (approx 200), which look like...
CALOGEN
CALSHAKE
CARBZERO
CARE CO-LACTASE
...
Obviously as I used 'proc sort nodupkey', there should be no duplicates... I wonder if anyone can tell me why the proc format is not working? Is it to do with the presence of spaces in the product names?
Many thanks,
Accepted Solutions
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
Add a type to make the format a character format:
proc sort data=acbs nodupkey;
by acbs_products;
run;
data lookup_acbs;
set acbs;
start=acbs_products;
label='KEEP';
type = 'C'; /* this is important */
fmtname='lookup_acbs';
run;
proc format cntlin=lookup_acbs;
run;
Otherwise, proc format tries to create a numeric format and gets only missing values, as the character values can't be converted to numeric.
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
Add a type to make the format a character format:
proc sort data=acbs nodupkey;
by acbs_products;
run;
data lookup_acbs;
set acbs;
start=acbs_products;
label='KEEP';
type = 'C'; /* this is important */
fmtname='lookup_acbs';
run;
proc format cntlin=lookup_acbs;
run;
Otherwise, proc format tries to create a numeric format and gets only missing values, as the character values can't be converted to numeric.
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
... and some SAS messages are not that intuitive, especially for newcomers 🙂