<?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 Re: SAS new variable in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/SAS-new-variable/m-p/416089#M102154</link>
    <description>&lt;PRE class="language-sas lia-code-sample" data-lia-code-lang="sas" data-lia-code-macro="true"&gt;&lt;CODE class="  language-sas"&gt;&lt;SPAN class="token procnames"&gt;*Convert file to wide format from long format -&amp;gt; 'conversion';&lt;BR /&gt;data&lt;/SPAN&gt; new&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt; 
	&lt;SPAN class="token keyword"&gt;set&lt;/SPAN&gt; longsort&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt; 
	&lt;SPAN class="token statement"&gt;by&lt;/SPAN&gt; id_no&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt; 
	&lt;SPAN class="token keyword"&gt;Keep&lt;/SPAN&gt; id_no sympt1 &lt;SPAN class="token operator"&gt;-&lt;/SPAN&gt; sympt5 disease&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt; 
	&lt;SPAN class="token keyword"&gt;retain&lt;/SPAN&gt; sympt1 &lt;SPAN class="token operator"&gt;-&lt;/SPAN&gt; sympt5 disease&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt; 
	disease&lt;SPAN class="token operator"&gt;=&lt;/SPAN&gt;&lt;SPAN class="token number"&gt;0&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;
	&lt;SPAN class="token statement"&gt;array&lt;/SPAN&gt; New_a &lt;SPAN class="token punctuation"&gt;(&lt;/SPAN&gt;&lt;SPAN class="token number"&gt;1&lt;/SPAN&gt;:&lt;SPAN class="token number"&gt;5&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;)&lt;/SPAN&gt; &lt;SPAN class="token punctuation"&gt;$&lt;/SPAN&gt;&lt;SPAN class="token number"&gt;20&lt;/SPAN&gt; sympt1 &lt;SPAN class="token operator"&gt;-&lt;/SPAN&gt; sympt5&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt; 
	&lt;SPAN class="token keyword"&gt;If&lt;/SPAN&gt; &lt;SPAN class="token function"&gt;first&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;.&lt;/SPAN&gt;id_no &lt;SPAN class="token keyword"&gt;then&lt;/SPAN&gt;
	do&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt; 
	Do i &lt;SPAN class="token operator"&gt;=&lt;/SPAN&gt; &lt;SPAN class="token number"&gt;1&lt;/SPAN&gt; to &lt;SPAN class="token number"&gt;5&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt; 
		new_a &lt;SPAN class="token punctuation"&gt;(&lt;/SPAN&gt;i&lt;SPAN class="token punctuation"&gt;)&lt;/SPAN&gt; &lt;SPAN class="token operator"&gt;=&lt;/SPAN&gt; &lt;SPAN class="token punctuation"&gt;.&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt; 
		end&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt; 

	new_a &lt;SPAN class="token punctuation"&gt;(&lt;/SPAN&gt;symptom_no&lt;SPAN class="token punctuation"&gt;)&lt;/SPAN&gt; &lt;SPAN class="token operator"&gt;=&lt;/SPAN&gt; symptom&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt; 
	&lt;SPAN class="token keyword"&gt;if&lt;/SPAN&gt; last&lt;SPAN class="token punctuation"&gt;.&lt;/SPAN&gt;id_no &lt;SPAN class="token keyword"&gt;then&lt;/SPAN&gt; output&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt; 
		&lt;SPAN class="token procnames"&gt;run&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt; 
	&lt;SPAN class="token statement"&gt;array&lt;/SPAN&gt; New_b &lt;SPAN class="token punctuation"&gt;(&lt;/SPAN&gt;&lt;SPAN class="token number"&gt;1&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;)&lt;/SPAN&gt; disease&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt; 
	
	&lt;SPAN class="token keyword"&gt;else&lt;/SPAN&gt; disease&lt;SPAN class="token operator"&gt;=&lt;/SPAN&gt;&lt;SPAN class="token string"&gt;'0'&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt; 
		end&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt; 
	end&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt; 

	&lt;SPAN class="token procnames"&gt;run&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt; &lt;BR /&gt;&lt;/CODE&gt;&amp;nbsp;&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Now add another step that creats the flag based on your new data.&lt;/P&gt;&lt;P&gt;&lt;BR data-mce-bogus="1" /&gt;&lt;/P&gt;&lt;P&gt;As I mentioned previously, your diseases each end up in the same column so you can make your IF THEN structured as below. Just change the variable names to match your variable name and the values to match the values you're checking for. Being able to open the NEW data to work with it makes this process a bit easier. Good Luck.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data flag_disease;
