<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic How to evalue a formula in data step in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/How-to-evalue-a-formula-in-data-step/m-p/517197#M139772</link>
    <description>&lt;P&gt;How SAS gurus,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I have a simple question but couldn't figure it out. Not sure if it is doable but your help will be appreciated.&lt;/P&gt;&lt;P&gt;If a data set has two columns, one is the value, the other is the format, how can I created a third Column using the value of the two?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;proc format&amp;nbsp; ;&lt;/P&gt;&lt;P&gt;value go&lt;/P&gt;&lt;P&gt;0='no' 1='yes';&lt;/P&gt;&lt;P&gt;value to&lt;/P&gt;&lt;P&gt;0='missing' 1='present';&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;!--   Google Tag Manager   --&gt;&lt;!--   End Google Tag Manager   --&gt;&lt;/P&gt;&lt;DIV class="lia-page"&gt;&lt;CENTER&gt;&lt;DIV class="MinimumWidthContainer"&gt;&lt;DIV class="min-width-wrapper"&gt;&lt;DIV class="min-width"&gt;&lt;DIV class="lia-content"&gt;&lt;DIV class="lia-quilt lia-quilt-forum-topic-page lia-quilt-layout-two-column-main-side lia-top-quilt"&gt;&lt;DIV class="lia-quilt-row lia-quilt-row-header"&gt;&lt;DIV class="lia-quilt-row lia-quilt-row-main"&gt;&lt;DIV class="lia-quilt-column lia-quilt-column-18 lia-quilt-column-left lia-quilt-column-main-content"&gt;&lt;DIV class="lia-quilt-column-alley lia-quilt-column-alley-left"&gt;&lt;DIV class="lia-component-message-list"&gt;&lt;DIV class="linear-message-list message-list"&gt;&lt;DIV class="lia-linear-display-message-view"&gt;&lt;DIV&gt;&lt;DIV class="lia-message-view message-uid-68127"&gt;&lt;DIV&gt;&lt;DIV class="lia-js-resize-images lia-component-forums-widget-board-message-view"&gt;&lt;DIV&gt;&lt;DIV class="accepted-solution lia-message-board lia-panel-message lia-js-data-messageUid-68127"&gt;&lt;DIV class="lia-panel-message-content"&gt;&lt;DIV class="lia-decoration-border"&gt;&lt;DIV class="lia-decoration-border-content"&gt;&lt;DIV&gt;&lt;DIV&gt;&lt;DIV class="lia-quilt lia-quilt-forum-message lia-quilt-layout-forum-message"&gt;&lt;DIV class="lia-quilt-row lia-quilt-row-forum-message-main"&gt;&lt;DIV class="lia-quilt-column lia-quilt-column-20 lia-quilt-column-right lia-quilt-column-main-right"&gt;&lt;DIV class="lia-quilt-column-alley lia-quilt-column-alley-right"&gt;&lt;DIV class="lia-component-body"&gt;&lt;DIV class="lia-message-body"&gt;&lt;DIV class="lia-message-body-content"&gt;&lt;PRE class=" language-sas"&gt;&lt;CODE class="  language-sas"&gt;&lt;SPAN class="token procnames"&gt;DATA&lt;/SPAN&gt; temp&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;
