<?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: Proc Datasets with where statement? in SAS Procedures</title>
    <link>https://communities.sas.com/t5/SAS-Procedures/Proc-Datasets-with-where-statement/m-p/176191#M45183</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Just as a thought, would doing the where on the oracle source first be quicker?&lt;/P&gt;&lt;P&gt;proc sql;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; connect to oracle (path..);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; create table A as&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; select * from connection to oracle&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (select * from table where datefield &amp;lt; "ddmmyy");&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; disconnect from oracle;&lt;/P&gt;&lt;P&gt;quit;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 27 Aug 2014 08:29:50 GMT</pubDate>
    <dc:creator>RW9</dc:creator>
    <dc:date>2014-08-27T08:29:50Z</dc:date>
    <item>
      <title>Proc Datasets with where statement?</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Proc-Datasets-with-where-statement/m-p/176185#M45177</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;Actually I run the following peace of code to download a dataset from a libname (placed in an Oracle server)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data a;&lt;/P&gt;&lt;P&gt;set libnameA.mydataset (where =( datefield &amp;lt; date));&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I try;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;proc datasets;&lt;/P&gt;&lt;P&gt;copy in= libnameA out= libnameB;&lt;/P&gt;&lt;P&gt;select mydataset&amp;nbsp; (where =( datefield &amp;lt; date));&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;and this error ocurr;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ERROR 22-322: Syntax error, expecting one of the following: ALTER, ENCRYPTKEY, MEMTYPE, MT,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MTYPE, PROTECT, PW, READ, WRITE.&lt;/P&gt;&lt;P&gt;ERROR 76-322: Syntax error, statement will be ignored.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;my questions are, Is there any way to perfomr this datastep with proc datasets?, Is there a better way than the one method I describe?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks to all&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 26 Aug 2014 16:10:08 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Proc-Datasets-with-where-statement/m-p/176185#M45177</guid>
      <dc:creator>SergioSanchez</dc:creator>
      <dc:date>2014-08-26T16:10:08Z</dc:date>
    </item>
    <item>
      <title>Re: Proc Datasets with where statement?</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Proc-Datasets-with-where-statement/m-p/176186#M45178</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;The Select clause is expecting a specific list of options and the dataset option Where is not one of them. So proc datasets won't let you do what you want in one step.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;How do you define "better" in this case? Speed of execution, simplicity or brevity of code, something else?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 26 Aug 2014 17:28:50 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Proc-Datasets-with-where-statement/m-p/176186#M45178</guid>
      <dc:creator>ballardw</dc:creator>
      <dc:date>2014-08-26T17:28:50Z</dc:date>
    </item>
    <item>
      <title>Re: Proc Datasets with where statement?</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Proc-Datasets-with-where-statement/m-p/176187#M45179</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;The following options are available for proc datasets. There is no option for where statement.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;TABLE border="1" cellpadding="6" cellspacing="0"&gt;&lt;TBODY&gt;&lt;TR valign="bottom"&gt;&lt;TH colspan="2" width="50%"&gt;Task&lt;/TH&gt;&lt;TH width="48%"&gt;Option&lt;/TH&gt;&lt;/TR&gt;&lt;TR valign="top"&gt;&lt;TD colspan="2" width="50%"&gt;Provide alter access to any alter-protected SAS file in&amp;nbsp;&amp;nbsp; the SAS library &lt;/TD&gt;&lt;TD width="48%"&gt;ALTER=&lt;/TD&gt;&lt;/TR&gt;&lt;TR valign="top"&gt;&lt;TD colspan="2" width="50%"&gt;Include information in the log about the number of observations, number of variables, number of indexes, and data set labels &lt;/TD&gt;&lt;TD width="48%"&gt;DETAILS|NODETAILS&lt;/TD&gt;&lt;/TR&gt;&lt;TR valign="top"&gt;&lt;TD colspan="2" width="50%"&gt;Force a RUN group to execute even when there are errors &lt;/TD&gt;&lt;TD width="48%"&gt;FORCE&lt;/TD&gt;&lt;/TR&gt;&lt;TR valign="top"&gt;&lt;TD colspan="2" width="50%"&gt;Force an append operation &lt;/TD&gt;&lt;TD width="48%"&gt;FORCE&lt;/TD&gt;&lt;/TR&gt;&lt;TR valign="top"&gt;&lt;TD colspan="2" width="50%"&gt;Restrict processing for generation data sets&lt;/TD&gt;&lt;TD width="48%"&gt;GENNUM=&lt;/TD&gt;&lt;/TR&gt;&lt;TR valign="top"&gt;&lt;TD colspan="2" width="50%"&gt;Delete SAS files &lt;/TD&gt;&lt;TD width="48%"&gt;KILL&lt;/TD&gt;&lt;/TR&gt;&lt;TR valign="top"&gt;&lt;TD colspan="2" width="50%"&gt;Specify the procedure input/output library &lt;/TD&gt;&lt;TD width="48%"&gt;LIBRARY=&lt;/TD&gt;&lt;/TR&gt;&lt;TR valign="top"&gt;&lt;TD colspan="2" width="50%"&gt;Restrict processing to a certain type of SAS file&lt;/TD&gt;&lt;TD width="48%"&gt;MEMTYPE=&lt;/TD&gt;&lt;/TR&gt;&lt;TR valign="top"&gt;&lt;TD colspan="2" width="50%"&gt;Suppress the printing of the directory&lt;/TD&gt;&lt;TD width="48%"&gt;NOLIST&lt;/TD&gt;&lt;/TR&gt;&lt;TR valign="top"&gt;&lt;TD colspan="2" width="50%"&gt;Suppress error processing&lt;/TD&gt;&lt;TD width="48%"&gt;NOWARN&lt;/TD&gt;&lt;/TR&gt;&lt;TR valign="top"&gt;&lt;TD colspan="2" width="50%"&gt;Provide read, write, or alter access&lt;/TD&gt;&lt;TD width="48%"&gt;PW=&lt;/TD&gt;&lt;/TR&gt;&lt;TR valign="top"&gt;&lt;TD colspan="2" width="50%"&gt;Provide read access&lt;/TD&gt;&lt;TD width="48%"&gt;READ=&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Alternatively, the purpose can be acheived with the below code. I don't know how efficient it would be in your case but just a thought. Please keep in mind to drop the data set if this is a recurrence. I hope it helps.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="text-decoration: underline;"&gt;Please adjust the code according to your needs.&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data want;&lt;BR /&gt; input id temp $;&lt;BR /&gt; datalines;&lt;BR /&gt;1 101&lt;BR /&gt;1 102&lt;BR /&gt;1 201&lt;BR /&gt;2 203&lt;BR /&gt;3 302&lt;BR /&gt;;&lt;BR /&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;libname t '/sasuserhome/hyenigalla;&lt;/P&gt;&lt;P&gt;proc append&lt;BR /&gt; data=want&lt;BR /&gt; base=t.want( where=(id=1)) ;&lt;BR /&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="text-decoration: underline;"&gt;&lt;STRONG&gt;Log&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;28&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; proc append&lt;BR /&gt;29&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; data=want&lt;BR /&gt;30&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; base=t.want( where=(id=1)) ;&lt;BR /&gt;31&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; run;&lt;/P&gt;&lt;P&gt;NOTE: Appending WORK.WANT to T.WANT.&lt;BR /&gt;NOTE: BASE data set does not exist. DATA file is being copied to BASE file.&lt;BR /&gt;&lt;STRONG style="text-decoration: underline;"&gt;NOTE: There were 5 observations read from the data set WORK.WANT.&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG style="text-decoration: underline;"&gt;NOTE: The data set T.WANT has 3 observations and 2 variables.&lt;/STRONG&gt;&lt;BR /&gt;NOTE: PROCEDURE APPEND used (Total process time):&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; real time&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.11 seconds&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cpu time&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.00 seconds&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; &lt;IMG alt="Capture.JPG" class="jive-image jiveImage" src="https://communities.sas.com/legacyfs/online/7217_Capture.JPG" /&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 26 Aug 2014 18:19:11 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Proc-Datasets-with-where-statement/m-p/176187#M45179</guid>
      <dc:creator>Hima</dc:creator>
      <dc:date>2014-08-26T18:19:11Z</dc:date>
    </item>
    <item>
      <title>Re: Proc Datasets with where statement?</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Proc-Datasets-with-where-statement/m-p/176188#M45180</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;WHERE filters inspect one observation at a time, but PROC DATASETS does not process observations. It only deals with metadata. In other words, specifying WHERE in a PROC DATASETS step doesn't make sense.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 26 Aug 2014 19:10:16 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Proc-Datasets-with-where-statement/m-p/176188#M45180</guid>
      <dc:creator>Howles</dc:creator>
      <dc:date>2014-08-26T19:10:16Z</dc:date>
    </item>
    <item>
      <title>Re: Proc Datasets with where statement?</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Proc-Datasets-with-where-statement/m-p/176189#M45181</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks all for the comments and suggestions.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hima I´d take a look at your code, thanks.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Ballardw, with "better" I mean less time of execution.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 27 Aug 2014 07:11:12 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Proc-Datasets-with-where-statement/m-p/176189#M45181</guid>
      <dc:creator>SergioSanchez</dc:creator>
      <dc:date>2014-08-27T07:11:12Z</dc:date>
    </item>
    <item>
      <title>Re: Proc Datasets with where statement?</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Proc-Datasets-with-where-statement/m-p/176190#M45182</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Actually, I can not think of anything faster than&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data a;&lt;/P&gt;&lt;P&gt;set libnameA.mydataset (where =( datefield &amp;lt; date));&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This only depends on the read performance of the oracle source (and how it deals with the where condition) and the write performance of the disk where your WORK is allocated.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 27 Aug 2014 08:21:34 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Proc-Datasets-with-where-statement/m-p/176190#M45182</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2014-08-27T08:21:34Z</dc:date>
    </item>
    <item>
      <title>Re: Proc Datasets with where statement?</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Proc-Datasets-with-where-statement/m-p/176191#M45183</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Just as a thought, would doing the where on the oracle source first be quicker?&lt;/P&gt;&lt;P&gt;proc sql;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; connect to oracle (path..);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; create table A as&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; select * from connection to oracle&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (select * from table where datefield &amp;lt; "ddmmyy");&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; disconnect from oracle;&lt;/P&gt;&lt;P&gt;quit;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 27 Aug 2014 08:29:50 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Proc-Datasets-with-where-statement/m-p/176191#M45183</guid>
      <dc:creator>RW9</dc:creator>
      <dc:date>2014-08-27T08:29:50Z</dc:date>
    </item>
    <item>
      <title>Re: Proc Datasets with where statement?</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Proc-Datasets-with-where-statement/m-p/176192#M45184</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;RW9, I have installed the ODBC driver and it's too slow but thanks for your tip.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Ok, so data step it's not bad.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks guys for your help &lt;img id="smileyhappy" class="emoticon emoticon-smileyhappy" src="https://communities.sas.com/i/smilies/16x16_smiley-happy.png" alt="Smiley Happy" title="Smiley Happy" /&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 27 Aug 2014 11:39:20 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Proc-Datasets-with-where-statement/m-p/176192#M45184</guid>
      <dc:creator>SergioSanchez</dc:creator>
      <dc:date>2014-08-27T11:39:20Z</dc:date>
    </item>
  </channel>
</rss>

