<?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: Choosing variables based on condition in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Choosing-variables-based-on-condition/m-p/200004#M37383</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;BR /&gt;Hi all,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Sorry for the delay in coming back. Was on holiday and just came back. The below code worked for me.&lt;/P&gt;&lt;P&gt;proc sql;&lt;BR /&gt;&amp;nbsp; select&amp;nbsp; distinct upcase(VALUE)&lt;BR /&gt;&amp;nbsp; into&amp;nbsp;&amp;nbsp;&amp;nbsp; :KEEP_LIST separated by " "&lt;BR /&gt;&amp;nbsp; from&amp;nbsp;&amp;nbsp; SASHELP.VMACRO&lt;BR /&gt;&amp;nbsp; where NAME in ('BRAND','BRAND1','BRAND2','BRAND3','BRAND4','BRAND5','BRAND6','BRAND7','BRAND8','BRAND9,''BRAND10','BRAND11','BRAND12','BRAND13');&lt;/P&gt;&lt;P&gt;quit;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have 13 brands in the prompts to choose. If user chooses only one brand then brand will be &amp;amp;brand. if multiple it will be &amp;amp;brand1 &amp;amp;brand2 and so on.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thank you all for your help. You all are wonderful&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 16 Jun 2015 14:37:05 GMT</pubDate>
    <dc:creator>KiranMaddi</dc:creator>
    <dc:date>2015-06-16T14:37:05Z</dc:date>
    <item>
      <title>Choosing variables based on condition</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Choosing-variables-based-on-condition/m-p/199978#M37357</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello SAS gurus,&lt;/P&gt;&lt;P&gt;Could someone please help me with the following query. Thanks in advance&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;For instance I have a dataset like this&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;Name Age sex BMW BMW_Premium BMW_Standard AUDI Mercedes Mercedes_card&amp;nbsp; Vauxhall Toyota Toyota_Rnw&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; x&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; x&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; x&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; x&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; x&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; x&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;&amp;nbsp;&amp;nbsp; x&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; x&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; x&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;&amp;nbsp; x&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; x&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; x&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&lt;BR /&gt;Now I want to see only BMW data along with demographic data. How do I select only brand specific variables along with Name Age sex using macros or any other method?&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;for instance user should be able to select what he wants by entering the brand name in %let(Ex: %let brand = BMW) &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 04 Jun 2015 08:12:48 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Choosing-variables-based-on-condition/m-p/199978#M37357</guid>
      <dc:creator>KiranMaddi</dc:creator>
      <dc:date>2015-06-04T08:12:48Z</dc:date>
    </item>
    <item>
      <title>Re: Choosing variables based on condition</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Choosing-variables-based-on-condition/m-p/199979#M37358</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The below uses your columns naming which is not consitent, hence I have to query the dataset first to get variable names, e.g. BMW and BMW_PREMIUM, but no AUDI_PREMIUM etc.&amp;nbsp; Having consistent column naming would simplify this.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt; line-height: 1.5em;"&gt;data have;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; name="abcd"; age=20; sex="M"; bmw="3 series"; bmw_premium="Y"; audi="N"; mercedes="N"; output;&lt;/P&gt;&lt;P&gt;&amp;nbsp; name="efj"; age=20; sex="M"; bmw="3 series"; bmw_premium="Y"; audi="A8"; mercedes="SLR"; output;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;%let brand=bmw;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;proc sql;&lt;/P&gt;&lt;P&gt;&amp;nbsp; select&amp;nbsp; distinct NAME&lt;/P&gt;&lt;P&gt;&amp;nbsp; into&amp;nbsp;&amp;nbsp;&amp;nbsp; :KEEP_LIST separated by " "&lt;/P&gt;&lt;P&gt;&amp;nbsp; from&amp;nbsp;&amp;nbsp;&amp;nbsp; DICTIONARY.COLUMNS&lt;/P&gt;&lt;P&gt;&amp;nbsp; where&amp;nbsp;&amp;nbsp; LIBNAME="WORK" &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; and&amp;nbsp;&amp;nbsp; MEMNAME="HAVE"&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; and&amp;nbsp;&amp;nbsp; (upcase(NAME) in ("NAME","AGE","SEX") or index(upcase(NAME),upcase("&amp;amp;BRAND."))&amp;gt;0);&lt;/P&gt;&lt;P&gt;quit;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data want;&lt;/P&gt;&lt;P&gt;&amp;nbsp; set have (keep=&amp;amp;KEEP_LIST.);&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 04 Jun 2015 08:38:33 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Choosing-variables-based-on-condition/m-p/199979#M37358</guid>
      <dc:creator>RW9</dc:creator>
      <dc:date>2015-06-04T08:38:33Z</dc:date>
    </item>
    <item>
      <title>Re: Choosing variables based on condition</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Choosing-variables-based-on-condition/m-p/199980#M37359</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;BR /&gt;Hi RW9,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thank you very much for your quick response.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Please do you mind explain this line of code?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 12pt; font-family: Courier New;"&gt;&amp;nbsp;&amp;nbsp; (upcase(NAME) &lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; font-size: 12pt; font-family: Courier New;"&gt;in&lt;/SPAN&gt;&lt;SPAN style="font-size: 12pt; font-family: Courier New;"&gt; (&lt;/SPAN&gt;&lt;SPAN style="color: #800080; font-size: 12pt; font-family: Courier New;"&gt;"NAME"&lt;/SPAN&gt;&lt;SPAN style="font-size: 12pt; font-family: Courier New;"&gt;,&lt;/SPAN&gt;&lt;SPAN style="color: #800080; font-size: 12pt; font-family: Courier New;"&gt;"AGE"&lt;/SPAN&gt;&lt;SPAN style="font-size: 12pt; font-family: Courier New;"&gt;,&lt;/SPAN&gt;&lt;SPAN style="color: #800080; font-size: 12pt; font-family: Courier New;"&gt;"SEX"&lt;/SPAN&gt;&lt;SPAN style="font-size: 12pt; font-family: Courier New;"&gt;) &lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; font-size: 12pt; font-family: Courier New;"&gt;or&lt;/SPAN&gt;&lt;SPAN style="font-size: 12pt; font-family: Courier New;"&gt; index(upcase(NAME),upcase(&lt;/SPAN&gt;&lt;SPAN style="color: #800080; font-size: 12pt; font-family: Courier New;"&gt;"&amp;amp;BRAND."&lt;/SPAN&gt;&lt;SPAN style="font-size: 12pt; font-family: Courier New;"&gt;))&amp;gt;&lt;/SPAN&gt;&lt;STRONG style=": ; color: #008080; font-size: 12pt; font-family: Courier New;"&gt;0&lt;/STRONG&gt;&lt;SPAN style="font-size: 12pt; font-family: Courier New;"&gt;);&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In this example we only have 5 or 6 variables. What if we have like 100 variables? Do we have to manually enter all those variable names?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Message was edited by: Kiran Maddi&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 04 Jun 2015 10:22:46 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Choosing-variables-based-on-condition/m-p/199980#M37359</guid>
      <dc:creator>KiranMaddi</dc:creator>
      <dc:date>2015-06-04T10:22:46Z</dc:date>
    </item>
    <item>
      <title>Re: Choosing variables based on condition</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Choosing-variables-based-on-condition/m-p/199981#M37360</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;SAS automatically keeps metadata about tables.&amp;nbsp; These can be seen in SASHELP library, under VTABLE and VCOLUMN.&amp;nbsp; You can also reference these in SQL as dictionary.tables, and dictionary.columns.&amp;nbsp; What I am doing in that statement is looking at what columns are in your dataset.&amp;nbsp; If the name is NAME, AGE, SEX, or has BMW at any point in the variable name, then create a macro variable with these column names.&amp;nbsp; Then the datastep uses this macro variable to know what columns to keep.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 04 Jun 2015 11:59:03 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Choosing-variables-based-on-condition/m-p/199981#M37360</guid>
      <dc:creator>RW9</dc:creator>
      <dc:date>2015-06-04T11:59:03Z</dc:date>
    </item>
    <item>
      <title>Re: Choosing variables based on condition</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Choosing-variables-based-on-condition/m-p/199982#M37361</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;If you have multiple KAY word need to grab ,then use prxmatch().&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 04 Jun 2015 12:05:08 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Choosing-variables-based-on-condition/m-p/199982#M37361</guid>
      <dc:creator>Ksharp</dc:creator>
      <dc:date>2015-06-04T12:05:08Z</dc:date>
    </item>
    <item>
      <title>Re: Choosing variables based on condition</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Choosing-variables-based-on-condition/m-p/199983#M37362</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Why not simply&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; set have (keep=name--sex bmw:)&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 04 Jun 2015 13:16:51 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Choosing-variables-based-on-condition/m-p/199983#M37362</guid>
      <dc:creator>JackHamilton</dc:creator>
      <dc:date>2015-06-04T13:16:51Z</dc:date>
    </item>
    <item>
      <title>Re: Choosing variables based on condition</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Choosing-variables-based-on-condition/m-p/199984#M37363</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi RW9,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;That seems to be working. What if I want to select multiple brands? (ex: bmw and Mercedes)&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 04 Jun 2015 13:49:25 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Choosing-variables-based-on-condition/m-p/199984#M37363</guid>
      <dc:creator>KiranMaddi</dc:creator>
      <dc:date>2015-06-04T13:49:25Z</dc:date>
    </item>
    <item>
      <title>Re: Choosing variables based on condition</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Choosing-variables-based-on-condition/m-p/199985#M37364</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Xia,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I did not understand that. Please can you be more specific?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 04 Jun 2015 13:54:13 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Choosing-variables-based-on-condition/m-p/199985#M37364</guid>
      <dc:creator>KiranMaddi</dc:creator>
      <dc:date>2015-06-04T13:54:13Z</dc:date>
    </item>
    <item>
      <title>Re: Choosing variables based on condition</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Choosing-variables-based-on-condition/m-p/199986#M37365</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Well, just update the where and/or the let:&lt;/P&gt;&lt;P&gt;%let brand1=bmw;&lt;/P&gt;&lt;P&gt;%let brand2=mercedes;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; font-size: 13px; background-color: #ffffff;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; and&amp;nbsp;&amp;nbsp; (upcase(NAME) in ("NAME","AGE","SEX") or index(upcase(NAME),upcase("&amp;amp;BRAND1."))&amp;gt;0 or index(upcase(NAME),upcase("&amp;amp;BRAND2."))&amp;gt;0);&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; font-size: 13px; background-color: #ffffff;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;However JackHamilton raises a great point, if your variables do have the same prefix, then you can use that.&amp;nbsp; I always forget about this syntax.&amp;nbsp; So try that first, it will shrink the needed code.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 04 Jun 2015 13:56:57 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Choosing-variables-based-on-condition/m-p/199986#M37365</guid>
      <dc:creator>RW9</dc:creator>
      <dc:date>2015-06-04T13:56:57Z</dc:date>
    </item>
    <item>
      <title>Re: Choosing variables based on condition</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Choosing-variables-based-on-condition/m-p/199987#M37366</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;If they starts with bmw , &lt;SPAN style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;Mercedes&amp;nbsp; ,then use JACK suggested:&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;set have (keep=name--sex bmw: &lt;SPAN style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;Mercedes: &lt;/SPAN&gt;);&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Otherwise, could consider use the following:&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 12pt; font-family: 'Courier New'; background-color: #ffffff;"&gt;(upcase(NAME) &lt;/SPAN&gt;&lt;SPAN style="font-size: 12pt; font-family: 'Courier New'; color: #0000ff; background-color: #ffffff;"&gt;in&lt;/SPAN&gt;&lt;SPAN style="font-size: 12pt; font-family: 'Courier New'; background-color: #ffffff;"&gt; (&lt;/SPAN&gt;&lt;SPAN style="font-size: 12pt; font-family: 'Courier New'; color: #800080; background-color: #ffffff;"&gt;"NAME"&lt;/SPAN&gt;&lt;SPAN style="font-size: 12pt; font-family: 'Courier New'; background-color: #ffffff;"&gt;,&lt;/SPAN&gt;&lt;SPAN style="font-size: 12pt; font-family: 'Courier New'; color: #800080; background-color: #ffffff;"&gt;"AGE"&lt;/SPAN&gt;&lt;SPAN style="font-size: 12pt; font-family: 'Courier New'; background-color: #ffffff;"&gt;,&lt;/SPAN&gt;&lt;SPAN style="font-size: 12pt; font-family: 'Courier New'; color: #800080; background-color: #ffffff;"&gt;"SEX"&lt;/SPAN&gt;&lt;SPAN style="font-size: 12pt; font-family: 'Courier New'; background-color: #ffffff;"&gt;) &lt;/SPAN&gt;&lt;SPAN style="font-size: 12pt; font-family: 'Courier New'; color: #0000ff; background-color: #ffffff;"&gt;or&lt;/SPAN&gt;&lt;SPAN style="font-size: 12pt; font-family: 'Courier New'; background-color: #ffffff;"&gt;&amp;nbsp; prxmatch('/&lt;SPAN style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;bmw|&lt;SPAN style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;Mercedes|Porche&lt;/SPAN&gt;&lt;/SPAN&gt;/i',name)&lt;/SPAN&gt;&lt;SPAN style="font-family: 'Courier New'; font-size: 12pt; line-height: 1.5em; background-color: #ffffff;"&gt;;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 12pt; font-family: 'Courier New'; background-color: #ffffff;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 04 Jun 2015 14:00:40 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Choosing-variables-based-on-condition/m-p/199987#M37366</guid>
      <dc:creator>Ksharp</dc:creator>
      <dc:date>2015-06-04T14:00:40Z</dc:date>
    </item>
    <item>
      <title>Re: Choosing variables based on condition</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Choosing-variables-based-on-condition/m-p/199988#M37367</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi all,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The reason I want&amp;nbsp; this program is I want to create a prompt for the brand where user selects one or multiple brands from a static list when kicking off the program&amp;nbsp; and the final dataset should end up with that user chosen brand specific data. I do not want the users to go in the program and edit the data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hope I am clear?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 04 Jun 2015 14:20:27 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Choosing-variables-based-on-condition/m-p/199988#M37367</guid>
      <dc:creator>KiranMaddi</dc:creator>
      <dc:date>2015-06-04T14:20:27Z</dc:date>
    </item>
    <item>
      <title>Re: Choosing variables based on condition</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Choosing-variables-based-on-condition/m-p/199989#M37368</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi RW9&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Does this work if user chose to go with only one brand as brand two wont be initialized?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;%let brand1=bmw;&lt;/P&gt;&lt;P&gt;%let brand2=mercedes;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; font-size: 13px; background-color: #ffffff;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; and&amp;nbsp;&amp;nbsp; (upcase(NAME) in ("NAME","AGE","SEX") or index(upcase(NAME),upcase("&amp;amp;BRAND1."))&amp;gt;0 or index(upcase(NAME),upcase("&amp;amp;BRAND2."))&amp;gt;0);&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 04 Jun 2015 14:22:03 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Choosing-variables-based-on-condition/m-p/199989#M37368</guid>
      <dc:creator>KiranMaddi</dc:creator>
      <dc:date>2015-06-04T14:22:03Z</dc:date>
    </item>
    <item>
      <title>Re: Choosing variables based on condition</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Choosing-variables-based-on-condition/m-p/199990#M37369</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;You may want to clarify your initial post.&amp;nbsp; By create a prompt, what software are you using?&amp;nbsp; Is it stored process or something?&lt;/P&gt;&lt;P&gt;My suggestion would be to change the layout of your dataset to match the functionality you require, so instead of:&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; font-size: 13px; background-color: #ffffff;"&gt;Name Age sex BMW BMW_Premium BMW_Standard AUDI Mercedes Mercedes_card&amp;nbsp; Vauxhall Toyota Toyota_Rnw&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; font-size: 13px; background-color: #ffffff;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; x&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; x&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; x&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; x&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; x&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; x&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;&amp;nbsp;&amp;nbsp; x&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; x&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; x&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;&amp;nbsp; x&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; x&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; x&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; font-size: 13px; background-color: #ffffff;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; font-size: 13px; background-color: #ffffff;"&gt;Normalise the data:&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; font-size: 13px; background-color: #ffffff;"&gt;NAME&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; AGE&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SEX&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; BRAND&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; BRAND_SUBCATEGORY&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; RESULT&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; font-size: 13px; background-color: #ffffff;"&gt;XYZ&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 123&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; M&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; BMW&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;&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;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="font-size: 13.3333330154419px;"&gt;&lt;SPAN style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; font-size: 13px; background-color: #ffffff;"&gt;XYZ&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 123&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; M&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; BMW&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; Premium&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;&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;&amp;nbsp;&amp;nbsp; 12&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="font-size: 13.3333330154419px;"&gt;&lt;SPAN style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; font-size: 13px; background-color: #ffffff;"&gt;ZYT&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 10&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; F&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Mercedes&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ...&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="font-size: 13.3333330154419px;"&gt;&lt;SPAN style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; font-size: 13px; background-color: #ffffff;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="font-size: 13.3333330154419px;"&gt;&lt;SPAN style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; font-size: 13px; background-color: #ffffff;"&gt;This will make your life easier in the long run.&amp;nbsp; You can get a distinct list of BRANDS by select distinct(BRAND) from..., and you can where clauses as many or as few as you need to return, e.g. where brand in (-yourlist-).&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="font-size: 13.3333330154419px;"&gt;&lt;SPAN style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; font-size: 13px; background-color: #ffffff;"&gt;If your output needs to be transposed then:&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="font-size: 13.3333330154419px;"&gt;&lt;SPAN style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; font-size: 13px; background-color: #ffffff;"&gt;proc sort data=have out=want; &lt;/SPAN&gt;&lt;/P&gt;&lt;P style="font-size: 13.3333330154419px;"&gt;&lt;SPAN style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; font-size: 13px; background-color: #ffffff;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; by name age sex brand; brand_subcategory; &lt;/SPAN&gt;&lt;/P&gt;&lt;P style="font-size: 13.3333330154419px;"&gt;&lt;SPAN style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; font-size: 13px; background-color: #ffffff;"&gt;run;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="font-size: 13.3333330154419px;"&gt;&lt;SPAN style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; font-size: 13px; background-color: #ffffff;"&gt;proc tranpose&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="font-size: 13.3333330154419px;"&gt;&lt;SPAN style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; font-size: 13px; background-color: #ffffff;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; by name age sex brand; brand_subcategory;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; font-size: 13px; background-color: #ffffff;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var result;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; font-size: 13px; background-color: #ffffff;"&gt;run;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; font-size: 13px; background-color: #ffffff;"&gt;Then your columns will be named col1-colx, for all the subsets you choose.&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 04 Jun 2015 14:35:48 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Choosing-variables-based-on-condition/m-p/199990#M37369</guid>
      <dc:creator>RW9</dc:creator>
      <dc:date>2015-06-04T14:35:48Z</dc:date>
    </item>
    <item>
      <title>Re: Choosing variables based on condition</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Choosing-variables-based-on-condition/m-p/199991#M37370</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi All,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I think this code is better for me:&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 12pt; font-family: Courier New;"&gt;%let brand= bmw;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 12pt; font-family: Courier New;"&gt;&amp;amp;brand;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;proc sql;&lt;/P&gt;&lt;P&gt;&amp;nbsp; select&amp;nbsp; distinct NAME&lt;BR /&gt;&amp;nbsp; into&amp;nbsp;&amp;nbsp;&amp;nbsp; :KEEP_LIST separated by " "&lt;BR /&gt;&amp;nbsp; from&amp;nbsp;&amp;nbsp;&amp;nbsp; DICTIONARY.COLUMNS&lt;BR /&gt;&amp;nbsp; where&amp;nbsp;&amp;nbsp; LIBNAME="WORK"&lt;BR /&gt;&amp;nbsp; and&amp;nbsp;&amp;nbsp; MEMNAME="HAVE"&lt;BR /&gt;&amp;nbsp; and&amp;nbsp; (index(upcase(NAME),upcase("&amp;amp;BRAND."))&amp;gt;0);&lt;/P&gt;&lt;P&gt;quit;&lt;/P&gt;&lt;P&gt;%put &amp;amp;keep_list;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data want;&lt;BR /&gt;&amp;nbsp; set have (keep= name--sex &amp;amp;KEEP_LIST.);&lt;BR /&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Question: As I have already mentioned that I am creating prompts for the user to choose the brands. I am not entirely sure if this line of code works when user selects more than one brand?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;and&amp;nbsp;&amp;nbsp; (upcase(NAME) in ("NAME","AGE","SEX") or index(upcase(NAME),upcase("&amp;amp;BRAND1."))&amp;gt;0 or index(upcase(NAME),upcase("&amp;amp;BRAND2."))&amp;gt;0);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; Is there anyway we can use 'in' for the &amp;amp;brand? (ex: &lt;SPAN style="font-size: 12pt; font-family: Courier New;"&gt;(index(upcase(NAME),in upcase(&lt;/SPAN&gt;&lt;SPAN style="color: #800080; font-size: 12pt; font-family: Courier New;"&gt;"&amp;amp;BRAND."&lt;/SPAN&gt;&lt;SPAN style="font-size: 12pt; font-family: Courier New;"&gt;))&amp;gt;&lt;/SPAN&gt;&lt;STRONG style=": ; color: #008080; font-size: 12pt; font-family: Courier New;"&gt;0&lt;/STRONG&gt;&lt;SPAN style="font-size: 12pt; font-family: Courier New;"&gt;);&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thank you all for your helpful suggestions.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 12pt; font-family: Courier New;"&gt;&lt;/SPAN&gt; &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 04 Jun 2015 15:00:38 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Choosing-variables-based-on-condition/m-p/199991#M37370</guid>
      <dc:creator>KiranMaddi</dc:creator>
      <dc:date>2015-06-04T15:00:38Z</dc:date>
    </item>
    <item>
      <title>Re: Choosing variables based on condition</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Choosing-variables-based-on-condition/m-p/199992#M37371</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Here is a follow-up on Jack's suggestion about keep=()&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I discovered this trick recently in polishing summary parameters&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;%let keep_ids = name age sex;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;%let list_brands = bmw&amp;nbsp; mercedes;&lt;/P&gt;&lt;P&gt;*note double space, therefore need for cmpres;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;%let keep_brands = %sysfunc(tranwrd(%cmpres(&amp;amp;list_brands)%str( )&lt;/P&gt;&lt;P&gt;,%str( ),%str(: )));&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;%put &amp;amp;=keep_brands;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;set have( keep = &amp;amp;keep_ids &amp;amp;keep_brands);&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 04 Jun 2015 15:04:44 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Choosing-variables-based-on-condition/m-p/199992#M37371</guid>
      <dc:creator>Ron_MacroMaven</dc:creator>
      <dc:date>2015-06-04T15:04:44Z</dc:date>
    </item>
    <item>
      <title>Re: Choosing variables based on condition</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Choosing-variables-based-on-condition/m-p/199993#M37372</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;BR /&gt;Hi RW9.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I use SAS enterprise guide 5.1&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I actually had your thought before about creating a brand flag in the dataset. Because of some business reasons we wont be able to add that flag into the table. I think the above methods suits me if it allows to choose multiple brands in the prompts?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 04 Jun 2015 15:10:15 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Choosing-variables-based-on-condition/m-p/199993#M37372</guid>
      <dc:creator>KiranMaddi</dc:creator>
      <dc:date>2015-06-04T15:10:15Z</dc:date>
    </item>
    <item>
      <title>Re: Choosing variables based on condition</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Choosing-variables-based-on-condition/m-p/199994#M37373</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi all,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Any ideas on how can we make the&amp;nbsp; below code to&amp;nbsp; accommodate multiple brands in a single macro variable(&amp;amp;brand) ?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Note: user enters brand names in the prompt either single or multiple.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;proc sql;&lt;/P&gt;&lt;P&gt;&amp;nbsp; select&amp;nbsp; distinct NAME&lt;BR /&gt;&amp;nbsp; into&amp;nbsp;&amp;nbsp;&amp;nbsp; :KEEP_LIST separated by " "&lt;BR /&gt;&amp;nbsp; from&amp;nbsp;&amp;nbsp;&amp;nbsp; DICTIONARY.COLUMNS&lt;BR /&gt;&amp;nbsp; where&amp;nbsp;&amp;nbsp; LIBNAME="WORK"&lt;BR /&gt;&amp;nbsp; and&amp;nbsp;&amp;nbsp; MEMNAME="HAVE"&lt;BR /&gt;&amp;nbsp; and&amp;nbsp; (index(upcase(NAME),upcase("&amp;amp;BRAND."))&amp;gt;0);&lt;/P&gt;&lt;P&gt;quit;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 05 Jun 2015 09:14:52 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Choosing-variables-based-on-condition/m-p/199994#M37373</guid>
      <dc:creator>KiranMaddi</dc:creator>
      <dc:date>2015-06-05T09:14:52Z</dc:date>
    </item>
    <item>
      <title>Re: Choosing variables based on condition</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Choosing-variables-based-on-condition/m-p/199995#M37374</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Well, you could parse the list with %sysfuncs and tranwrds.&amp;nbsp; I personally don't like that way.&amp;nbsp; I would first get your list of parameters and put them into a dataset.&amp;nbsp; You can apply checks, upcase etc. at that point and make the SQL code easier to read:&lt;/P&gt;&lt;P&gt;%let brand=bmw mercedes;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data list (drop=i);&lt;/P&gt;&lt;P&gt;&amp;nbsp; length brand $20;&lt;/P&gt;&lt;P&gt;&amp;nbsp; i=1;&lt;/P&gt;&lt;P&gt;&amp;nbsp; do while (scan("&amp;amp;BRAND.",i," ") ne "");&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Do any checks or processing here */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; brand=upcase(scan("&amp;amp;BRAND.",i," "));&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; output;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; i=i+1;&lt;/P&gt;&lt;P&gt;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;proc sql;&lt;/P&gt;&lt;P&gt;&amp;nbsp; select&amp;nbsp; distinct NAME&lt;/P&gt;&lt;P&gt;&amp;nbsp; into&amp;nbsp;&amp;nbsp;&amp;nbsp; :KEEP_LIST separated by " "&lt;/P&gt;&lt;P&gt;&amp;nbsp; from&amp;nbsp;&amp;nbsp;&amp;nbsp; DICTIONARY.COLUMNS&lt;/P&gt;&lt;P&gt;&amp;nbsp; where&amp;nbsp;&amp;nbsp; LIBNAME="WORK"&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; and&amp;nbsp;&amp;nbsp; MEMNAME="HAVE"&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; and&amp;nbsp;&amp;nbsp; scan(upcase(NAME),1,"_") in (select distinct BRAND from LIST);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Assumes there is an _ delimiter between option and any other text */&lt;/P&gt;&lt;P&gt;quit;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 05 Jun 2015 09:27:52 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Choosing-variables-based-on-condition/m-p/199995#M37374</guid>
      <dc:creator>RW9</dc:creator>
      <dc:date>2015-06-05T09:27:52Z</dc:date>
    </item>
    <item>
      <title>Re: Choosing variables based on condition</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Choosing-variables-based-on-condition/m-p/199996#M37375</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;HI RW9,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This is perfectly working in the case where we enter brand names in the %let statement. Where as using prompts, it is creating WANT dataset with only the first brand chosen ignoring the second brand,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Here is the SAS generated macro variables using prompt values from the log:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;%LET Brand = bmw;&lt;/P&gt;&lt;P&gt;%LET Brand_count = 2;&lt;/P&gt;&lt;P&gt;%LET Brand0 = 2;&lt;/P&gt;&lt;P&gt;%LET Brand2 = audi;&lt;/P&gt;&lt;P&gt;%LET Brand1 = bmw;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data want;&lt;BR /&gt;&amp;nbsp; set have (keep= name--sex &amp;amp;brand); &lt;BR /&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;IMG __jive_id="10741" alt="Capture.PNG" class="jive-image-thumbnail jive-image" src="https://communities.sas.com/legacyfs/online/10741_Capture.PNG" width="450" /&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Message was edited by: Kiran Maddi&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 05 Jun 2015 10:36:01 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Choosing-variables-based-on-condition/m-p/199996#M37375</guid>
      <dc:creator>KiranMaddi</dc:creator>
      <dc:date>2015-06-05T10:36:01Z</dc:date>
    </item>
    <item>
      <title>Re: Choosing variables based on condition</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Choosing-variables-based-on-condition/m-p/199997#M37376</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;You need to process the automatically created variables and take care of one special situation: if a user only selects one value from the list,than the variables Brand0 and Brand1 are not created at all.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;/* untested code */&lt;/P&gt;&lt;P&gt;data work.list(drop= i);&lt;BR /&gt;&amp;nbsp; length Brand $ 20;&lt;/P&gt;&lt;P&gt;&amp;nbsp; if &amp;amp;Brand_count = 1 then do;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Brand = upcase("&amp;amp;Brand");&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; output;&lt;BR /&gt;&amp;nbsp; end;&lt;BR /&gt;&amp;nbsp; else do;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; do i = 1 to &amp;amp;Brand_Count;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Brand = upcase(resolve(cats("Brand", i)));&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; output;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; end;&lt;BR /&gt;&amp;nbsp; end;&lt;BR /&gt;run;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 05 Jun 2015 12:33:35 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Choosing-variables-based-on-condition/m-p/199997#M37376</guid>
      <dc:creator>andreas_lds</dc:creator>
      <dc:date>2015-06-05T12:33:35Z</dc:date>
    </item>
  </channel>
</rss>

