<?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 select column for Quantile Range Outlier using jsl in Discussions</title>
    <link>https://community.jmp.com/t5/Discussions/How-to-select-column-for-Quantile-Range-Outlier-using-jsl/m-p/620837#M82001</link>
    <description>&lt;P&gt;Hi Jim,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks for the code.&lt;/P&gt;&lt;P&gt;I tried the code above, my JMP15 did not support&amp;nbsp;For Each(). I make some changes on For Each to For loop.&lt;/P&gt;&lt;P&gt;But still unable delete the non-outlier column.&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-jsl"&gt;Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Water Treatment.jmp" );
obj = dt &amp;lt;&amp;lt; Explore Outliers( Y( dt &amp;lt;&amp;lt; Get Column Group( "Sensor Measurements" ) ) );

obj &amp;lt;&amp;lt; Show only columns with outliers( 1 );
obj &amp;lt;&amp;lt; Tail Quantile( 0.1 );
obj &amp;lt;&amp;lt; Q( 3 );
obj &amp;lt;&amp;lt; Quantile Range Outliers;
obj &amp;lt;&amp;lt; ColorCells( dt &amp;lt;&amp;lt; Get Column Group( "Sensor Measurements" ) );
obj &amp;lt;&amp;lt; SelectRows( dt &amp;lt;&amp;lt; Get Column Group( "Sensor Measurements" ) );
obj &amp;lt;&amp;lt; ExcludeRows( dt &amp;lt;&amp;lt; Get Column Group( "Sensor Measurements" ) );

dt &amp;lt;&amp;lt; select where( Excluded( Row State() ) != 1 );
dt &amp;lt;&amp;lt; Delete rows;

allEvaluatedList = Report( obj )["Quantile Range Outliers", String Col Box( "Column" )] &amp;lt;&amp;lt; get;
obj &amp;lt;&amp;lt; Show only columns with outliers( 1 );
colList = Report( obj )["Quantile Range Outliers", String Col Box( "Column" )] &amp;lt;&amp;lt; get;


For( i=1, i &amp;lt;= N Items(allEvaluatedList), i++, col=allEvaluatedList[i];
	If( Contains( colList, col ) == 0 ,
		dt &amp;lt;&amp;lt; delete columns( col )
	)
);&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;Non outlier column still present in the data table below.&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="XHLow_0-1680852462498.png" style="width: 400px;"&gt;&lt;img src="https://community.jmp.com/t5/image/serverpage/image-id/51801i9BC5C6CE4BA5D744/image-size/medium?v=v2&amp;amp;px=400" role="button" title="XHLow_0-1680852462498.png" alt="XHLow_0-1680852462498.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;Am I missing something?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Fri, 07 Apr 2023 07:28:40 GMT</pubDate>
    <dc:creator>XHLow</dc:creator>
    <dc:date>2023-04-07T07:28:40Z</dc:date>
    <item>
      <title>How to select column for Quantile Range Outlier using jsl</title>
      <link>https://community.jmp.com/t5/Discussions/How-to-select-column-for-Quantile-Range-Outlier-using-jsl/m-p/620720#M81990</link>
      <description>&lt;P&gt;Hi JMP team,&lt;/P&gt;&lt;P&gt;I plan to do automated outlier analysis using Explore Outliers. The goal of this automation is to get a neat, easy to view table to show only row item and column item with outlier(This require to filter out those non-outlier column and row). Take Water Treatment as example below to rid row item without outlier.&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-jsl"&gt;Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Water Treatment.jmp" );
obj = dt &amp;lt;&amp;lt; Explore Outliers(
	Y( dt &amp;lt;&amp;lt; Get Column Group( "Sensor Measurements" ) )
);

obj &amp;lt;&amp;lt; Show only columns with outliers(1);
obj &amp;lt;&amp;lt; Tail Quantile( 0.1 );
obj &amp;lt;&amp;lt; Q(3);
obj &amp;lt;&amp;lt; Quantile Range Outliers;
obj &amp;lt;&amp;lt; ColorCells(dt &amp;lt;&amp;lt; Get Column Group( "Sensor Measurements" ));
obj &amp;lt;&amp;lt; SelectRows(dt &amp;lt;&amp;lt; Get Column Group( "Sensor Measurements" ));
obj &amp;lt;&amp;lt; ExcludeRows(dt &amp;lt;&amp;lt; Get Column Group( "Sensor Measurements" ));

