<?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: Need to Loop Through 36 Character Variables &amp;amp; Create Six New Hierarchical Variables in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Need-to-Loop-Through-36-Character-Variables-amp-Create-Six-New/m-p/708499#M217742</link>
    <description>&lt;P&gt;Use variable arrays for searching for yes/no and retrieving corresponding address.&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;* list the variables in order of importance;
array flags WORKGOV     WORKTEACH     WORKHEALTH     WORKRETAIL     WORKOTHER;
array names WORKGOVNAME WORKTEACHNAME WORKHEALTHNAME WORKRETAILNAME WORKOTHERNAME;
array addrs WORKGOVADD  WORKTEACHADD  WORKHEALTHADD  WORKRETAILADD  WORKOTHERADD;

array workname(3) $50;
array workadd(3) $100;

index2 = 0;
do index = 1 to dim(flags) while(index2&amp;lt;3);
  if flags(index) eq 'No' then continue;
  index2+1;
  workname(index2) = names(index);
  workadd(index2) = addrs(index);
end;
&lt;/CODE&gt;&lt;/PRE&gt;</description>
    <pubDate>Tue, 29 Dec 2020 03:32:55 GMT</pubDate>
    <dc:creator>RichardDeVen</dc:creator>
    <dc:date>2020-12-29T03:32:55Z</dc:date>
    <item>
      <title>Need to Loop Through 36 Character Variables &amp; Create Six New Hierarchical Variables</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Need-to-Loop-Through-36-Character-Variables-amp-Create-Six-New/m-p/708494#M217738</link>
      <description>&lt;P&gt;Using SAS EG&amp;nbsp;7.15 HF9 (7.100.5.6226) (64-bit) on a Windows 10 computer.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I have 12 variables that are each Yes/No. Each variable represents a job a person reported to have. They can report more than one job. What I need to do is loop through all 12 Y/N variables and determine which ones have "Yes" values. Then, for the "Yes" jobs I need to pull on each one's name and address fields and populate that in new variables for up to 3 jobs, two fields each: WORKNAME1, WORKADD1, WORKNAME2, WORKADD2, WORKNAME3,WORKADD3.&amp;nbsp; To add more complexity since a person can report up to 12 jobs but we can only accept three, there is a hierarchy to determine which to bring in e.g. If they reported to have jobs in retail, government, healthcare, and teaching I should only take the teaching, healthcare and government jobs.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I've racked my brain and I can't think of an efficient solution to this. I'm sure I should use some sort of looping method but I've never done a loop like this. Any help is appreciate. Thank you!&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Data I have:&lt;/STRONG&gt;&lt;/P&gt;
