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 🙂
Join us for SAS Innovate April 16-19 at the Aria in Las Vegas. Bring the team and save big with our group pricing for a limited time only.
Pre-conference courses and tutorials are filling up fast and are always a sellout. Register today to reserve your seat.
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.