<?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: Replacing Outlier with 95 percentile in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Replacing-Outlier-with-95-percentile/m-p/258870#M49962</link>
    <description>&lt;P&gt;Hi guys,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thanks a lot for your suggestions and help.&lt;/P&gt;
&lt;P&gt;With your help i wrote the followoing code to solve my problem. I am just copy pasting my code here&lt;/P&gt;
&lt;P&gt;--------------------------------START-------------------------------------------------&lt;/P&gt;
&lt;P&gt;proc sql;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;select &lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;trim(name), trim(name)||'p' into :avl_selected_100K_spalten separated by ' ', :avl_selected_100K_spalten_P99 separated by ' '&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;from&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;dictionary.columns&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;where&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;libname = 'WORK'&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;and&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;memname = 'AVL_SELECTED_100K_PATCH'&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;and&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;upcase(name) not in('PERSON_ID');&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;quit;&lt;BR /&gt;&lt;BR /&gt;proc univariate data=AVL_SELECTED_100K_Patch noprint;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; var &amp;amp;avl_selected_100K_spalten.;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; output out=AVL_SELECTED_100K_P99 pctlpts&amp;nbsp; =99&lt;BR /&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; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; pctlpre&amp;nbsp; = &amp;amp;avl_selected_100K_spalten. &lt;BR /&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; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; pctlname = p;&lt;BR /&gt;run;&lt;BR /&gt;&lt;BR /&gt;data AVL_SELECTED_100K_P99;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;set AVL_SELECTED_100K_P99;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;_TYPE_=0;&lt;BR /&gt;run;&lt;BR /&gt;&lt;BR /&gt;PROC SORT&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;DATA=AVL_SELECTED_100K_P99&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;OUT=AVL_SELECTED_100K_P99_sort;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;BY _TYPE_;&lt;BR /&gt;RUN;&lt;BR /&gt;&lt;BR /&gt;PROC TRANSPOSE DATA=AVL_SELECTED_100K_P99_sort&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;OUT=Trans_AVL_SELECTED_100K_P99_sort&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;PREFIX=Column&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;NAME=Column_name&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;LABEL=Label;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;BY _TYPE_;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;VAR &amp;amp;avl_selected_100K_spalten_P99.;&lt;BR /&gt;RUN;&lt;BR /&gt;&lt;BR /&gt;data AVL_SELECTED_100K_P99 (drop=_TYPE_ Label rename=(column1=P99));&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;set Trans_AVL_SELECTED_100K_P99_sort;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;Column_name=substrn(Column_name,1,length(Column_name)-1);&lt;BR /&gt;run;&lt;BR /&gt;&lt;BR /&gt;proc sql ;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;select Column_name, P99 into :Column_nameP99 separated by ' ', :Column_nameP99_value separated by ' ' from AVL_SELECTED_100K_P99;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;quit;&lt;BR /&gt;&lt;BR /&gt;%macro computePercentile();&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;%let count = 0;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;%do %while (%qscan(&amp;amp;Column_nameP99.,%eval(&amp;amp;count + 1),%str( )) ne );&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %let count = %eval(&amp;amp;count + 1);&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;%end;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;%do i = 1 %to &amp;amp;count;&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;%let currentVar&amp;amp;i = %qscan(&amp;amp;Column_nameP99.,&amp;amp;i,%str( ));&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;%let currentValue&amp;amp;i = %qscan(&amp;amp;Column_nameP99_value.,&amp;amp;i,%str( ));&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;data AVL_SELECTED_100K_Patch;&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;set AVL_SELECTED_100K_Patch;&lt;BR /&gt;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;if &amp;amp;&amp;amp;currentVar&amp;amp;i.. gt &amp;amp;&amp;amp;currentValue&amp;amp;i.. then &amp;amp;&amp;amp;currentVar&amp;amp;i.. = &amp;amp;&amp;amp;currentValue&amp;amp;i..;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;run;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;%end;&lt;BR /&gt;&lt;BR /&gt;%mend;&lt;BR /&gt;&lt;BR /&gt;%computePercentile();&lt;/P&gt;
&lt;P&gt;--------------------------------------END-----------------------------------------------&lt;/P&gt;</description>
    <pubDate>Thu, 24 Mar 2016 16:43:56 GMT</pubDate>
    <dc:creator>ehsanmath</dc:creator>
    <dc:date>2016-03-24T16:43:56Z</dc:date>
    <item>
      <title>Replacing Outlier with 95 percentile</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Replacing-Outlier-with-95-percentile/m-p/258200#M49691</link>
      <description>&lt;P&gt;Hallo,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;do anyone here know an efficient way of replacing (upper) extreme values with (95th) percentile.&lt;/P&gt;