set new;

if symptom1 = 'Heart' and symptom2 = 'Lung' and symptom3 = 'Other' then flag_disease = 1;
else flag_disease = 0;

run;

&lt;/CODE&gt;&lt;/PRE&gt;&lt;/P&gt;</description>
    <pubDate>Fri, 24 Nov 2017 21:10:01 GMT</pubDate>
    <dc:creator>Reeza</dc:creator>
    <dc:date>2017-11-24T21:10:01Z</dc:date>
    <item>
      <title>SAS new variable</title>
      <link>https://communities.sas.com/t5/SAS-Programming/SAS-new-variable/m-p/415698#M101987</link>
      <description>&lt;P&gt;Create a new variable called &lt;STRONG&gt;&lt;EM&gt;disease&lt;/EM&gt;&lt;/STRONG&gt; and make it equal to 1 if a person has complaints of heartburns, sickness, &lt;STRONG&gt;and&lt;/STRONG&gt; spasm, but no temperature or tiredness.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;If the person does not have this exact symptom breakdown, make &lt;STRONG&gt;&lt;EM&gt;disease&lt;/EM&gt;&lt;/STRONG&gt; equal to 0.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Lastly, use PROC FREQ to determine what number and proportion of individuals in the dataset has the disease of interest.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I do not know how to do this. Any hints or help? I am studying for an exam and need to understand this program.&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;%macro one (v1,v2); 
proc import out  = &amp;amp;v1
            datafile = "\\Client\C$\Users\jess\Desktop\data\&amp;amp;v2"
            DBMS     = xlsx replace;
            getnames = YES;
run;


%mend one; 
%one (Project3, Project3_f17);
 proc format; 
value symptom_no	1= "heartburns" 
					2= "Sickness"
					3= "Spasm"
					4= "Temperature"
					5= "Tiredness"; 
		
proc sort data=Project3 out= longsort; 
 	by id_no; 
run; 

