DATA Step, Macro, Functions and more

Overlapping format values

Accepted Solution Solved
Reply
Occasional Contributor
Posts: 15
Accepted Solution

Overlapping format values

I tried searching for an answer on this topic but couldn't find a definitive answer.  Shouldn't the following code generate an error message?   The groupings overlap.   How would SAS decide where to put a value of "2" based on these groupings?

 

 

26 proc format;

27

27 ! value test

28 1-2='1-2'

29 2-3='2-3'

30 ;

NOTE: Format TEST has been output.

31 run;

NOTE: PROCEDURE FORMAT used (Total process time):

real time 0.05 seconds

cpu time 0.03 seconds

 


Accepted Solutions
Solution
‎09-12-2017 02:57 PM
Super User
Posts: 22,843

Re: Overlapping format values

No it won't generate an error and it won't assign multiples, it uses the first instance or assume that's it's included. 

 

You can control the boundaries using < to explicitly include or exclude.

 

http://support.sas.com/documentation/cdl/en/proc/70377/HTML/default/viewer.htm#n03qskwoints2an1ispy5...

 

proc format;
value test
1-<2 = '1-2'
2-3 = '2-3';
run;

data sample;
do i=1 to 4;
format i test.;
output;
end;
run;

View solution in original post


All Replies
Solution
‎09-12-2017 02:57 PM
Super User
Posts: 22,843

Re: Overlapping format values

No it won't generate an error and it won't assign multiples, it uses the first instance or assume that's it's included. 

 

You can control the boundaries using < to explicitly include or exclude.

 

http://support.sas.com/documentation/cdl/en/proc/70377/HTML/default/viewer.htm#n03qskwoints2an1ispy5...

 

proc format;
value test
1-<2 = '1-2'
2-3 = '2-3';
run;

data sample;
do i=1 to 4;
format i test.;
output;
end;
run;
☑ This topic is solved.

Need further help from the community? Please ask a new question.

Discussion stats
  • 1 reply
  • 102 views
  • 0 likes
  • 2 in conversation