&lt;P&gt;I have a Dataset with around 600 variables and want to get rid of&amp;nbsp; extreme values of all 600 variables with 95th percentile without doing a lot of &lt;STRONG&gt;copy past&lt;/STRONG&gt; work.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Any idea ?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;thanks in advance&lt;/P&gt;
&lt;P&gt;Ehsan&lt;/P&gt;</description>
      <pubDate>Tue, 22 Mar 2016 13:48:20 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Replacing-Outlier-with-95-percentile/m-p/258200#M49691</guid>
      <dc:creator>ehsanmath</dc:creator>
      <dc:date>2016-03-22T13:48:20Z</dc:date>
    </item>
    <item>
      <title>Re: Replacing Outlier with 95 percentile</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Replacing-Outlier-with-95-percentile/m-p/258208#M49692</link>
      <description>&lt;P&gt;This is called "Winsorizing" the data.&amp;nbsp; When you Winsorize, you replace extreme values by a specified percentile. Usually Winsorization is a two-sided operation. For example, you replace small values by the 5th percentile and large values by the 95th percentile.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;If your goal is to compute the Winsorized mean, this comes out of PROC UNIVARIATE automatically by &lt;A href="http://support.sas.com/documentation/cdl/en/procstat/67528/HTML/default/viewer.htm#procstat_univariate_details22.htm" target="_self"&gt;using the WINSORIZED=0.05 option.&lt;/A&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;If you absolutely insist on Winsorizing the data yourself, it can get a little tricky. Search this forum for "winsorize" and see comments by &lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/32733"&gt;@FreelanceReinh﻿&lt;/a&gt;. You can also read the article &lt;A href="http://blogs.sas.com/content/iml/2015/07/15/winsorize-data.html" target="_self"&gt;"How to Winsorize data in SAS", &lt;/A&gt;which explains some of the issues and offers a SAS/IML solution.&lt;/P&gt;</description>
      <pubDate>Tue, 22 Mar 2016 14:25:50 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Replacing-Outlier-with-95-percentile/m-p/258208#M49692</guid>
      <dc:creator>Rick_SAS</dc:creator>
      <dc:date>2016-03-22T14:25:50Z</dc:date>
    </item>
    <item>
      <title>Re: Replacing Outlier with 95 percentile</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Replacing-Outlier-with-95-percentile/m-p/258398#M49754</link>
      <description>Check this. You could choose either Macro or IML code.

&lt;A href="https://communities.sas.com/t5/SAS-Procedures/How-to-winsorize/m-p/214976/highlight/true#M52927" target="_blank"&gt;https://communities.sas.com/t5/SAS-Procedures/How-to-winsorize/m-p/214976/highlight/true#M52927&lt;/A&gt;</description>
      <pubDate>Wed, 23 Mar 2016 02:17:52 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Replacing-Outlier-with-95-percentile/m-p/258398#M49754</guid>
      <dc:creator>Ksharp</dc:creator>
      <dc:date>2016-03-23T02:17:52Z</dc:date>
    </item>
    <item>
      <title>Re: Replacing Outlier with 95 percentile</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Replacing-Outlier-with-95-percentile/m-p/258870#M49962</link>
      <description>&lt;P&gt;Hi guys,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thanks a lot for your suggestions and help.&lt;/P&gt;