data new; 
	set longsort; 
	by id_no; 
	Keep id_no sympt1 - sympt5 disease; 
	retain sympt1 - sympt5 disease; 
	disease=0;
	array New_a (1:5) $20 sympt1 - sympt5; 
	If first.id_no then
	do; 
	Do i = 1 to 5; 
		new_a (i) = .; 
		end; 
	end; 
	new_a (symptom_no) = symptom; 
	if last.id_no then output; 
		run; 
	proc print data= new; 
	run; &lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;This code gives me this...&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;Obs&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;id_no&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;sympt1&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;sympt2&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;sympt3&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;sympt4&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;sympt5&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;disease&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;1&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Heartburns&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Sickness&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;0&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;2&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;4&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Tiredness&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;0&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;3&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;6&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Heartburns&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;0&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;4&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;7&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Temperature&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;0&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;5&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;8&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Heartburns&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Tiredness&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;0&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;6&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;9&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Sickness&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Spasm&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Temperature&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;0&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;7&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;10&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Spasm&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Tiredness&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;0&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;8&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;11&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Spasm&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Tiredness&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;0&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;9&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;12&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Temperature&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Tiredness&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;0&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;10&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;13&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Spasm&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Temperature&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;0&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;11&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;14&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Spasm&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;0&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;12&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;15&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Heartburns&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Temperature&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;0&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;13&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;16&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Tiredness&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;0&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;14&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;17&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Heartburns&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;0&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;15&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;19&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Sickness&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;0&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Except it does not include the disease column.&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 22 Nov 2017 22:18:33 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/SAS-new-variable/m-p/415698#M101987</guid>
      <dc:creator>jessica_join</dc:creator>
      <dc:date>2017-11-22T22:18:33Z</dc:date>
    </item>
    <item>
      <title>Re: SAS new variable</title>
      <link>https://communities.sas.com/t5/SAS-Programming/SAS-new-variable/m-p/415701#M101990</link>
      <description>&lt;P&gt;This is a second question that should start with your WIDE data set, ie answer from your previous question.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;You can look up the WHICHC function which will search an array for the presence of specific variable.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 22 Nov 2017 22:27:38 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/SAS-new-variable/m-p/415701#M101990</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2017-11-22T22:27:38Z</dc:date>
    </item>
    <item>
      <title>Re: SAS new variable</title>
      <link>https://communities.sas.com/t5/SAS-Programming/SAS-new-variable/m-p/415702#M101991</link>
      <description>WIDE=NEW in your case. Your first, starting data is what we consider a long data set, and a wide data set is your new data set - variables go across.</description>
      <pubDate>Wed, 22 Nov 2017 22:28:29 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/SAS-new-variable/m-p/415702#M101991</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2017-11-22T22:28:29Z</dc:date>
    </item>
    <item>
      <title>Re: SAS new variable</title>
      <link>https://communities.sas.com/t5/SAS-Programming/SAS-new-variable/m-p/415703#M101992</link>
      <description>&lt;P&gt;It seems like the WHICHC works for one variable but I do not know how to make it work for multiple. We also never learned about this.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I am thinking I am supposed to use if and then statements?&lt;/P&gt;</description>
      <pubDate>Wed, 22 Nov 2017 22:36:00 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/SAS-new-variable/m-p/415703#M101992</guid>
      <dc:creator>jessica_join</dc:creator>
      <dc:date>2017-11-22T22:36:00Z</dc:date>
    </item>
    <item>
      <title>Re: SAS new variable</title>
      <link>https://communities.sas.com/t5/SAS-Programming/SAS-new-variable/m-p/415704#M101993</link>
      <description>&lt;P&gt;You could do IF THEN, but then you’re checking all 5 for each of the values of interest, so that’s at least 15 conditions. You could simplify it with a loop. But if you’re attempting to learn rather than complete an assignment I’d lean toward the lazy approach myself.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;If symptom1=‘HD’ or symptom2 = ‘HD’ or symptom3=‘HD’ ....etc until&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;WHICHC first parameter is the word you’re searching for, the remaining is a list of the variables or a reference to an ARRAY.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Disease = WHICHC(‘Disease3’, of new(*)) and WHICHC(‘Disease2’, of new(*)) and WHICHC(‘Disease3’, of new(*));&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>Wed, 22 Nov 2017 22:40:22 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/SAS-new-variable/m-p/415704#M101993</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2017-11-22T22:40:22Z</dc:date>
    </item>
    <item>
      <title>Re: SAS new variable</title>
      <link>https://communities.sas.com/t5/SAS-Programming/SAS-new-variable/m-p/415706#M101995</link>
      <description>I guess if you put each specific diag in it’s own column it would be simplified but I’ve have never (in 10 years) seen real clinical data organized in that manner. It’s usually Diag1-Diag25.</description>
      <pubDate>Wed, 22 Nov 2017 22:41:31 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/SAS-new-variable/m-p/415706#M101995</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2017-11-22T22:41:31Z</dc:date>
    </item>
    <item>
      <title>Re: SAS new variable</title>
      <link>https://communities.sas.com/t5/SAS-Programming/SAS-new-variable/m-p/415708#M101996</link>
      <description>&lt;P&gt;Yes attempting to learn/study. The exam is multiple choice so I dont know which way he would chose to ask the question. Hopefully the lazy way, since in real life, that is how it would be done.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thank you for this. I will play with it now and see if I can figure it out.&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 22 Nov 2017 22:43:10 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/SAS-new-variable/m-p/415708#M101996</guid>
      <dc:creator>jessica_join</dc:creator>
      <dc:date>2017-11-22T22:43:10Z</dc:date>
    </item>
    <item>
      <title>Re: SAS new variable</title>
      <link>https://communities.sas.com/t5/SAS-Programming/SAS-new-variable/m-p/415717#M102001</link>
      <description>&lt;P&gt;I have no clue where to even start... &lt;span class="lia-unicode-emoji" title=":disappointed_face:"&gt;😞&lt;/span&gt;&lt;/P&gt;</description>
      <pubDate>Thu, 23 Nov 2017 00:19:05 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/SAS-new-variable/m-p/415717#M102001</guid>
      <dc:creator>jessica_join</dc:creator>
      <dc:date>2017-11-23T00:19:05Z</dc:date>
    </item>
    <item>
      <title>Re: SAS new variable</title>
      <link>https://communities.sas.com/t5/SAS-Programming/SAS-new-variable/m-p/415725#M102006</link>
      <description>&lt;P&gt;Did the code posted not work? You need to replace Disease1/2/3 with the names you're looking for and create your array again, but otherwise it should work as posted. Note that case matters, i.e. heart does not equal Heart.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Here's some resources that may help:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://video.sas.com/detail/videos/how-to-tutorials/video/4573016759001/performing-conditional-logic-in-sas?autoStart=true" target="_blank"&gt;http://video.sas.com/detail/videos/how-to-tutorials/video/4573016759001/performing-conditional-logic-in-sas?autoStart=true&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;A href="https://stats.idre.ucla.edu/sas/modules/creating-and-recoding-variables-in-sas/" target="_blank"&gt;https://stats.idre.ucla.edu/sas/modules/creating-and-recoding-variables-in-sas/&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The first SAS Programming e-course is free if you're interested.&lt;/P&gt;
