Hi all
Could anybody tell me if the following behaviour is intended or not:
I created a format ($test2b) with the following dataset (created with datalines to simulate real data), with the expectation that the format will contain 2 values - 'other' and 'test'. Instead, the resulting format has only 1 value 'test' plus an other range (see image below)! I could circumvent the issue by adding hlo=' ' to all records, just don't think this has been mentioned anywhere in the documentation.
data fmt1;
infile datalines dlm=' ';
length start label $32;
input start label;
fmtname='$test2b';
datalines;
other error
test ok
;
run;
proc format cntlin=fmt1;
run;
Thanks in advance.
V
"other" is a keyword when creating formats. A pseudo-value of "other" covers all values not dealt with by the other entries.
Hi KurtBremser
"other" is not a keyword, rather other (without quote) is, i.e. there would differences between the formats created by the following examples:
****Example 1****;
proc format;
value $test1a
'other'=error
'test'=OK;
run;
****Example 2****;
proc format;
value $test1a
other=error
test=OK;
run;
Since I have using a dataset without specifying HLO='O', so 'other' should be consider as a text string like in Example 1 above.
If you want more confidence that "other" won't be treated as a keyword, add this to your DATA step:
hlo=' ';
Got an official reply from SAS:
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 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.