&lt;SPAN class="token keyword"&gt;INPUT&lt;/SPAN&gt; value variable $ &lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;
&lt;SPAN class="token datalines"&gt;&lt;SPAN class="token keyword"&gt;DATALINES&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;&lt;SPAN class="token data string"&gt;1 go&lt;BR /&gt;1 to&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;&lt;/SPAN&gt; 
 &lt;/CODE&gt;&lt;/PRE&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/CENTER&gt;&lt;/DIV&gt;&lt;P&gt;My goal is to crate a third variable new using put(value,variable.) as a formula. &amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I have tried using sql to created a formula, in this example, put(1.go.) and put(1, to.)&amp;nbsp; and how can I made data looks like:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;DIV class="lia-page"&gt;&lt;CENTER&gt;&lt;DIV class="MinimumWidthContainer"&gt;&lt;DIV class="min-width-wrapper"&gt;&lt;DIV class="min-width"&gt;&lt;DIV class="lia-content"&gt;&lt;DIV class="lia-quilt lia-quilt-forum-topic-page lia-quilt-layout-two-column-main-side lia-top-quilt"&gt;&lt;DIV class="lia-quilt-row lia-quilt-row-header"&gt;&lt;DIV class="lia-quilt-row lia-quilt-row-main"&gt;&lt;DIV class="lia-quilt-column lia-quilt-column-18 lia-quilt-column-left lia-quilt-column-main-content"&gt;&lt;DIV class="lia-quilt-column-alley lia-quilt-column-alley-left"&gt;&lt;DIV class="lia-component-message-list"&gt;&lt;DIV class="linear-message-list message-list"&gt;&lt;DIV class="lia-linear-display-message-view"&gt;&lt;DIV&gt;&lt;DIV class="lia-message-view message-uid-68127"&gt;&lt;DIV&gt;&lt;DIV class="lia-js-resize-images lia-component-forums-widget-board-message-view"&gt;&lt;DIV&gt;&lt;DIV class="accepted-solution lia-message-board lia-panel-message lia-js-data-messageUid-68127"&gt;&lt;DIV class="lia-panel-message-content"&gt;&lt;DIV class="lia-decoration-border"&gt;&lt;DIV class="lia-decoration-border-content"&gt;&lt;DIV&gt;&lt;DIV&gt;&lt;DIV class="lia-quilt lia-quilt-forum-message lia-quilt-layout-forum-message"&gt;&lt;DIV class="lia-quilt-row lia-quilt-row-forum-message-main"&gt;&lt;DIV class="lia-quilt-column lia-quilt-column-20 lia-quilt-column-right lia-quilt-column-main-right"&gt;&lt;DIV class="lia-quilt-column-alley lia-quilt-column-alley-right"&gt;&lt;DIV class="lia-component-body"&gt;&lt;DIV class="lia-message-body"&gt;&lt;DIV class="lia-message-body-content"&gt;&lt;PRE class=" language-sas"&gt;&lt;CODE class="  language-sas"&gt;&lt;SPAN class="token procnames"&gt;value variable new &lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN class="token datalines"&gt;&lt;SPAN class="token data string"&gt;1 go yes&lt;BR /&gt;1 to present &lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;&lt;/SPAN&gt; 
 &lt;/CODE&gt;&lt;/PRE&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/CENTER&gt;&lt;/DIV&gt;&lt;P&gt;Thanks!&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Thu, 29 Nov 2018 19:10:42 GMT</pubDate>
    <dc:creator>songlh15</dc:creator>
    <dc:date>2018-11-29T19:10:42Z</dc:date>
    <item>
      <title>How to evalue a formula in data step</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-evalue-a-formula-in-data-step/m-p/517197#M139772</link>
      <description>&lt;P&gt;How SAS gurus,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I have a simple question but couldn't figure it out. Not sure if it is doable but your help will be appreciated.&lt;/P&gt;&lt;P&gt;If a data set has two columns, one is the value, the other is the format, how can I created a third Column using the value of the two?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;proc format&amp;nbsp; ;&lt;/P&gt;&lt;P&gt;value go&lt;/P&gt;&lt;P&gt;0='no' 1='yes';&lt;/P&gt;&lt;P&gt;value to&lt;/P&gt;&lt;P&gt;0='missing' 1='present';&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;!--   Google Tag Manager   --&gt;&lt;!--   End Google Tag Manager   --&gt;&lt;/P&gt;&lt;DIV class="lia-page"&gt;&lt;CENTER&gt;&lt;DIV class="MinimumWidthContainer"&gt;&lt;DIV class="min-width-wrapper"&gt;&lt;DIV class="min-width"&gt;&lt;DIV class="lia-content"&gt;&lt;DIV class="lia-quilt lia-quilt-forum-topic-page lia-quilt-layout-two-column-main-side lia-top-quilt"&gt;&lt;DIV class="lia-quilt-row lia-quilt-row-header"&gt;&lt;DIV class="lia-quilt-row lia-quilt-row-main"&gt;&lt;DIV class="lia-quilt-column lia-quilt-column-18 lia-quilt-column-left lia-quilt-column-main-content"&gt;&lt;DIV class="lia-quilt-column-alley lia-quilt-column-alley-left"&gt;&lt;DIV class="lia-component-message-list"&gt;&lt;DIV class="linear-message-list message-list"&gt;&lt;DIV class="lia-linear-display-message-view"&gt;&lt;DIV&gt;&lt;DIV class="lia-message-view message-uid-68127"&gt;&lt;DIV&gt;&lt;DIV class="lia-js-resize-images lia-component-forums-widget-board-message-view"&gt;&lt;DIV&gt;&lt;DIV class="accepted-solution lia-message-board lia-panel-message lia-js-data-messageUid-68127"&gt;&lt;DIV class="lia-panel-message-content"&gt;&lt;DIV class="lia-decoration-border"&gt;&lt;DIV class="lia-decoration-border-content"&gt;&lt;DIV&gt;&lt;DIV&gt;&lt;DIV class="lia-quilt lia-quilt-forum-message lia-quilt-layout-forum-message"&gt;&lt;DIV class="lia-quilt-row lia-quilt-row-forum-message-main"&gt;&lt;DIV class="lia-quilt-column lia-quilt-column-20 lia-quilt-column-right lia-quilt-column-main-right"&gt;&lt;DIV class="lia-quilt-column-alley lia-quilt-column-alley-right"&gt;&lt;DIV class="lia-component-body"&gt;&lt;DIV class="lia-message-body"&gt;&lt;DIV class="lia-message-body-content"&gt;&lt;PRE class=" language-sas"&gt;&lt;CODE class="  language-sas"&gt;&lt;SPAN class="token procnames"&gt;DATA&lt;/SPAN&gt; temp&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;