&lt;P&gt;With your help i wrote the followoing code to solve my problem. I am just copy pasting my code here&lt;/P&gt;
&lt;P&gt;--------------------------------START-------------------------------------------------&lt;/P&gt;
&lt;P&gt;proc sql;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;select &lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;trim(name), trim(name)||'p' into :avl_selected_100K_spalten separated by ' ', :avl_selected_100K_spalten_P99 separated by ' '&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;from&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;dictionary.columns&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;where&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;libname = 'WORK'&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;and&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;memname = 'AVL_SELECTED_100K_PATCH'&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;and&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;upcase(name) not in('PERSON_ID');&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;quit;&lt;BR /&gt;&lt;BR /&gt;proc univariate data=AVL_SELECTED_100K_Patch noprint;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; var &amp;amp;avl_selected_100K_spalten.;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; output out=AVL_SELECTED_100K_P99 pctlpts&amp;nbsp; =99&lt;BR /&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; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; pctlpre&amp;nbsp; = &amp;amp;avl_selected_100K_spalten. &lt;BR /&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; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; pctlname = p;&lt;BR /&gt;run;&lt;BR /&gt;&lt;BR /&gt;data AVL_SELECTED_100K_P99;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;set AVL_SELECTED_100K_P99;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;_TYPE_=0;&lt;BR /&gt;run;&lt;BR /&gt;&lt;BR /&gt;PROC SORT&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;DATA=AVL_SELECTED_100K_P99&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;OUT=AVL_SELECTED_100K_P99_sort;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;BY _TYPE_;&lt;BR /&gt;RUN;&lt;BR /&gt;&lt;BR /&gt;PROC TRANSPOSE DATA=AVL_SELECTED_100K_P99_sort&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;OUT=Trans_AVL_SELECTED_100K_P99_sort&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;PREFIX=Column&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;NAME=Column_name&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;LABEL=Label;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;BY _TYPE_;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;VAR &amp;amp;avl_selected_100K_spalten_P99.;&lt;BR /&gt;RUN;&lt;BR /&gt;&lt;BR /&gt;data AVL_SELECTED_100K_P99 (drop=_TYPE_ Label rename=(column1=P99));&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;set Trans_AVL_SELECTED_100K_P99_sort;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;Column_name=substrn(Column_name,1,length(Column_name)-1);&lt;BR /&gt;run;&lt;BR /&gt;&lt;BR /&gt;proc sql ;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;select Column_name, P99 into :Column_nameP99 separated by ' ', :Column_nameP99_value separated by ' ' from AVL_SELECTED_100K_P99;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;quit;&lt;BR /&gt;&lt;BR /&gt;%macro computePercentile();&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;%let count = 0;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;%do %while (%qscan(&amp;amp;Column_nameP99.,%eval(&amp;amp;count + 1),%str( )) ne );&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %let count = %eval(&amp;amp;count + 1);&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;%end;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;%do i = 1 %to &amp;amp;count;&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;%let currentVar&amp;amp;i = %qscan(&amp;amp;Column_nameP99.,&amp;amp;i,%str( ));&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;%let currentValue&amp;amp;i = %qscan(&amp;amp;Column_nameP99_value.,&amp;amp;i,%str( ));&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;data AVL_SELECTED_100K_Patch;&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;set AVL_SELECTED_100K_Patch;&lt;BR /&gt;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;if &amp;amp;&amp;amp;currentVar&amp;amp;i.. gt &amp;amp;&amp;amp;currentValue&amp;amp;i.. then &amp;amp;&amp;amp;currentVar&amp;amp;i.. = &amp;amp;&amp;amp;currentValue&amp;amp;i..;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;run;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;%end;&lt;BR /&gt;&lt;BR /&gt;%mend;&lt;BR /&gt;&lt;BR /&gt;%computePercentile();&lt;/P&gt;
&lt;P&gt;--------------------------------------END-----------------------------------------------&lt;/P&gt;</description>
      <pubDate>Thu, 24 Mar 2016 16:43:56 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Replacing-Outlier-with-95-percentile/m-p/258870#M49962</guid>
      <dc:creator>ehsanmath</dc:creator>
      <dc:date>2016-03-24T16:43:56Z</dc:date>
    </item>
  </channel>
</rss>