&lt;TABLE width="1822"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="90"&gt;WORKRETAIL&lt;/TD&gt;
&lt;TD width="143"&gt;WORKRETAILNAME&lt;/TD&gt;
&lt;TD width="143"&gt;WORKRETAILADD&lt;/TD&gt;
&lt;TD width="143"&gt;WORKGOV&lt;/TD&gt;
&lt;TD width="111"&gt;WORKGOVNAME&lt;/TD&gt;
&lt;TD width="143"&gt;WORKGOVADD&lt;/TD&gt;
&lt;TD width="85"&gt;WORKTEACH&lt;/TD&gt;
&lt;TD width="125"&gt;WORKTEACHNAME&lt;/TD&gt;
&lt;TD width="143"&gt;WORKTEACHADD&lt;/TD&gt;
&lt;TD width="93"&gt;WORKHEALTH&lt;/TD&gt;
&lt;TD width="132"&gt;WORKHEALTHNAME&lt;/TD&gt;
&lt;TD width="143"&gt;WORKHEALTHADD&lt;/TD&gt;
&lt;TD width="87"&gt;WORKOTHER&lt;/TD&gt;
&lt;TD width="126"&gt;WORKOTHERNAME&lt;/TD&gt;
&lt;TD width="115"&gt;WORKOTHERADD&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;Yes&lt;/TD&gt;
&lt;TD&gt;Salon&lt;/TD&gt;
&lt;TD&gt;123 ABC St, California&lt;/TD&gt;
&lt;TD&gt;Yes&lt;/TD&gt;
&lt;TD&gt;Agency&lt;/TD&gt;
&lt;TD&gt;123 ABC St, California&lt;/TD&gt;
&lt;TD&gt;Yes&lt;/TD&gt;
&lt;TD&gt;Elementary&lt;/TD&gt;
&lt;TD&gt;123 ABC St, California&lt;/TD&gt;
&lt;TD&gt;Yes&lt;/TD&gt;
&lt;TD&gt;Hospital&lt;/TD&gt;
&lt;TD&gt;123 ABC St, California&lt;/TD&gt;
&lt;TD&gt;No&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Data I need:&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;TABLE width="773"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="90"&gt;WORKNAME1&lt;/TD&gt;
&lt;TD width="143"&gt;WORKADD2&lt;/TD&gt;
&lt;TD width="143"&gt;WORKNAME2&lt;/TD&gt;
&lt;TD width="143"&gt;WORKADD2&lt;/TD&gt;
&lt;TD width="111"&gt;WORKNAME3&lt;/TD&gt;
&lt;TD width="143"&gt;WORKADD3&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;Agency&lt;/TD&gt;
&lt;TD&gt;123 ABC St, California&lt;/TD&gt;
&lt;TD&gt;Elementary&lt;/TD&gt;
&lt;TD&gt;123 ABC St, California&lt;/TD&gt;
&lt;TD&gt;Hospital&lt;/TD&gt;
&lt;TD&gt;123 ABC St, California&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;</description>
      <pubDate>Tue, 29 Dec 2020 02:07:06 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Need-to-Loop-Through-36-Character-Variables-amp-Create-Six-New/m-p/708494#M217738</guid>
      <dc:creator>cgates</dc:creator>
      <dc:date>2020-12-29T02:07:06Z</dc:date>
    </item>
    <item>
      <title>Re: Need to Loop Through 36 Character Variables &amp; Create Six New Hierarchical Variables</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Need-to-Loop-Through-36-Character-Variables-amp-Create-Six-New/m-p/708499#M217742</link>
      <description>&lt;P&gt;Use variable arrays for searching for yes/no and retrieving corresponding address.&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;* list the variables in order of importance;
array flags WORKGOV     WORKTEACH     WORKHEALTH     WORKRETAIL     WORKOTHER;
array names WORKGOVNAME WORKTEACHNAME WORKHEALTHNAME WORKRETAILNAME WORKOTHERNAME;
array addrs WORKGOVADD  WORKTEACHADD  WORKHEALTHADD  WORKRETAILADD  WORKOTHERADD;

array workname(3) $50;
array workadd(3) $100;

index2 = 0;
do index = 1 to dim(flags) while(index2&amp;lt;3);
  if flags(index) eq 'No' then continue;
  index2+1;
  workname(index2) = names(index);
  workadd(index2) = addrs(index);
end;
&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Tue, 29 Dec 2020 03:32:55 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Need-to-Loop-Through-36-Character-Variables-amp-Create-Six-New/m-p/708499#M217742</guid>
      <dc:creator>RichardDeVen</dc:creator>
      <dc:date>2020-12-29T03:32:55Z</dc:date>
    </item>
    <item>
      <title>Re: Need to Loop Through 36 Character Variables &amp; Create Six New Hierarchical Variables</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Need-to-Loop-Through-36-Character-Variables-amp-Create-Six-New/m-p/708509#M217750</link>
      <description>&lt;P&gt;You're a godsend &lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/12477"&gt;@RichardDeVen&lt;/a&gt;&amp;nbsp;. Thank you so much! It worked perfectly.&lt;/P&gt;</description>
      <pubDate>Tue, 29 Dec 2020 04:37:47 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Need-to-Loop-Through-36-Character-Variables-amp-Create-Six-New/m-p/708509#M217750</guid>
      <dc:creator>cgates</dc:creator>
      <dc:date>2020-12-29T04:37:47Z</dc:date>
    </item>
  </channel>
</rss>