&lt;P&gt;I think you get a printable certificate at the end as well.&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 23 Nov 2017 01:39:00 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/SAS-new-variable/m-p/415725#M102006</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2017-11-23T01:39:00Z</dc:date>
    </item>
    <item>
      <title>Re: SAS new variable</title>
      <link>https://communities.sas.com/t5/SAS-Programming/SAS-new-variable/m-p/416074#M102147</link>
      <description>&lt;P&gt;So he wants us to know how to do it using if and then without WHICHC.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I have this but it is not working...&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data new; 
	set longsort; 
	by id_no; 
	Keep id_no sympt1 - sympt5 disease; 
	retain sympt1 - sympt5 disease; 
	disease=0;
	array New_a (1:5) $20 sympt1 - sympt5; 
	If first.id_no then
	do; 
	Do i = 1 to 5; 
		new_a (i) = .; 
		end; 

	new_a (symptom_no) = symptom; 
	if last.id_no then output; 
		run; 
	array New_b (1) disease; 
	If sympt1 ='heartburns' and sympt2='sickness' and sympt3='spasm' then disease='1';
	else disease='0'; 
		end; 
	end; 

		run; 
	proc print data= new; 
	run; &lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;What am I doing wrong?&lt;/P&gt;</description>
      <pubDate>Fri, 24 Nov 2017 19:35:44 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/SAS-new-variable/m-p/416074#M102147</guid>
      <dc:creator>jessica_join</dc:creator>
      <dc:date>2017-11-24T19:35:44Z</dc:date>
    </item>
    <item>
      <title>Re: SAS new variable</title>
      <link>https://communities.sas.com/t5/SAS-Programming/SAS-new-variable/m-p/416075#M102148</link>
      <description>&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data new; 
	set longsort; 
	by id_no; 
	Keep id_no sympt1 - sympt5 disease; 
	retain sympt1 - sympt5 disease; 
	disease=0;
	array New_a (1:5) $20 sympt1 - sympt5; 
	If first.id_no then
	do; 
	Do i = 1 to 5; 
		new_a (i) = .; 
		end; 

	new_a (symptom_no) = symptom; 
	if last.id_no then output; 
		run; 
	array New_b (1) disease; 
	If sympt1 ='heartburns' and sympt2='sickness' and sympt3='spasm' then disease='1';
	else disease='0'; 
		end; 
	end; 

		run; 
	proc print data= new; 
	run; &lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;I have this now and it is still not working.&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 24 Nov 2017 19:36:24 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/SAS-new-variable/m-p/416075#M102148</guid>
      <dc:creator>jessica_join</dc:creator>
      <dc:date>2017-11-24T19:36:24Z</dc:date>
    </item>
    <item>
      <title>Re: SAS new variable</title>
      <link>https://communities.sas.com/t5/SAS-Programming/SAS-new-variable/m-p/416080#M102151</link>
      <description>&lt;P&gt;Don't do it in the same step.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Do the conversion first and the flag in a second step. Once you have that working you can combine them into a single step.&lt;/P&gt;
