As the first step in the decommissioning of sasCommunity.org the site has been converted to read-only mode.


Here are some tips for How to share your SAS knowledge with your professional network.


Difference between revisions of "Talk:Re-ordering variables"

From sasCommunity
Jump to: navigation, search
m (fixed a few typos)
Line 1: Line 1:
Thank you for posting this!  It's so obviou, now, that you've pointed out WHY it is this way.  Now my PROC EXPORT will look the way I want!.
+
Thank you for posting this!  It's so obvious, now, that you've pointed out WHY it is this way.  Now my PROC EXPORT will look the way I want!.
  
The retain statement is not one to be used without understanding the implications.  It is a beast that nexer rests.  It can live years with raising it's head but given the opportunity, it will wreak havok.  You may not be the one that loses hours of sleep trying to figure out what happened, why the data is suddenly wrong, or the program is acting different.  The retain statement opens the door to hold data from one record to be used later.  It is not respective of account boundaries, personal information, or anything else you might assume would constrain it.  You must keep it in it's cage and using it without realizing that at some later date someone could add one line of code that will release the beast from it's cage.  Use the length statement or the attrib statement but if you use the retain, you better put comments that NO logic goes in that step.  I am working for an international/global company that bought into the fact it is harmless.  It is a HUGE liability because it does not take much for it to copy or add data to subsequent records. PLEASE, PLEASE, PLEASE use it with caution.  It may be convenient but it is not without consequences.
+
The retain statement is not one to be used without understanding the implications.  It is a beast that nexer rests.  It can live years without raising it's head but given the opportunity, it will wreak havok.  You may not be the one that loses hours of sleep trying to figure out what happened, why the data is suddenly wrong, or the program is acting different.  The retain statement opens the door to hold data from one record to be used later.  It is not respective of account boundaries, personal information, or anything else you might assume would constrain it.  You must keep it in it's cage and using it without realizing that at some later date someone could add one line of code that will release the beast from it's cage.  Use the length statement or the attrib statement but if you use the retain, you better put comments that NO logic goes in that step.  I am working for an international/global company that bought into the fact it is harmless.  It is a HUGE liability because it does not take much for it to copy or add data to subsequent records. PLEASE, PLEASE, PLEASE use it with caution.  It may be convenient but it is not without consequences.

Revision as of 13:33, 3 August 2011

Thank you for posting this! It's so obvious, now, that you've pointed out WHY it is this way. Now my PROC EXPORT will look the way I want!.

The retain statement is not one to be used without understanding the implications. It is a beast that nexer rests. It can live years without raising it's head but given the opportunity, it will wreak havok. You may not be the one that loses hours of sleep trying to figure out what happened, why the data is suddenly wrong, or the program is acting different. The retain statement opens the door to hold data from one record to be used later. It is not respective of account boundaries, personal information, or anything else you might assume would constrain it. You must keep it in it's cage and using it without realizing that at some later date someone could add one line of code that will release the beast from it's cage. Use the length statement or the attrib statement but if you use the retain, you better put comments that NO logic goes in that step. I am working for an international/global company that bought into the fact it is harmless. It is a HUGE liability because it does not take much for it to copy or add data to subsequent records. PLEASE, PLEASE, PLEASE use it with caution. It may be convenient but it is not without consequences.