<?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: Datastep lookup with FIND using second dataset in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Datastep-lookup-with-FIND-using-second-dataset/m-p/475462#M122271</link>
    <description>&lt;P&gt;I am not sure what you mean by "&lt;SPAN&gt;but how do I then use this output to read the EU_DATA file?"&amp;nbsp; The datastep gets created for each line in us_data, then those datasteps get executed to create the dataset with the filtered information.&amp;nbsp; At them moment each iteration overwrites the previous (as they are all called want), if you changed it to:&lt;/SPAN&gt;&lt;/P&gt;
&lt;PRE&gt;data _null_;
  set qcdata.us_data;
  call execute(cat('data want',strip(put(_n_,best.)),';  
                      if (find(eu_name,"',converttype,'") and find(eu_name,"',convertcount,'") and
                          find(eu_name,"',convertplies,'") and find(eu_name,"',converttpi,'")) then list;
                      else delete;
                    run;'));
run;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;You would see a dataset for each iteration.&lt;/SPAN&gt;&lt;/P&gt;</description>
    <pubDate>Wed, 04 Jul 2018 15:24:16 GMT</pubDate>
    <dc:creator>RW9</dc:creator>
    <dc:date>2018-07-04T15:24:16Z</dc:date>
    <item>
      <title>Datastep lookup with FIND using second dataset</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Datastep-lookup-with-FIND-using-second-dataset/m-p/475452#M122263</link>
      <description>&lt;P&gt;Thanks for helping..&lt;/P&gt;&lt;P&gt;I have a simple FIND and lookup program that I can't seem to code in EG.&lt;/P&gt;&lt;P&gt;There are two files. The goal is to use multiple columns from table US_DATA to scan/find matching data from a single free form text field in&amp;nbsp;table EU_DATA and return matching item #.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Program needs scan all OBS of EU_DATA field "NAME OF ITEM" using the first record and four columns starting with CONVERT in US_DATA.&lt;/P&gt;&lt;P&gt;If match is found on all 4 US_DATA columns then output field ITEM CODE along with CONVERT fields.&lt;/P&gt;&lt;P&gt;Then repeat with next US_DATA record.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Real issue here is that the field NAME OF ITEM is in a free format...so I cannot do a simple substring function. The data could be anywhere in the string.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I've tried moving all CONVERT fields to macros variables, then doing lookup with a macro call FINDIT... only to realize that my macro variable is set to the last record only. So SYMPUTX is&amp;nbsp;processing ALL my records before the MACRO call.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I need to read&amp;nbsp;one US_DATA record, move CONVERT data to a variable that I can then loop out to MACRO for lookup...&lt;/P&gt;&lt;P&gt;then repeat for the next US_DATA record.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;this should be easy but I'm stuck..&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;my code is below along with samples of data...&lt;/P&gt;&lt;P&gt;thanks in advance for your help...&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#000080" face="Courier New" size="3"&gt;&lt;STRONG&gt;%macro&lt;/STRONG&gt;&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt; &lt;STRONG&gt;&lt;I&gt;findit&lt;/I&gt;&lt;/STRONG&gt;;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;data test;&lt;/P&gt;&lt;P&gt;set qcdata.EU_DATA;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New" size="3"&gt;if (find(eu_name,&lt;/FONT&gt;&lt;FONT color="#800080" face="Courier New" size="3"&gt;"&amp;amp;type"&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;,&lt;/FONT&gt;&lt;FONT color="#800080" face="Courier New" size="3"&gt;'i'&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;) and &lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New" size="3"&gt;find(eu_name,&lt;/FONT&gt;&lt;FONT color="#800080" face="Courier New" size="3"&gt;"&amp;amp;count"&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;,&lt;/FONT&gt;&lt;FONT color="#800080" face="Courier New" size="3"&gt;'i'&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;) and&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New" size="3"&gt;find(eu_name,&lt;/FONT&gt;&lt;FONT color="#800080" face="Courier New" size="3"&gt;"&amp;amp;tpi"&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;,&lt;/FONT&gt;&lt;FONT color="#800080" face="Courier New" size="3"&gt;'i'&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;) and&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New" size="3"&gt;find(eu_name,&lt;/FONT&gt;&lt;FONT color="#800080" face="Courier New" size="3"&gt;"&amp;amp;binder"&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;,&lt;/FONT&gt;&lt;FONT color="#800080" face="Courier New" size="3"&gt;'i'&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;))&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New" size="3"&gt;ge &lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT color="#008080" face="Courier New" size="3"&gt;1&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT face="Courier New" size="3"&gt; then list;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;else delete;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;quit;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;%put&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt; type= &amp;amp;type;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;%put&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt; us_type= &amp;amp;us_type;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;%put&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;%put&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt; count= &amp;amp;count;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;%put&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt; us_count= &amp;amp;us_count;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;%put&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;%put&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt; plies=&amp;amp;plies;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;%put&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt; us_plies=&amp;amp;us_plies;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;%put&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;%put&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt; tpi= &amp;amp;tpi;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;%put&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt; us_tpi_dir= &amp;amp;us_tpi_dir;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;%put&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;%put&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt; binder= &amp;amp;binder;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;%put&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt; us_binder= &amp;amp;us_binder;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;%put&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#000080" face="Courier New" size="3"&gt;&lt;STRONG&gt;%MEND&lt;/STRONG&gt;&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt; FINDIT;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;　&lt;/P&gt;&lt;P&gt;　&lt;/P&gt;&lt;P&gt;　&lt;/P&gt;&lt;P&gt;　&lt;/P&gt;&lt;P&gt;&lt;FONT color="#000080" face="Courier New" size="3"&gt;&lt;STRONG&gt;DATA&lt;/STRONG&gt;&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt; WORK.SEARCH_VAR;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;SET&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt; qcdata.us_data;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New" size="3"&gt;convertbinder=translate(convertbinder,&lt;/FONT&gt;&lt;FONT color="#800080" face="Courier New" size="3"&gt;''&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;,&lt;/FONT&gt;&lt;FONT color="#800080" face="Courier New" size="3"&gt;'&amp;amp;'&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;);&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;call&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt; symputx (&lt;/FONT&gt;&lt;FONT color="#800080" face="Courier New" size="3"&gt;'type'&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;,converttype);&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;call&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt; symputx (&lt;/FONT&gt;&lt;FONT color="#800080" face="Courier New" size="3"&gt;'count'&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;,convertcount);&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;call&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt; symputx (&lt;/FONT&gt;&lt;FONT color="#800080" face="Courier New" size="3"&gt;'plies'&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;,convertplies);&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;call&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt; symputx (&lt;/FONT&gt;&lt;FONT color="#800080" face="Courier New" size="3"&gt;'tpi'&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;,converttpi);&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;call&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt; symputx (&lt;/FONT&gt;&lt;FONT color="#800080" face="Courier New" size="3"&gt;'binder'&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;,convertbinder);&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;call&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt; symputx (&lt;/FONT&gt;&lt;FONT color="#800080" face="Courier New" size="3"&gt;'us_type'&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;,type);&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;call&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt; symputx (&lt;/FONT&gt;&lt;FONT color="#800080" face="Courier New" size="3"&gt;'us_count'&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;,count);&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;call&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt; symputx (&lt;/FONT&gt;&lt;FONT color="#800080" face="Courier New" size="3"&gt;'us_plies'&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;,plies);&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;call&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt; symputx (&lt;/FONT&gt;&lt;FONT color="#800080" face="Courier New" size="3"&gt;'us_tpi_dir'&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;,tpi_dir);&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;call&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt; symputx (&lt;/FONT&gt;&lt;FONT color="#800080" face="Courier New" size="3"&gt;'us_binder'&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;,binder);&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;call&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt; execute(&lt;/FONT&gt;&lt;FONT color="#800080" face="Courier New" size="3"&gt;'%FINDIT'&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;);&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#000080" face="Courier New" size="3"&gt;&lt;STRONG&gt;run&lt;/STRONG&gt;&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#000080" face="Courier New" size="3"&gt;&lt;STRONG&gt;quit&lt;/STRONG&gt;&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;;&lt;/FONT&gt;&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;US_DATA SAMPLE:&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;ConvertType&lt;/TD&gt;&lt;TD&gt;ConvertCount&lt;/TD&gt;&lt;TD&gt;ConvertPlies&lt;/TD&gt;&lt;TD&gt;ConvertTPI&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;EC4&lt;/TD&gt;&lt;TD&gt;34&lt;/TD&gt;&lt;TD&gt;1X2&lt;/TD&gt;&lt;TD&gt;S150&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;EC5&lt;/TD&gt;&lt;TD&gt;2.8&lt;/TD&gt;&lt;TD&gt;1X2&lt;/TD&gt;&lt;TD&gt;Z040&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;EC5&lt;/TD&gt;&lt;TD&gt;11&lt;/TD&gt;&lt;TD&gt;1X2&lt;/TD&gt;&lt;TD&gt;S118&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;EC5&lt;/TD&gt;&lt;TD&gt;11&lt;/TD&gt;&lt;TD&gt;1X2&lt;/TD&gt;&lt;TD&gt;S158&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;EC5&lt;/TD&gt;&lt;TD&gt;11&lt;/TD&gt;&lt;TD&gt;1X2&lt;/TD&gt;&lt;TD&gt;S158&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;EC5&lt;/TD&gt;&lt;TD&gt;11&lt;/TD&gt;&lt;TD&gt;1X2&lt;/TD&gt;&lt;TD&gt;S158&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;EC5&lt;/TD&gt;&lt;TD&gt;11&lt;/TD&gt;&lt;TD&gt;1X2&lt;/TD&gt;&lt;TD&gt;S189&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;EC5&lt;/TD&gt;&lt;TD&gt;5.5&lt;/TD&gt;&lt;TD&gt;1X2&lt;/TD&gt;&lt;TD&gt;S189&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;EC5&lt;/TD&gt;&lt;TD&gt;5.5&lt;/TD&gt;&lt;TD&gt;1X2&lt;/TD&gt;&lt;TD&gt;S189&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;EC6&lt;/TD&gt;&lt;TD&gt;34&lt;/TD&gt;&lt;TD&gt;1X2&lt;/TD&gt;&lt;TD&gt;S150&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;EC6&lt;/TD&gt;&lt;TD&gt;136&lt;/TD&gt;&lt;TD&gt;1X2&lt;/TD&gt;&lt;TD&gt;S118&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;EC6&lt;/TD&gt;&lt;TD&gt;136&lt;/TD&gt;&lt;TD&gt;1X2&lt;/TD&gt;&lt;TD&gt;S118&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;EC6&lt;/TD&gt;&lt;TD&gt;136&lt;/TD&gt;&lt;TD&gt;1X2&lt;/TD&gt;&lt;TD&gt;S118&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;EC6&lt;/TD&gt;&lt;TD&gt;68&lt;/TD&gt;&lt;TD&gt;1X2&lt;/TD&gt;&lt;TD&gt;S118&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;EC6&lt;/TD&gt;&lt;TD&gt;68&lt;/TD&gt;&lt;TD&gt;1X2&lt;/TD&gt;&lt;TD&gt;S118&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;EC6&lt;/TD&gt;&lt;TD&gt;68&lt;/TD&gt;&lt;TD&gt;1X2&lt;/TD&gt;&lt;TD&gt;S118&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;EC6&lt;/TD&gt;&lt;TD&gt;68&lt;/TD&gt;&lt;TD&gt;1X2&lt;/TD&gt;&lt;TD&gt;S118&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;EC6&lt;/TD&gt;&lt;TD&gt;68&lt;/TD&gt;&lt;TD&gt;1X2&lt;/TD&gt;&lt;TD&gt;S118&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;EC7&lt;/TD&gt;&lt;TD&gt;22&lt;/TD&gt;&lt;TD&gt;1X2&lt;/TD&gt;&lt;TD&gt;4.5S&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;EC9&lt;/TD&gt;&lt;TD&gt;146&lt;/TD&gt;&lt;TD&gt;1X2&lt;/TD&gt;&lt;TD&gt;S150&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;EU_DATA SAMPLE:&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;ITEM CODE&lt;/TD&gt;&lt;TD&gt;NAME OF ITEM&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;FI00798&lt;/TD&gt;&lt;TD&gt;CHAVERGALEC5,5+PES50=11TEX&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;FI01477&lt;/TD&gt;&lt;TD&gt;EC511X2ITGKR&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;FI01512&lt;/TD&gt;&lt;TD&gt;EC511X2S180273ITG&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;FI01509&lt;/TD&gt;&lt;TD&gt;EC511X2S180273MW&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;FI01527&lt;/TD&gt;&lt;TD&gt;EC511X2S180620-1CULIM&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;FI01488&lt;/TD&gt;&lt;TD&gt;EC511X2S180620DMITG&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;FI01457&lt;/TD&gt;&lt;TD&gt;EC511Z32AB7NAG3K&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;FI01416&lt;/TD&gt;&lt;TD&gt;EC511Z36273FULLT&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;FI01455&lt;/TD&gt;&lt;TD&gt;EC511Z40331TGI&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;FI01434&lt;/TD&gt;&lt;TD&gt;EC511Z40620AGYSTEA&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;FI01467&lt;/TD&gt;&lt;TD&gt;EC511Z40620-1PORCHDM&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;FI01474&lt;/TD&gt;&lt;TD&gt;EC511Z40620DMPORCH&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;FI01466&lt;/TD&gt;&lt;TD&gt;EC511Z40BD2Y52CPIC&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;FI01459&lt;/TD&gt;&lt;TD&gt;EC511Z40BFCPIC&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;FI01419&lt;/TD&gt;&lt;TD&gt;EC511Z40BFSTF-C&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;FI01438&lt;/TD&gt;&lt;TD&gt;EC511Z40DJ420JUSHI&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;FI01470&lt;/TD&gt;&lt;TD&gt;EC511Z40S3GUANG&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;FI01409&lt;/TD&gt;&lt;TD&gt;EC511Z40Y5CPIC&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;FI01531&lt;/TD&gt;&lt;TD&gt;EC511Z40Y53BD1CPIC&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;FI01450&lt;/TD&gt;&lt;TD&gt;EC511Z40Y6TAISH&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;FI01480&lt;/TD&gt;&lt;TD&gt;EC52,8X2ITGKR&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;FI01486&lt;/TD&gt;&lt;TD&gt;EC52,8X2S180620-1ITG&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;FI01476&lt;/TD&gt;&lt;TD&gt;EC55,5X2ITGKR&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;FI01478&lt;/TD&gt;&lt;TD&gt;EC55,5X2S180620-1AITG&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;FI01469&lt;/TD&gt;&lt;TD&gt;EC55,5Z32PHPORCH&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;FI01415&lt;/TD&gt;&lt;TD&gt;EC55,5Z36273FULLT&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;FI01431&lt;/TD&gt;&lt;TD&gt;EC55,5Z3627KLFULLT&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;FI01429&lt;/TD&gt;&lt;TD&gt;EC55,5Z40321TGI&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;FI01454&lt;/TD&gt;&lt;TD&gt;EC55,5Z40331TGI&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;FI01411&lt;/TD&gt;&lt;TD&gt;EC55,5Z40620-1PORCHDM&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;FI01468&lt;/TD&gt;&lt;TD&gt;EC55,5Z40622PORCH&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;FI01528&lt;/TD&gt;&lt;TD&gt;EC55,5Z40S3GUANG&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;FI01532&lt;/TD&gt;&lt;TD&gt;EC55,5Z40Y53BD2CPIC&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;FI01449&lt;/TD&gt;&lt;TD&gt;EC55,5Z40Y6TAISH&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;</description>
      <pubDate>Wed, 04 Jul 2018 14:14:53 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Datastep-lookup-with-FIND-using-second-dataset/m-p/475452#M122263</guid>
      <dc:creator>BHull</dc:creator>
      <dc:date>2018-07-04T14:14:53Z</dc:date>
    </item>
    <item>
      <title>Re: Datastep lookup with FIND using second dataset</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Datastep-lookup-with-FIND-using-second-dataset/m-p/475456#M122267</link>
      <description>&lt;P&gt;Post test data in the form of a datastep, and show what you want out at the end.&amp;nbsp; From what I can gather here a simple:&lt;/P&gt;
&lt;PRE&gt;data _null_;
  set qcdata.us_data;
  call execute(cat('data want;  
                      if (find(eu_name,"',converttype,'") and find(eu_name,"',convertcount,'") and
                          find(eu_name,"',convertplies,'") and find(eu_name,"',converttpi,'")) then list;
                      else delete;
                    run;'));
run;
                  &lt;/PRE&gt;
&lt;P&gt;Its difficult to see without input and output, but the above will generate a datastep for each row in us_data.&lt;/P&gt;</description>
      <pubDate>Wed, 04 Jul 2018 14:25:48 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Datastep-lookup-with-FIND-using-second-dataset/m-p/475456#M122267</guid>
      <dc:creator>RW9</dc:creator>
      <dc:date>2018-07-04T14:25:48Z</dc:date>
    </item>
    <item>
      <title>Re: Datastep lookup with FIND using second dataset</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Datastep-lookup-with-FIND-using-second-dataset/m-p/475459#M122268</link>
      <description>&lt;P&gt;thank you very much...I see how this produces each data step/OBS(see log below)...but how do I then use this output to read the EU_DATA file?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;NOTE: CALL EXECUTE generated line.&lt;/P&gt;&lt;P&gt;1 + data want; if (find(eu_name,"ARCK ") and find(eu_name,"32.5") and&lt;/P&gt;&lt;P&gt;find(eu_name," ") and find(eu_name,"Z040")) then list; else delete; run;&lt;/P&gt;&lt;P&gt;NOTE: Numeric values have been converted to character values at the places given by: (Line):(Column).&lt;/P&gt;&lt;P&gt;1:45 1:71 1:121 1:147&lt;/P&gt;&lt;P&gt;NOTE: Variable eu_name is uninitialized.&lt;/P&gt;&lt;P&gt;NOTE: The data set WORK.WANT has 0 observations and 1 variables.&lt;/P&gt;&lt;P&gt;NOTE: DATA statement used (Total process time):&lt;/P&gt;&lt;P&gt;real time 0.00 seconds&lt;/P&gt;&lt;P&gt;cpu time 0.00 seconds&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;2 + data want; if (find(eu_name,"EC4 ") and find(eu_name,"34 ") and&lt;/P&gt;&lt;P&gt;find(eu_name," ") and find(eu_name,"Z040")) then list; else delete; run;&lt;/P&gt;&lt;P&gt;NOTE: Numeric values have been converted to character values at the places given by: (Line):(Column).&lt;/P&gt;&lt;P&gt;2:45 2:71 2:121 2:147&lt;/P&gt;&lt;P&gt;NOTE: Variable eu_name is uninitialized.&lt;/P&gt;&lt;P&gt;NOTE: The data set WORK.WANT has 0 observations and 1 variables.&lt;/P&gt;&lt;P&gt;NOTE: DATA statement used (Total process time):&lt;/P&gt;&lt;P&gt;real time 0.00 seconds&lt;/P&gt;&lt;P&gt;cpu time 0.00 seconds&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 04 Jul 2018 14:51:27 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Datastep-lookup-with-FIND-using-second-dataset/m-p/475459#M122268</guid>
      <dc:creator>BHull</dc:creator>
      <dc:date>2018-07-04T14:51:27Z</dc:date>
    </item>
    <item>
      <title>Re: Datastep lookup with FIND using second dataset</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Datastep-lookup-with-FIND-using-second-dataset/m-p/475462#M122271</link>
      <description>&lt;P&gt;I am not sure what you mean by "&lt;SPAN&gt;but how do I then use this output to read the EU_DATA file?"&amp;nbsp; The datastep gets created for each line in us_data, then those datasteps get executed to create the dataset with the filtered information.&amp;nbsp; At them moment each iteration overwrites the previous (as they are all called want), if you changed it to:&lt;/SPAN&gt;&lt;/P&gt;
&lt;PRE&gt;data _null_;
  set qcdata.us_data;
  call execute(cat('data want',strip(put(_n_,best.)),';  
                      if (find(eu_name,"',converttype,'") and find(eu_name,"',convertcount,'") and
                          find(eu_name,"',convertplies,'") and find(eu_name,"',converttpi,'")) then list;
                      else delete;
                    run;'));
run;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;You would see a dataset for each iteration.&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Wed, 04 Jul 2018 15:24:16 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Datastep-lookup-with-FIND-using-second-dataset/m-p/475462#M122271</guid>
      <dc:creator>RW9</dc:creator>
      <dc:date>2018-07-04T15:24:16Z</dc:date>
    </item>
    <item>
      <title>Re: Datastep lookup with FIND using second dataset</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Datastep-lookup-with-FIND-using-second-dataset/m-p/475463#M122272</link>
      <description>&lt;P&gt;sorry for the confusion...and I appreciate your help...&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I see how the data step gets created...but now I need to use that data step to read another file....EU_DATA.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;EU_DATA contains the field EU_NAME referenced in the IF statement.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I don't know how to branch out of the code you sent me to then read the EU_DATA file then iterate for the next data step...&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;would this work by adding the SET statement to your code?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Data _null_;&lt;/P&gt;&lt;P&gt;66 set qcdata.us_data;&lt;/P&gt;&lt;P&gt;67 call execute(cat('data want; set qcdata.EU_DATA;&lt;/P&gt;&lt;P&gt;68 if (find(eu_name,"',converttype,'") and find(eu_name,"',convertcount,'") and&lt;/P&gt;&lt;P&gt;69 find(eu_name,"',convertplies,'") and find(eu_name,"',converttpi,'")) then list;&lt;/P&gt;&lt;P&gt;70 else delete;&lt;/P&gt;&lt;P&gt;71 run;'));&lt;/P&gt;&lt;P&gt;72 run;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;hope that makes sense...&lt;/P&gt;</description>
      <pubDate>Wed, 04 Jul 2018 15:36:40 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Datastep-lookup-with-FIND-using-second-dataset/m-p/475463#M122272</guid>
      <dc:creator>BHull</dc:creator>
      <dc:date>2018-07-04T15:36:40Z</dc:date>
    </item>
  </channel>
</rss>