&lt;P&gt;Otherwise you're trying to do a lot at once and you can't see the intermediary steps.&lt;/P&gt;</description>
      <pubDate>Fri, 24 Nov 2017 20:35:42 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/SAS-new-variable/m-p/416080#M102151</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2017-11-24T20:35:42Z</dc:date>
    </item>
    <item>
      <title>Re: SAS new variable</title>
      <link>https://communities.sas.com/t5/SAS-Programming/SAS-new-variable/m-p/416083#M102153</link>
      <description>&lt;P&gt;What conversion?&lt;/P&gt;</description>
      <pubDate>Fri, 24 Nov 2017 20:47:03 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/SAS-new-variable/m-p/416083#M102153</guid>
      <dc:creator>jessica_join</dc:creator>
      <dc:date>2017-11-24T20:47:03Z</dc:date>
    </item>
    <item>
      <title>Re: SAS new variable</title>
      <link>https://communities.sas.com/t5/SAS-Programming/SAS-new-variable/m-p/416089#M102154</link>
      <description>&lt;PRE class="language-sas lia-code-sample" data-lia-code-lang="sas" data-lia-code-macro="true"&gt;&lt;CODE class="  language-sas"&gt;&lt;SPAN class="token procnames"&gt;*Convert file to wide format from long format -&amp;gt; 'conversion';&lt;BR /&gt;data&lt;/SPAN&gt; new&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt; 
	&lt;SPAN class="token keyword"&gt;set&lt;/SPAN&gt; longsort&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt; 
	&lt;SPAN class="token statement"&gt;by&lt;/SPAN&gt; id_no&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt; 
	&lt;SPAN class="token keyword"&gt;Keep&lt;/SPAN&gt; id_no sympt1 &lt;SPAN class="token operator"&gt;-&lt;/SPAN&gt; sympt5 disease&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt; 
	&lt;SPAN class="token keyword"&gt;retain&lt;/SPAN&gt; sympt1 &lt;SPAN class="token operator"&gt;-&lt;/SPAN&gt; sympt5 disease&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt; 
	disease&lt;SPAN class="token operator"&gt;=&lt;/SPAN&gt;&lt;SPAN class="token number"&gt;0&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;
	&lt;SPAN class="token statement"&gt;array&lt;/SPAN&gt; New_a &lt;SPAN class="token punctuation"&gt;(&lt;/SPAN&gt;&lt;SPAN class="token number"&gt;1&lt;/SPAN&gt;:&lt;SPAN class="token number"&gt;5&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;)&lt;/SPAN&gt; &lt;SPAN class="token punctuation"&gt;$&lt;/SPAN&gt;&lt;SPAN class="token number"&gt;20&lt;/SPAN&gt; sympt1 &lt;SPAN class="token operator"&gt;-&lt;/SPAN&gt; sympt5&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt; 
	&lt;SPAN class="token keyword"&gt;If&lt;/SPAN&gt; &lt;SPAN class="token function"&gt;first&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;.&lt;/SPAN&gt;id_no &lt;SPAN class="token keyword"&gt;then&lt;/SPAN&gt;
	do&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt; 
	Do i &lt;SPAN class="token operator"&gt;=&lt;/SPAN&gt; &lt;SPAN class="token number"&gt;1&lt;/SPAN&gt; to &lt;SPAN class="token number"&gt;5&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt; 
		new_a &lt;SPAN class="token punctuation"&gt;(&lt;/SPAN&gt;i&lt;SPAN class="token punctuation"&gt;)&lt;/SPAN&gt; &lt;SPAN class="token operator"&gt;=&lt;/SPAN&gt; &lt;SPAN class="token punctuation"&gt;.&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt; 
		end&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt; 

	new_a &lt;SPAN class="token punctuation"&gt;(&lt;/SPAN&gt;symptom_no&lt;SPAN class="token punctuation"&gt;)&lt;/SPAN&gt; &lt;SPAN class="token operator"&gt;=&lt;/SPAN&gt; symptom&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt; 
	&lt;SPAN class="token keyword"&gt;if&lt;/SPAN&gt; last&lt;SPAN class="token punctuation"&gt;.&lt;/SPAN&gt;id_no &lt;SPAN class="token keyword"&gt;then&lt;/SPAN&gt; output&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt; 
		&lt;SPAN class="token procnames"&gt;run&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt; 
	&lt;SPAN class="token statement"&gt;array&lt;/SPAN&gt; New_b &lt;SPAN class="token punctuation"&gt;(&lt;/SPAN&gt;&lt;SPAN class="token number"&gt;1&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;)&lt;/SPAN&gt; disease&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt; 
	
	&lt;SPAN class="token keyword"&gt;else&lt;/SPAN&gt; disease&lt;SPAN class="token operator"&gt;=&lt;/SPAN&gt;&lt;SPAN class="token string"&gt;'0'&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt; 
		end&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt; 
	end&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt; 

	&lt;SPAN class="token procnames"&gt;run&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt; &lt;BR /&gt;&lt;/CODE&gt;&amp;nbsp;&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Now add another step that creats the flag based on your new data.&lt;/P&gt;&lt;P&gt;&lt;BR data-mce-bogus="1" /&gt;&lt;/P&gt;&lt;P&gt;As I mentioned previously, your diseases each end up in the same column so you can make your IF THEN structured as below. Just change the variable names to match your variable name and the values to match the values you're checking for. Being able to open the NEW data to work with it makes this process a bit easier. Good Luck.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data flag_disease;