&lt;SPAN class="token keyword"&gt;INPUT&lt;/SPAN&gt; value variable $ &lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;
&lt;SPAN class="token datalines"&gt;&lt;SPAN class="token keyword"&gt;DATALINES&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;&lt;SPAN class="token data string"&gt;1 go&lt;BR /&gt;1 to&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;&lt;/SPAN&gt; 
 &lt;/CODE&gt;&lt;/PRE&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/CENTER&gt;&lt;/DIV&gt;&lt;P&gt;My goal is to crate a third variable new using put(value,variable.) as a formula. &amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I have tried using sql to created a formula, in this example, put(1.go.) and put(1, to.)&amp;nbsp; and how can I made data looks like:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;DIV class="lia-page"&gt;&lt;CENTER&gt;&lt;DIV class="MinimumWidthContainer"&gt;&lt;DIV class="min-width-wrapper"&gt;&lt;DIV class="min-width"&gt;&lt;DIV class="lia-content"&gt;&lt;DIV class="lia-quilt lia-quilt-forum-topic-page lia-quilt-layout-two-column-main-side lia-top-quilt"&gt;&lt;DIV class="lia-quilt-row lia-quilt-row-header"&gt;&lt;DIV class="lia-quilt-row lia-quilt-row-main"&gt;&lt;DIV class="lia-quilt-column lia-quilt-column-18 lia-quilt-column-left lia-quilt-column-main-content"&gt;&lt;DIV class="lia-quilt-column-alley lia-quilt-column-alley-left"&gt;&lt;DIV class="lia-component-message-list"&gt;&lt;DIV class="linear-message-list message-list"&gt;&lt;DIV class="lia-linear-display-message-view"&gt;&lt;DIV&gt;&lt;DIV class="lia-message-view message-uid-68127"&gt;&lt;DIV&gt;&lt;DIV class="lia-js-resize-images lia-component-forums-widget-board-message-view"&gt;&lt;DIV&gt;&lt;DIV class="accepted-solution lia-message-board lia-panel-message lia-js-data-messageUid-68127"&gt;&lt;DIV class="lia-panel-message-content"&gt;&lt;DIV class="lia-decoration-border"&gt;&lt;DIV class="lia-decoration-border-content"&gt;&lt;DIV&gt;&lt;DIV&gt;&lt;DIV class="lia-quilt lia-quilt-forum-message lia-quilt-layout-forum-message"&gt;&lt;DIV class="lia-quilt-row lia-quilt-row-forum-message-main"&gt;&lt;DIV class="lia-quilt-column lia-quilt-column-20 lia-quilt-column-right lia-quilt-column-main-right"&gt;&lt;DIV class="lia-quilt-column-alley lia-quilt-column-alley-right"&gt;&lt;DIV class="lia-component-body"&gt;&lt;DIV class="lia-message-body"&gt;&lt;DIV class="lia-message-body-content"&gt;&lt;PRE class=" language-sas"&gt;&lt;CODE class="  language-sas"&gt;&lt;SPAN class="token procnames"&gt;value variable new &lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN class="token datalines"&gt;&lt;SPAN class="token data string"&gt;1 go yes&lt;BR /&gt;1 to present &lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;&lt;/SPAN&gt; 
 &lt;/CODE&gt;&lt;/PRE&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/CENTER&gt;&lt;/DIV&gt;&lt;P&gt;Thanks!&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 29 Nov 2018 19:10:42 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-evalue-a-formula-in-data-step/m-p/517197#M139772</guid>
      <dc:creator>songlh15</dc:creator>
      <dc:date>2018-11-29T19:10:42Z</dc:date>
    </item>
    <item>
      <title>Re: How to evalue a formula in data step</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-evalue-a-formula-in-data-step/m-p/517198#M139773</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Welcome to SAS Community.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Can you be more specific, it is not so clear what your trying to do here. Simply present the data you have and what is the output your expecting.&lt;/P&gt;</description>
      <pubDate>Thu, 29 Nov 2018 19:17:44 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-evalue-a-formula-in-data-step/m-p/517198#M139773</guid>
      <dc:creator>SuryaKiran</dc:creator>
      <dc:date>2018-11-29T19:17:44Z</dc:date>
    </item>
    <item>
      <title>Re: How to evalue a formula in data step</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-evalue-a-formula-in-data-step/m-p/517217#M139784</link>
      <description>&lt;P&gt;Thanks for your quick response!&lt;/P&gt;&lt;P&gt;I received a data set with two separated variables as my example shown above,.&amp;nbsp; I'm trying to create one new variable using values existing two existing variables. &amp;nbsp;&lt;/P&gt;&lt;P&gt;current data:&lt;/P&gt;&lt;P&gt;Variable Value&lt;/P&gt;&lt;P&gt;go&amp;nbsp; 1&lt;/P&gt;&lt;P&gt;to 1&lt;/P&gt;&lt;P&gt;I wanted to create a new variable called new using values from Variable and Value, the output should be&lt;/P&gt;&lt;P&gt;Variable Value New&lt;/P&gt;&lt;P&gt;go&amp;nbsp; 1&amp;nbsp;yes&lt;/P&gt;&lt;P&gt;to 1 present&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks again.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 29 Nov 2018 20:07:13 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-evalue-a-formula-in-data-step/m-p/517217#M139784</guid>
      <dc:creator>songlh15</dc:creator>
      <dc:date>2018-11-29T20:07:13Z</dc:date>
    </item>
    <item>
      <title>Re: How to evalue a formula in data step</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-evalue-a-formula-in-data-step/m-p/517225#M139787</link>
      <description>&lt;P&gt;The PUTN() and PUTC() functions can use an expression for the name of the format.&lt;/P&gt;
