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,
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.
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.
... and some SAS messages are not that intuitive, especially for newcomers 🙂
April 27 – 30 | Gaylord Texan | Grapevine, Texas
Walk in ready to learn. Walk out ready to deliver. This is the data and AI conference you can't afford to miss.
Register now and save with the early bird rate—just $795!
Learn the difference between classical and Bayesian statistical approaches and see a few PROC examples to perform Bayesian analysis in this video.
Find more tutorials on the SAS Users YouTube channel.
Ready to level-up your skills? Choose your own adventure.