<?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 data step/programming in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/data-step-programming/m-p/705883#M216595</link>
    <description>&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;I have following question, and respondent can check all that apply thus multiple categories (see data). How can I break multiple responses such as 1,4,5,6 into separate question and response?&amp;nbsp; Thank you very much! Haiyi&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;What TV network did you watch? Please check all that apply&lt;/P&gt;&lt;P&gt;▢&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; NBC&amp;nbsp; (1)&lt;/P&gt;&lt;P&gt;▢&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CBS (2)&lt;/P&gt;&lt;P&gt;▢&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CNN&amp;nbsp; (3)&lt;/P&gt;&lt;P&gt;▢&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Fox&amp;nbsp; (4)&lt;/P&gt;&lt;P&gt;▢&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ABC (5)&lt;/P&gt;&lt;P&gt;▢&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pbs&amp;nbsp; (6)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Obs&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; network&lt;/P&gt;&lt;P&gt;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1,4,5&lt;/P&gt;&lt;P&gt;2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1,4,5,6,&lt;/P&gt;&lt;P&gt;3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2&lt;/P&gt;&lt;P&gt;4&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1,3,4&lt;/P&gt;&lt;P&gt;5&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1,3,4,5,6&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Tue, 15 Dec 2020 00:21:17 GMT</pubDate>
    <dc:creator>Haiyi_SAS</dc:creator>
    <dc:date>2020-12-15T00:21:17Z</dc:date>
    <item>
      <title>data step/programming</title>
      <link>https://communities.sas.com/t5/SAS-Programming/data-step-programming/m-p/705883#M216595</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;I have following question, and respondent can check all that apply thus multiple categories (see data). How can I break multiple responses such as 1,4,5,6 into separate question and response?&amp;nbsp; Thank you very much! Haiyi&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;What TV network did you watch? Please check all that apply&lt;/P&gt;&lt;P&gt;▢&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; NBC&amp;nbsp; (1)&lt;/P&gt;&lt;P&gt;▢&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CBS (2)&lt;/P&gt;&lt;P&gt;▢&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CNN&amp;nbsp; (3)&lt;/P&gt;&lt;P&gt;▢&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Fox&amp;nbsp; (4)&lt;/P&gt;&lt;P&gt;▢&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ABC (5)&lt;/P&gt;&lt;P&gt;▢&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pbs&amp;nbsp; (6)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Obs&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; network&lt;/P&gt;&lt;P&gt;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1,4,5&lt;/P&gt;&lt;P&gt;2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1,4,5,6,&lt;/P&gt;&lt;P&gt;3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2&lt;/P&gt;&lt;P&gt;4&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1,3,4&lt;/P&gt;&lt;P&gt;5&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1,3,4,5,6&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 15 Dec 2020 00:21:17 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/data-step-programming/m-p/705883#M216595</guid>
      <dc:creator>Haiyi_SAS</dc:creator>
      <dc:date>2020-12-15T00:21:17Z</dc:date>
    </item>
    <item>
      <title>Re: data step/programming</title>
      <link>https://communities.sas.com/t5/SAS-Programming/data-step-programming/m-p/705889#M216599</link>
      <description>&lt;P&gt;How really depends on what your current data SAS data set looks like and what you expect the output to look like.&lt;/P&gt;
&lt;P&gt;Typically with something like this I prefer to have variables that are coded 1 (for selected) and 0 (not selected).&lt;/P&gt;
&lt;P&gt;If that is what you want you might look at the survey software used as that may be an Export option (I know at least 4 different software packages this is the case.) and avoid the whole issue.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Or maybe something like this:&lt;/P&gt;
&lt;PRE&gt;data have;
   input obs network :$10.;
datalines;
1            1,4,5
2            1,4,5,6
3            2
4            1,3,4
5            1,3,4,5,6
;

data want;
   set have;
   array n   NBC CBS  CNN  Fox 
             ABC PBS;
   /* set all the neworks to 0*/
   do i= 1 to dim(n);
      n[i] = 0;
   end;
   /* if the networks number is 
      in the value then set the 
      value of the individual network variable to
      1
   */
  do i=1 to countw(network,',');
     n[input(scan(network,i),best.)] = 1;
  end;
  drop i;
run; 

 &lt;/PRE&gt;
&lt;P&gt;Arrays are a way to reference multiple variables that you intend to do something similar with each.&lt;/P&gt;
&lt;P&gt;You reference the individual variable by using the array name, N above, followed by an index or position value in parentheses or brackets. N(3) above would be the CNN variable.&lt;/P&gt;
&lt;P&gt;The DIM function returns the number of elements (variables) in an array. So if you add or remove a variable in the Array definition the code adjusts.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The Countw function as used returns the number of elements separated by commas. CAUTION: If you actually have commas with no value afterward then the array usage will return an error.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The fancy code in this: n[input(scan(network,i),best.)]&amp;nbsp; uses the Scan function to get one of the "numbers" from the list and then uses the Input function to create a numeric value so the array index is appropriate. Indexes for arrays must be integers so if you have something that causes values like 1, 2.4, 6 there will be an error.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 15 Dec 2020 01:04:29 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/data-step-programming/m-p/705889#M216599</guid>
      <dc:creator>ballardw</dc:creator>
      <dc:date>2020-12-15T01:04:29Z</dc:date>
    </item>
    <item>
      <title>Re: data step/programming</title>
      <link>https://communities.sas.com/t5/SAS-Programming/data-step-programming/m-p/705890#M216600</link>
      <description>First you need a plan.&lt;BR /&gt;Right now you have a single variable called NETWORK.  When this is done, do you want 6 variables instead (such as Network1 through Network6, all either "Y" or "N")?  Do you have something else in mind?</description>
      <pubDate>Tue, 15 Dec 2020 01:07:18 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/data-step-programming/m-p/705890#M216600</guid>
      <dc:creator>Astounding</dc:creator>
      <dc:date>2020-12-15T01:07:18Z</dc:date>
    </item>
    <item>
      <title>Re: data step/programming</title>
      <link>https://communities.sas.com/t5/SAS-Programming/data-step-programming/m-p/705987#M216641</link>
      <description>&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;After considering the other answers you've been given, you will probably want to think of something like this: &amp;nbsp;&lt;FONT&gt;&lt;A href="https://communities.sas.com/t5/SAS-Programming/How-to-get-all-possible-multiplicative-interactions/td-p/67009" target="_blank" rel="noopener"&gt;https://communities.sas.com/t5/SAS-Programming/How-to-get-all-possible-multiplicative-interactions/td-p/67009&lt;/A&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Best of luck,&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Julez.&lt;/P&gt;</description>
      <pubDate>Tue, 15 Dec 2020 11:10:44 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/data-step-programming/m-p/705987#M216641</guid>
      <dc:creator>JulieLearnsSAS</dc:creator>
      <dc:date>2020-12-15T11:10:44Z</dc:date>
    </item>
  </channel>
</rss>