&lt;P&gt;First let's make your formats using names that are more descriptive of what they do.&amp;nbsp; Let's also make a format we can use to associate which format is used for which variable name.&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;proc format  ;
  value yesno  1='yes' other='no';
  value present 1='present' other='missing';
  value $format 'GO'='YESNO.' 'TO'='PRESENT.' ;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;Now let's make some test data:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data temp;
  length variable $32 value 8;
  do variable='go','to';
    do value=0,1;
      output;
    end;
  end;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;And now let's figure out what decode to generate for each value/variable pair.&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data want ;
  set temp;
  length decode $50 ;
  decode = putn(value,put(upcase(variable),$format.));
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;PRE&gt;Obs    variable    value    decode

 1     go            0      no
 2     go            1      yes
 3     to            0      missing
 4     to            1      present&lt;/PRE&gt;</description>
      <pubDate>Thu, 29 Nov 2018 20:29:38 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-evalue-a-formula-in-data-step/m-p/517225#M139787</guid>
      <dc:creator>Tom</dc:creator>
      <dc:date>2018-11-29T20:29:38Z</dc:date>
    </item>
    <item>
      <title>Re: How to evalue a formula in data step</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-evalue-a-formula-in-data-step/m-p/517643#M140003</link>
      <description>&lt;P&gt;Thanks so much, your code works for that task!&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;One step further, if&amp;nbsp; put(value,variable.) string have been generated&amp;nbsp; in third variable, how can we retrieve the value? in other words, how can we make the third variable run? Taking the same data as an example, if a table is given below, how can we let decode run and get the correct format?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks!&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;DIV class="lia-page"&gt;&lt;CENTER&gt;&lt;DIV class="MinimumWidthContainer"&gt;&lt;DIV class="min-width-wrapper"&gt;&lt;DIV class="min-width"&gt;&lt;DIV class="lia-content"&gt;&lt;DIV class="lia-quilt lia-quilt-reply-page lia-quilt-layout-one-column lia-top-quilt"&gt;&lt;DIV class="lia-quilt-row lia-quilt-row-header"&gt;&lt;DIV class="lia-quilt-row lia-quilt-row-main"&gt;&lt;DIV class="lia-quilt-column lia-quilt-column-24 lia-quilt-column-single lia-quilt-column-main-content"&gt;&lt;DIV class="lia-quilt-column-alley lia-quilt-column-alley-single"&gt;&lt;DIV class="lia-panel lia-panel-section lia-component-editor"&gt;&lt;DIV class="lia-decoration-border"&gt;&lt;DIV class="lia-decoration-border-content"&gt;&lt;DIV&gt;&lt;DIV class="lia-panel-content-wrapper"&gt;&lt;DIV class="lia-panel-content"&gt;&lt;DIV class="lia-message-view message-uid-517225"&gt;&lt;DIV&gt;&lt;DIV class="lia-js-resize-images lia-component-forums-widget-board-message-view"&gt;&lt;DIV&gt;&lt;DIV class="lia-message-board lia-panel-message lia-js-data-messageUid-517225"&gt;&lt;DIV class="lia-panel-message-content"&gt;&lt;DIV class="lia-decoration-border"&gt;&lt;DIV class="lia-decoration-border-content"&gt;&lt;DIV&gt;&lt;DIV&gt;&lt;DIV class="lia-quilt lia-quilt-forum-message lia-quilt-layout-forum-message"&gt;&lt;DIV class="lia-quilt-row lia-quilt-row-forum-message-main"&gt;&lt;DIV class="lia-quilt-column lia-quilt-column-20 lia-quilt-column-right lia-quilt-column-main-right"&gt;&lt;DIV class="lia-quilt-column-alley lia-quilt-column-alley-right"&gt;&lt;DIV class="lia-message-body lia-component-body"&gt;&lt;DIV class="lia-message-body-content"&gt;&lt;PRE&gt;Obs    variable    value    decode

 1     go            0      put(0,go.)  &lt;BR /&gt; 2     go            1     put(1,go.)
 3     to            0     put(0,to.)
 4     to            1     put(1,to.)&lt;/PRE&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/CENTER&gt;&lt;/DIV&gt;</description>
      <pubDate>Fri, 30 Nov 2018 20:24:01 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-evalue-a-formula-in-data-step/m-p/517643#M140003</guid>
      <dc:creator>songlh15</dc:creator>
      <dc:date>2018-11-30T20:24:01Z</dc:date>
    </item>
    <item>
      <title>Re: How to evalue a formula in data step</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-evalue-a-formula-in-data-step/m-p/517648#M140006</link>
      <description>&lt;P&gt;SAS needs to compile the data step before it starts running. If you have CODE in DATA then you will need to first run a step to generate a complete data step.&amp;nbsp; Then SAS can compile it and run it.&amp;nbsp; You can use CALL EXECUTE( ) or write the code to a file and use %INCLUDE to run it.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
 input variable $ value decode $20.;
