<?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: How to read a dataset for a value range and output the var name, obs num and value in SAS Data Management</title>
    <link>https://communities.sas.com/t5/SAS-Data-Management/How-to-read-a-dataset-for-a-value-range-and-output-the-var-name/m-p/106974#M1219</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;It worked, thank you very much.&amp;nbsp; I really like the way you set up the IF-THEN statement with the abs() to capture both the negative and positive values-- nicely done!! &lt;/P&gt;&lt;P&gt;I appreciate your help! &lt;/P&gt;&lt;P&gt;-Charles&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 08 Oct 2013 22:46:54 GMT</pubDate>
    <dc:creator>CharlesC</dc:creator>
    <dc:date>2013-10-08T22:46:54Z</dc:date>
    <item>
      <title>How to read a dataset for a value range and output the var name, obs num and value</title>
      <link>https://communities.sas.com/t5/SAS-Data-Management/How-to-read-a-dataset-for-a-value-range-and-output-the-var-name/m-p/106972#M1217</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;&amp;nbsp; Good afternoon-- I am trying to write a program to automate outlier detection.&amp;nbsp; I need to produce a list of values &amp;gt; 3 or &amp;lt; -3 along with its variable name and obs number. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I used proc standard to standardize my variables:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data=work.prepstandard;&lt;/P&gt;&lt;P&gt; set work.dataset (drop= id x1 x2 x3 x4 x5);&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PROC STANDARD DATA=work.prepstandard MEAN=0 STD=1 OUT=zstandards;&lt;/P&gt;&lt;P&gt;VAR x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt; font-family: arial,helvetica,sans-serif;"&gt;Then tried running the following array, but it doesn't work:&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA work.outliers;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; SET zstandards;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ARRAY x&lt;LI&gt; _NUMERIC_;&lt;/LI&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DO i=1 TO DIM(x);&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; IF x&lt;I&gt; &amp;gt; 3 or x&lt;I&gt; &amp;lt;-3 THEN DO;&lt;/I&gt;&lt;/I&gt;&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;&amp;nbsp; obsNum= _N_;&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; OUTPUT;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; END;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; END;&lt;/P&gt;&lt;P&gt;run; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt; font-family: arial,helvetica,sans-serif;"&gt;Did I do something wrong in the array, or is this the wrong way to go about it?&amp;nbsp; Thanks for helping me out...&amp;nbsp; I sincerely appreciate it!&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt; font-family: arial,helvetica,sans-serif;"&gt;-Charles&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 08 Oct 2013 21:55:51 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Data-Management/How-to-read-a-dataset-for-a-value-range-and-output-the-var-name/m-p/106972#M1217</guid>
      <dc:creator>CharlesC</dc:creator>
      <dc:date>2013-10-08T21:55:51Z</dc:date>
    </item>
    <item>
      <title>Re: How to read a dataset for a value range and output the var name, obs num and value</title>
      <link>https://communities.sas.com/t5/SAS-Data-Management/How-to-read-a-dataset-for-a-value-range-and-output-the-var-name/m-p/106973#M1218</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;It should work, but you don't explain how it doesn't work so I can't comment beyond that.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;However, it won't identify the variable that is the outlier and if there are multiple outliers in a specific observation, though I suppose if you're automating then you don't care too much about that.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Here's a sample that does what you're asking using SASHELP.CARS.&amp;nbsp; I didn't drop the lead variables though you could easily.&lt;/P&gt;&lt;P&gt;If you have SAS/STAT licensed you can also look into proc stdize.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;proc standard data=sashelp.cars mean=0 std=1 out=zstandards;&lt;/P&gt;&lt;P&gt;var msrp--length;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data outliers;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; set zstandards;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; array x(*) _numeric_;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; do i=1 to dim(x);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if abs(x(i))-3&amp;gt;0 then do;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; obsnum=_n_;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; variable=vname(x(i));&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; value=x(i);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; output;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; keep obsnum variable value;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 08 Oct 2013 22:15:34 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Data-Management/How-to-read-a-dataset-for-a-value-range-and-output-the-var-name/m-p/106973#M1218</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2013-10-08T22:15:34Z</dc:date>
    </item>
    <item>
      <title>Re: How to read a dataset for a value range and output the var name, obs num and value</title>
      <link>https://communities.sas.com/t5/SAS-Data-Management/How-to-read-a-dataset-for-a-value-range-and-output-the-var-name/m-p/106974#M1219</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;It worked, thank you very much.&amp;nbsp; I really like the way you set up the IF-THEN statement with the abs() to capture both the negative and positive values-- nicely done!! &lt;/P&gt;&lt;P&gt;I appreciate your help! &lt;/P&gt;&lt;P&gt;-Charles&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 08 Oct 2013 22:46:54 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Data-Management/How-to-read-a-dataset-for-a-value-range-and-output-the-var-name/m-p/106974#M1219</guid>
      <dc:creator>CharlesC</dc:creator>
      <dc:date>2013-10-08T22:46:54Z</dc:date>
    </item>
  </channel>
</rss>

