<?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 Using SQL to capture first of many variables in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Using-SQL-to-capture-first-of-many-variables/m-p/471876#M120901</link>
    <description>&lt;P&gt;I have some data structured as follows (reasons are 0/1):&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;ID&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; reason1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; reason2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; reason3&amp;nbsp;&amp;nbsp; reason4&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; reason5&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; 1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&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; 1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&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; 0 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&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; 0 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&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; 0 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I would like to filter through the reason1-reason5 and keep the first "1" across, so my final dataset looks like this:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;ID&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; reason&lt;/P&gt;&lt;P&gt;&amp;nbsp;1 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&lt;/P&gt;&lt;P&gt;&amp;nbsp;2 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&lt;/P&gt;&lt;P&gt;&amp;nbsp;3 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3&lt;/P&gt;&lt;P&gt;&amp;nbsp;4 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3&lt;/P&gt;&lt;P&gt;&amp;nbsp;5 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 5&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;So that even if the ID has more than 1 reason, we prioritize the earlier 1. How can I do this with SQL?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Wed, 20 Jun 2018 20:00:18 GMT</pubDate>
    <dc:creator>Melk</dc:creator>
    <dc:date>2018-06-20T20:00:18Z</dc:date>
    <item>
      <title>Using SQL to capture first of many variables</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Using-SQL-to-capture-first-of-many-variables/m-p/471876#M120901</link>
      <description>&lt;P&gt;I have some data structured as follows (reasons are 0/1):&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;ID&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; reason1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; reason2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; reason3&amp;nbsp;&amp;nbsp; reason4&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; reason5&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; 1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&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; 1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&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; 0 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&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; 0 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&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; 0 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I would like to filter through the reason1-reason5 and keep the first "1" across, so my final dataset looks like this:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;ID&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; reason&lt;/P&gt;&lt;P&gt;&amp;nbsp;1 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&lt;/P&gt;&lt;P&gt;&amp;nbsp;2 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&lt;/P&gt;&lt;P&gt;&amp;nbsp;3 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3&lt;/P&gt;&lt;P&gt;&amp;nbsp;4 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3&lt;/P&gt;&lt;P&gt;&amp;nbsp;5 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 5&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;So that even if the ID has more than 1 reason, we prioritize the earlier 1. How can I do this with SQL?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 20 Jun 2018 20:00:18 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Using-SQL-to-capture-first-of-many-variables/m-p/471876#M120901</guid>
      <dc:creator>Melk</dc:creator>
      <dc:date>2018-06-20T20:00:18Z</dc:date>
    </item>
    <item>
      <title>Re: Using SQL to capture first of many variables</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Using-SQL-to-capture-first-of-many-variables/m-p/471880#M120904</link>
      <description>&lt;P&gt;May i ask why not datastep using whichn function?&lt;/P&gt;</description>
      <pubDate>Wed, 20 Jun 2018 20:03:11 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Using-SQL-to-capture-first-of-many-variables/m-p/471880#M120904</guid>
      <dc:creator>novinosrin</dc:creator>
      <dc:date>2018-06-20T20:03:11Z</dc:date>
    </item>
    <item>
      <title>Re: Using SQL to capture first of many variables</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Using-SQL-to-capture-first-of-many-variables/m-p/471881#M120905</link>
      <description>With SQL you're going to have to use manual CASE statements, similar to IF/THEN. &lt;BR /&gt;&lt;BR /&gt;case when reason1=1 then 1&lt;BR /&gt;else when reason2=1 then ... etc.</description>
      <pubDate>Wed, 20 Jun 2018 20:03:17 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Using-SQL-to-capture-first-of-many-variables/m-p/471881#M120905</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2018-06-20T20:03:17Z</dc:date>
    </item>
    <item>
      <title>Re: Using SQL to capture first of many variables</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Using-SQL-to-capture-first-of-many-variables/m-p/471883#M120906</link>
      <description>&lt;P&gt;Why do you want to do this in SQL and not simply... ?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
input ID $ reason1-reason5;
datalines;
1 1 0 0 0 0
2 1 1 0 0 0
3 0 0 1 0 1
4 0 0 1 1 0
5 0 0 0 0 1
;