cards;
  go            0      put(0,go.)
  go            1     put(1,go.)
  to            0     put(0,to.)
  to            1     put(1,to.)
;

proc format ;
 value go 1='Go' other='Stay';
 value to 1='There' other='Here';
run;

filename code temp;
data _null_;
  set have ;
  file code ;
  put 'if ' _n_ =  ' then new=' decode ';' ;
run;

data want;
  set have ;
  length new $20. ;
  %include code/source2;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;PRE&gt;Obs    variable    value      decode      new

 1        go         0      put(0,go.)    Stay
 2        go         1      put(1,go.)    Go
 3        to         0      put(0,to.)    Here
 4        to         1      put(1,to.)    There&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;Log&lt;/P&gt;
&lt;PRE&gt;1450  data want;
1451    set have ;
1452    length new $20. ;
1453    %include code/source2;
NOTE: %INCLUDE (level 1) file CODE is file .../#LN00047.
1454 +if _N_=1  then new=put(0,go.) ;
1455 +if _N_=2  then new=put(1,go.) ;
1456 +if _N_=3  then new=put(0,to.) ;
1457 +if _N_=4  then new=put(1,to.) ;
NOTE: %INCLUDE (level 1) ending.
1458  run;

NOTE: There were 4 observations read from the data set WORK.HAVE.
NOTE: The data set WORK.WANT has 4 observations and 4 variables.&lt;/PRE&gt;</description>
      <pubDate>Fri, 30 Nov 2018 20:41:17 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-evalue-a-formula-in-data-step/m-p/517648#M140006</guid>
      <dc:creator>Tom</dc:creator>
      <dc:date>2018-11-30T20:41:17Z</dc:date>
    </item>
    <item>
      <title>Re: How to evalue a formula in data step</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-evalue-a-formula-in-data-step/m-p/517653#M140009</link>
      <description>&lt;P&gt;Awesome! This is so helpful!&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 30 Nov 2018 20:41:53 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-evalue-a-formula-in-data-step/m-p/517653#M140009</guid>
      <dc:creator>songlh15</dc:creator>
      <dc:date>2018-11-30T20:41:53Z</dc:date>
    </item>
  </channel>
</rss>