dt &amp;lt;&amp;lt; select where( Excluded(Row State()) != 1 );
dt &amp;lt;&amp;lt; Delete rows;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;Question how to filter out non-outlier column using jsl code?&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="XHLow_0-1680829224010.png" style="width: 400px;"&gt;&lt;img src="https://community.jmp.com/t5/image/serverpage/image-id/51792i069BDBC9715DB1AC/image-size/medium?v=v2&amp;amp;px=400" role="button" title="XHLow_0-1680829224010.png" alt="XHLow_0-1680829224010.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;XH Low&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Sun, 11 Jun 2023 00:00:09 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/How-to-select-column-for-Quantile-Range-Outlier-using-jsl/m-p/620720#M81990</guid>
      <dc:creator>XHLow</dc:creator>
      <dc:date>2023-06-11T00:00:09Z</dc:date>
    </item>
    <item>
      <title>Re: How to select column for Quantile Range Outlier using jsl</title>
      <link>https://community.jmp.com/t5/Discussions/How-to-select-column-for-Quantile-Range-Outlier-using-jsl/m-p/620792#M81998</link>
      <description>&lt;P&gt;I have added a few lines of code at the bottom of your script, that deletes the columns that have no outliers.&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="txnelson_0-1680839718433.png" style="width: 733px;"&gt;&lt;img src="https://community.jmp.com/t5/image/serverpage/image-id/51797i63A00EEAA4ADEB24/image-dimensions/733x414?v=v2" width="733" height="414" role="button" title="txnelson_0-1680839718433.png" alt="txnelson_0-1680839718433.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-jsl"&gt;Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Water Treatment.jmp" );
obj = dt &amp;lt;&amp;lt; Explore Outliers( Y( dt &amp;lt;&amp;lt; Get Column Group( "Sensor Measurements" ) ) );

obj &amp;lt;&amp;lt; Show only columns with outliers( 1 );
obj &amp;lt;&amp;lt; Tail Quantile( 0.1 );
obj &amp;lt;&amp;lt; Q( 3 );
obj &amp;lt;&amp;lt; Quantile Range Outliers;
obj &amp;lt;&amp;lt; ColorCells( dt &amp;lt;&amp;lt; Get Column Group( "Sensor Measurements" ) );
obj &amp;lt;&amp;lt; SelectRows( dt &amp;lt;&amp;lt; Get Column Group( "Sensor Measurements" ) );
obj &amp;lt;&amp;lt; ExcludeRows( dt &amp;lt;&amp;lt; Get Column Group( "Sensor Measurements" ) );

dt &amp;lt;&amp;lt; select where( Excluded( Row State() ) != 1 );
dt &amp;lt;&amp;lt; Delete rows;

allEvaluatedList = Report( obj )["Quantile Range Outliers", String Col Box( "Column" )] &amp;lt;&amp;lt; get;
obj &amp;lt;&amp;lt; Show only columns with outliers( 1 );
colList = Report( obj )["Quantile Range Outliers", String Col Box( "Column" )] &amp;lt;&amp;lt; get;

For Each( {col, i}, allEvaluatedList,
	If( Contains( colList, col ) == 0,
		dt &amp;lt;&amp;lt; delete columns( col )
	)
);&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 07 Apr 2023 03:56:33 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/How-to-select-column-for-Quantile-Range-Outlier-using-jsl/m-p/620792#M81998</guid>
      <dc:creator>txnelson</dc:creator>
      <dc:date>2023-04-07T03:56:33Z</dc:date>
    </item>
    <item>
      <title>Re: How to select column for Quantile Range Outlier using jsl</title>
      <link>https://community.jmp.com/t5/Discussions/How-to-select-column-for-Quantile-Range-Outlier-using-jsl/m-p/620837#M82001</link>
      <description>&lt;P&gt;Hi Jim,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks for the code.&lt;/P&gt;&lt;P&gt;I tried the code above, my JMP15 did not support&amp;nbsp;For Each(). I make some changes on For Each to For loop.&lt;/P&gt;&lt;P&gt;But still unable delete the non-outlier column.&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-jsl"&gt;Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Water Treatment.jmp" );
obj = dt &amp;lt;&amp;lt; Explore Outliers( Y( dt &amp;lt;&amp;lt; Get Column Group( "Sensor Measurements" ) ) );

obj &amp;lt;&amp;lt; Show only columns with outliers( 1 );
obj &amp;lt;&amp;lt; Tail Quantile( 0.1 );
obj &amp;lt;&amp;lt; Q( 3 );
obj &amp;lt;&amp;lt; Quantile Range Outliers;
obj &amp;lt;&amp;lt; ColorCells( dt &amp;lt;&amp;lt; Get Column Group( "Sensor Measurements" ) );
obj &amp;lt;&amp;lt; SelectRows( dt &amp;lt;&amp;lt; Get Column Group( "Sensor Measurements" ) );
obj &amp;lt;&amp;lt; ExcludeRows( dt &amp;lt;&amp;lt; Get Column Group( "Sensor Measurements" ) );

dt &amp;lt;&amp;lt; select where( Excluded( Row State() ) != 1 );
dt &amp;lt;&amp;lt; Delete rows;

allEvaluatedList = Report( obj )["Quantile Range Outliers", String Col Box( "Column" )] &amp;lt;&amp;lt; get;
obj &amp;lt;&amp;lt; Show only columns with outliers( 1 );
colList = Report( obj )["Quantile Range Outliers", String Col Box( "Column" )] &amp;lt;&amp;lt; get;