set new;

if symptom1 = 'Heart' and symptom2 = 'Lung' and symptom3 = 'Other' then flag_disease = 1;
else flag_disease = 0;

run;

&lt;/CODE&gt;&lt;/PRE&gt;&lt;/P&gt;</description>
      <pubDate>Fri, 24 Nov 2017 21:10:01 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/SAS-new-variable/m-p/416089#M102154</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2017-11-24T21:10:01Z</dc:date>
    </item>
    <item>
      <title>Re: SAS new variable</title>
      <link>https://communities.sas.com/t5/SAS-Programming/SAS-new-variable/m-p/416094#M102156</link>
      <description>&lt;P&gt;Pick one structure for the data and calculate DISEASE from that.&lt;/P&gt;
&lt;P&gt;So if you have the data that looks like the printout you posted.&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have ;
  length id_no 8 sympt1-sympt5 $20 disease 8;
  infile cards dsd dlm='|';
  input id_no sympt1-sympt5 disease ;
cards;
1|Heartburns|Sickness||||0
4|||||Tiredness|0
6|Heartburns|||||0
7||||Temperature||0
8|Heartburns||||Tiredness|0
9||Sickness|Spasm|Temperature||0
10|||Spasm||Tiredness|0
11|||Spasm||Tiredness|0
12||||Temperature|Tiredness|0
13|||Spasm|Temperature||0
14|||Spasm|||0
15|Heartburns|||Temperature||0
16|||||Tiredness|0
17|Heartburns|||||0
19||Sickness||||0
;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;You can now calculate the variable DISEASE by testing the 5 symptoms.&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data want ;
  set have ;
  if not missing(sympt1) and not missing(sympt2) and not missing(sympt3)
  and missing(sympt4) and missing(sympt5) then disease=1;
  else disease=0;
run;
proc freq data=want;
 tables disease;
run;
&lt;/CODE&gt;&lt;/PRE&gt;
&lt;PRE&gt;The FREQ Procedure

                                    Cumulative    Cumulative
disease    Frequency     Percent     Frequency      Percent
------------------------------------------------------------
      0          15      100.00            15       100.00&lt;/PRE&gt;
&lt;P&gt;Looks like no one meets that definition.&lt;/P&gt;
&lt;P&gt;Do you have more data? Or perhaps the criteria is a little different than the way you expressed it?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 24 Nov 2017 22:10:07 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/SAS-new-variable/m-p/416094#M102156</guid>
      <dc:creator>Tom</dc:creator>
      <dc:date>2017-11-24T22:10:07Z</dc:date>
    </item>
  </channel>
</rss>