data want;
   set have;
   array reasons{*} reason1-reason5;
   reason=whichn(1, of reasons[*]);
   keep ID reason;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Wed, 20 Jun 2018 20:07:55 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Using-SQL-to-capture-first-of-many-variables/m-p/471883#M120906</guid>
      <dc:creator>PeterClemmensen</dc:creator>
      <dc:date>2018-06-20T20:07:55Z</dc:date>
    </item>
    <item>
      <title>Re: Using SQL to capture first of many variables</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Using-SQL-to-capture-first-of-many-variables/m-p/471884#M120907</link>
      <description>&lt;P&gt;Thought it would be easier than a data step - is it not?&lt;/P&gt;</description>
      <pubDate>Wed, 20 Jun 2018 20:08:04 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Using-SQL-to-capture-first-of-many-variables/m-p/471884#M120907</guid>
      <dc:creator>Melk</dc:creator>
      <dc:date>2018-06-20T20:08:04Z</dc:date>
    </item>
    <item>
      <title>Re: Using SQL to capture first of many variables</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Using-SQL-to-capture-first-of-many-variables/m-p/471888#M120908</link>
      <description>That was simpler than I thought! So lets say I want to prioritize 5 over 4 now, so priority will be 1 then 2 then 3 then 5 then 4 - can I make a simple edit to the code for this?</description>
      <pubDate>Wed, 20 Jun 2018 20:09:37 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Using-SQL-to-capture-first-of-many-variables/m-p/471888#M120908</guid>
      <dc:creator>Melk</dc:creator>
      <dc:date>2018-06-20T20:09:37Z</dc:date>
    </item>
    <item>
      <title>Re: Using SQL to capture first of many variables</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Using-SQL-to-capture-first-of-many-variables/m-p/471890#M120909</link>
      <description>&lt;P&gt;When you say "&lt;SPAN&gt;prioritize 5 over 4" do you mean Column 5 and 4?&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;So if both Column 4 and 5 are 1 and the rest are 0, you want reason=5, correct?&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Wed, 20 Jun 2018 20:11:46 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Using-SQL-to-capture-first-of-many-variables/m-p/471890#M120909</guid>
      <dc:creator>PeterClemmensen</dc:creator>
      <dc:date>2018-06-20T20:11:46Z</dc:date>
    </item>
    <item>
      <title>Re: Using SQL to capture first of many variables</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Using-SQL-to-capture-first-of-many-variables/m-p/471892#M120910</link>
      <description>&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/140721"&gt;@Melk&lt;/a&gt;&amp;nbsp;wrote:&lt;BR /&gt;That was simpler than I thought! So lets say I want to prioritize 5 over 4 now, so priority will be 1 then 2 then 3 then 5 then 4 - can I make a simple edit to the code for this?&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;Try reordering your list in the array based on priorities, not sure if that will work or not.&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 20 Jun 2018 20:15:05 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Using-SQL-to-capture-first-of-many-variables/m-p/471892#M120910</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2018-06-20T20:15:05Z</dc:date>
    </item>
    <item>
      <title>Re: Using SQL to capture first of many variables</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Using-SQL-to-capture-first-of-many-variables/m-p/471896#M120911</link>
      <description>&lt;P&gt;Note that function whichn will also work within SQL, but you will have to list the variables:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;proc sql;
select 
    id,
    whichn(1, reason1, reason2, reason3, reason4, reason5) as reason
from have;
quit;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Wed, 20 Jun 2018 20:18:32 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Using-SQL-to-capture-first-of-many-variables/m-p/471896#M120911</guid>
      <dc:creator>PGStats</dc:creator>
      <dc:date>2018-06-20T20:18:32Z</dc:date>
    </item>
    <item>
      <title>Re: Using SQL to capture first of many variables</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Using-SQL-to-capture-first-of-many-variables/m-p/471897#M120912</link>
      <description>&lt;P&gt;I mean reason5 over reason4 (based on var name).&lt;/P&gt;</description>
      <pubDate>Wed, 20 Jun 2018 20:19:44 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Using-SQL-to-capture-first-of-many-variables/m-p/471897#M120912</guid>
      <dc:creator>Melk</dc:creator>
      <dc:date>2018-06-20T20:19:44Z</dc:date>
    </item>
    <item>
      <title>Re: Using SQL to capture first of many variables</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Using-SQL-to-capture-first-of-many-variables/m-p/471901#M120914</link>
      <description>&lt;P&gt;If you want to reverse the order, do like this (or its equivalent with a datastep)&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;proc sql;
select 
    id,
    6 - whichn(1, reason5, reason4, reason3, reason2, reason1) as reason
from have;
quit;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Wed, 20 Jun 2018 20:24:27 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Using-SQL-to-capture-first-of-many-variables/m-p/471901#M120914</guid>
      <dc:creator>PGStats</dc:creator>
      <dc:date>2018-06-20T20:24:27Z</dc:date>
    </item>
    <item>
      <title>Re: Using SQL to capture first of many variables</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Using-SQL-to-capture-first-of-many-variables/m-p/471904#M120915</link>
      <description>&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/140721"&gt;@Melk&lt;/a&gt;&amp;nbsp;wrote:&lt;BR /&gt;That was simpler than I thought! So lets say I want to prioritize 5 over 4 now, so priority will be 1 then 2 then 3 then 5 then 4 - can I make a simple edit to the code for this?&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;NOW you have to provide what your output would look like to demonstrate mean by "prioritize" in this fashion.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;One way might be to change the order of the variables instead of using whichn(1, of reasons(*))&lt;/P&gt;
&lt;P&gt;whichn(1,reason5, reason4, reason1,reason2,reason3); would return the number in this list with a result of 1 means Reason5 had a 1; 2 means reason4 had a 1 but reason5 did not and so forth.&lt;/P&gt;</description>
      <pubDate>Wed, 20 Jun 2018 20:26:08 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Using-SQL-to-capture-first-of-many-variables/m-p/471904#M120915</guid>
      <dc:creator>ballardw</dc:creator>
      <dc:date>2018-06-20T20:26:08Z</dc:date>
    </item>
    <item>
      <title>Re: Using SQL to capture first of many variables</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Using-SQL-to-capture-first-of-many-variables/m-p/471927#M120922</link>
      <description>&lt;P&gt;For an arbitrary priority order, I suggest you use two arrays :&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data want;
   set have;
   /* In order of priority */
   array reasons{*} reason1 reason2 reason3 reason5 reason4;
   /* Reason number in reasons list, padded with special value 0 */
   array order{5} (1,2,3,5,4,0);
   reason = order{whichn(1, of reasons[*], 1)};
   keep ID reason;
run;
&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Wed, 20 Jun 2018 21:04:26 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Using-SQL-to-capture-first-of-many-variables/m-p/471927#M120922</guid>
      <dc:creator>PGStats</dc:creator>
      <dc:date>2018-06-20T21:04:26Z</dc:date>
    </item>
  </channel>
</rss>