For( i=1, i &amp;lt;= N Items(allEvaluatedList), i++, col=allEvaluatedList[i];
	If( Contains( colList, col ) == 0 ,
		dt &amp;lt;&amp;lt; delete columns( col )
	)
);&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;Non outlier column still present in the data table below.&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="XHLow_0-1680852462498.png" style="width: 400px;"&gt;&lt;img src="https://community.jmp.com/t5/image/serverpage/image-id/51801i9BC5C6CE4BA5D744/image-size/medium?v=v2&amp;amp;px=400" role="button" title="XHLow_0-1680852462498.png" alt="XHLow_0-1680852462498.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;Am I missing something?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 07 Apr 2023 07:28:40 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/How-to-select-column-for-Quantile-Range-Outlier-using-jsl/m-p/620837#M82001</guid>
      <dc:creator>XHLow</dc:creator>
      <dc:date>2023-04-07T07:28:40Z</dc:date>
    </item>
    <item>
      <title>Re: How to select column for Quantile Range Outlier using jsl</title>
      <link>https://community.jmp.com/t5/Discussions/How-to-select-column-for-Quantile-Range-Outlier-using-jsl/m-p/620852#M82005</link>
      <description>&lt;P&gt;The output of the Explore Outliers Platform in JMP 15, by default, only displays the columns that have outliers.&amp;nbsp; The script I provided assumed that all columns that were specified for analysis were displayed.&amp;nbsp; I have modified the code to force the displaying of all columns so that the "allEvaluatedList" gets properly populated.&amp;nbsp; I tested the code in JMP 15, and iit is now working.&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-jsl"&gt;Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Water Treatment.jmp" );
obj = dt &amp;lt;&amp;lt; Explore Outliers( Y( dt &amp;lt;&amp;lt; Get Column Group( "Sensor Measurements" ) ) );

obj &amp;lt;&amp;lt; Show only columns with outliers( 1 );
obj &amp;lt;&amp;lt; Tail Quantile( 0.1 );
obj &amp;lt;&amp;lt; Q( 3 );
obj &amp;lt;&amp;lt; Quantile Range Outliers;
obj &amp;lt;&amp;lt; ColorCells( dt &amp;lt;&amp;lt; Get Column Group( "Sensor Measurements" ) );
obj &amp;lt;&amp;lt; SelectRows( dt &amp;lt;&amp;lt; Get Column Group( "Sensor Measurements" ) );
obj &amp;lt;&amp;lt; ExcludeRows( dt &amp;lt;&amp;lt; Get Column Group( "Sensor Measurements" ) );

dt &amp;lt;&amp;lt; select where( Excluded( Row State() ) != 1 );
dt &amp;lt;&amp;lt; Delete rows;

obj &amp;lt;&amp;lt; Show only columns with outliers( 0 );
allEvaluatedList = Report( obj )["Quantile Range Outliers", String Col Box( "Column" )] &amp;lt;&amp;lt; get;
obj &amp;lt;&amp;lt; Show only columns with outliers( 1 );
colList = Report( obj )["Quantile Range Outliers", String Col Box( "Column" )] &amp;lt;&amp;lt; get;


For( i=1, i &amp;lt;= N Items(allEvaluatedList), i++, col=allEvaluatedList[i];
	If( Contains( colList, col ) == 0 ,
		dt &amp;lt;&amp;lt; delete columns( col )
	)
);&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Fri, 07 Apr 2023 10:22:33 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/How-to-select-column-for-Quantile-Range-Outlier-using-jsl/m-p/620852#M82005</guid>
      <dc:creator>txnelson</dc:creator>
      <dc:date>2023-04-07T10:22:33Z</dc:date>
    </item>
    <item>
      <title>Re: How to select column for Quantile Range Outlier using jsl</title>
      <link>https://community.jmp.com/t5/Discussions/How-to-select-column-for-Quantile-Range-Outlier-using-jsl/m-p/620912#M82009</link>
      <description>&lt;P&gt;Great!! It works now.&lt;/P&gt;&lt;P&gt;Thanks Jim.&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="XHLow_0-1680870577046.png" style="width: 400px;"&gt;&lt;img src="https://community.jmp.com/t5/image/serverpage/image-id/51805i630F6CFC4B50CCC3/image-size/medium?v=v2&amp;amp;px=400" role="button" title="XHLow_0-1680870577046.png" alt="XHLow_0-1680870577046.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 07 Apr 2023 12:30:07 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/How-to-select-column-for-Quantile-Range-Outlier-using-jsl/m-p/620912#M82009</guid>
      <dc:creator>XHLow</dc:creator>
      <dc:date>2023-04-07T12:30:07Z</dc:date>
    </item>
  </channel>
</rss>

