<?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 Hide, Exclude, Delete Rows based on Missing Values in Discussions</title>
    <link>https://community.jmp.com/t5/Discussions/Hide-Exclude-Delete-Rows-based-on-Missing-Values/m-p/270979#M52745</link>
    <description>&lt;P&gt;I have a table that has ~ 4,000,000 rows of data that include a very large variety of test conditions. I use the Explore Outlier function within JMP to change cell values that meet the outlier criteria to missing. I then want to take the row column id associated with the missing values and exclude them from the main data set. I have tried Get Rows Where( Is Missing( :col ) but i can't figure a way to effectively translate it to the main table. This is the best i can come up with at this moment. Any and all help is always appreciated.&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-jsl"&gt;Try( If( Is Scriptable( dt_screen ), Close( dt_Screen, No Save ) ) );

Current Data Table( ::dt_testdata );

::dt_testdata = Current Data Table();

input_1 = {8, 8.25, 8.5, 8.75, 9, 9.25, 9.5, 9.75, 10, 10.25, 10.5, 10.75, 11, 14.75, 15, 15.25, 15.5, 15.75, 16, 16.25, 16.5, 16.75, 17, 17.25, 17.5, 17.75};

setid = {1100};

i = 1;

For( i = 1, i &amp;lt;= N Items( setid ), i++,
	id = setid[i];
	
	dt_Screen = New Table( "Screened" );
	
	For( j = 1, j &amp;lt;= N Items( input_1 ), j++,
		input_2 = input_1[j];
		
		a = ::dt_testdata &amp;lt;&amp;lt; Get Rows Where( :set_id == id &amp;amp; :teststate == "6" &amp;amp; :Input == input_2 );
		
		If( j == 1,
			b = Column(::dt_testdata, "wafer_number")[a];
			Wait( 0 );
			c = Column(::dt_testdata, "part_number")[a];
			Wait( 0 );
			d = Column(::dt_testdata, "channel")[a];
			Wait( 0 );
			e = Column(::dt_testdata, "RowCol_Chnl_PartNo" )[a];
			Wait( 0 );
			dt_Screen &amp;lt;&amp;lt; New Column( "wafer_number", Character, Values( b ) );
			Wait( 0 );
			dt_Screen &amp;lt;&amp;lt; New Column( "part_number", Character, Values( c) );
			Wait( 0 );
			dt_Screen &amp;lt;&amp;lt; New Column( "channel", Character, Values( d ) );
			Wait( 0 );
			dt_Screen &amp;lt;&amp;lt; New Column( "RowCol_Chnl_PartNo", Character, Values( e ) );
		);
		
		f = Column( ::dt_testdata, Eval( "Output" ) )[a];
			
		Wait( 0 );
			
		dt_Screen &amp;lt;&amp;lt; New Column( Eval Insert( "Output @ ^input_2^"), Numeric, Values( f ) );
	);
	
	colsToScreen = dt_Screen &amp;lt;&amp;lt; Get Column Names( Numeric );
	
	Show( colsToScreen );
	
	z = 1;
		
	For( z = 1, z &amp;lt;= N Items( colsToScreen ), z++,
		cols = Char( colsToScreen[z] );
		test = colsToScreen[z];
		
		eo = dt_Screen &amp;lt;&amp;lt; Explore Outliers(
			Y( Column( cols ) ),
			K Sigma( 3 ),
			Robust Fit Outliers( 1 ),
			Show Only Columns With Outliers( 1 ),
			Invisible
		);

		eoRep = Report( eo );
		
		table = eoRep[Table Box( 1 )];
		
		colListEO = eoRep[String Col Box( 1 )];
			
		nCols = N Items( colListEO &amp;lt;&amp;lt; get );
		
		For( c = 1, c &amp;lt;= nCols, c++, 
		
			CMD = Expr(
				table &amp;lt;&amp;lt; Set Selected Rows( {colTBD} )
			);
			
			Substitute Into( CMD, Expr( colTBD ), Eval( c ) );
			CMD;

			eo &amp;lt;&amp;lt; ColorCells( 1 );
			
			eo &amp;lt;&amp;lt; ChangeToMissing( 1 );
			
		);
	);
	
	b = 1;
	
	For( b = 2, b &amp;lt;= N Items( colsToScreen ), b++,
		cols = colsToScreen[b];
		
		RowColToDelete = dt_screen &amp;lt;&amp;lt; Get Rows Where( Is Missing( cols ) );
		
		c = 1;
		
		For( c = 1, c &amp;lt;= N Items( RowColToDelete ), c++,
			row = RowColToDelete[c];
			
			::dt_testdata &amp;lt;&amp;lt; Select Where( :RowCol_Chnl_PartNo == row ) &amp;lt;&amp;lt; Hide( 1 ) &amp;lt;&amp;lt; Exclude( 1 );
			
			Wait( 0 );
		);
	);		
);&lt;/CODE&gt;&lt;/PRE&gt;</description>
    <pubDate>Fri, 09 Jun 2023 23:28:17 GMT</pubDate>
    <dc:creator>Yngeinstn</dc:creator>
    <dc:date>2023-06-09T23:28:17Z</dc:date>
    <item>
      <title>Hide, Exclude, Delete Rows based on Missing Values</title>
      <link>https://community.jmp.com/t5/Discussions/Hide-Exclude-Delete-Rows-based-on-Missing-Values/m-p/270979#M52745</link>
      <description>&lt;P&gt;I have a table that has ~ 4,000,000 rows of data that include a very large variety of test conditions. I use the Explore Outlier function within JMP to change cell values that meet the outlier criteria to missing. I then want to take the row column id associated with the missing values and exclude them from the main data set. I have tried Get Rows Where( Is Missing( :col ) but i can't figure a way to effectively translate it to the main table. This is the best i can come up with at this moment. Any and all help is always appreciated.&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-jsl"&gt;Try( If( Is Scriptable( dt_screen ), Close( dt_Screen, No Save ) ) );

Current Data Table( ::dt_testdata );

::dt_testdata = Current Data Table();

input_1 = {8, 8.25, 8.5, 8.75, 9, 9.25, 9.5, 9.75, 10, 10.25, 10.5, 10.75, 11, 14.75, 15, 15.25, 15.5, 15.75, 16, 16.25, 16.5, 16.75, 17, 17.25, 17.5, 17.75};

setid = {1100};

i = 1;

For( i = 1, i &amp;lt;= N Items( setid ), i++,
	id = setid[i];
	
	dt_Screen = New Table( "Screened" );
	
	For( j = 1, j &amp;lt;= N Items( input_1 ), j++,
		input_2 = input_1[j];
		
		a = ::dt_testdata &amp;lt;&amp;lt; Get Rows Where( :set_id == id &amp;amp; :teststate == "6" &amp;amp; :Input == input_2 );
		
		If( j == 1,
			b = Column(::dt_testdata, "wafer_number")[a];
			Wait( 0 );
			c = Column(::dt_testdata, "part_number")[a];
			Wait( 0 );
			d = Column(::dt_testdata, "channel")[a];
			Wait( 0 );
			e = Column(::dt_testdata, "RowCol_Chnl_PartNo" )[a];
			Wait( 0 );
			dt_Screen &amp;lt;&amp;lt; New Column( "wafer_number", Character, Values( b ) );
			Wait( 0 );
			dt_Screen &amp;lt;&amp;lt; New Column( "part_number", Character, Values( c) );
			Wait( 0 );
			dt_Screen &amp;lt;&amp;lt; New Column( "channel", Character, Values( d ) );
			Wait( 0 );
			dt_Screen &amp;lt;&amp;lt; New Column( "RowCol_Chnl_PartNo", Character, Values( e ) );
		);
		
		f = Column( ::dt_testdata, Eval( "Output" ) )[a];
			
		Wait( 0 );
			
		dt_Screen &amp;lt;&amp;lt; New Column( Eval Insert( "Output @ ^input_2^"), Numeric, Values( f ) );
	);
	
	colsToScreen = dt_Screen &amp;lt;&amp;lt; Get Column Names( Numeric );
	
	Show( colsToScreen );
	
	z = 1;
		
	For( z = 1, z &amp;lt;= N Items( colsToScreen ), z++,
		cols = Char( colsToScreen[z] );
		test = colsToScreen[z];
		
		eo = dt_Screen &amp;lt;&amp;lt; Explore Outliers(
			Y( Column( cols ) ),
			K Sigma( 3 ),
			Robust Fit Outliers( 1 ),
			Show Only Columns With Outliers( 1 ),
			Invisible
		);

		eoRep = Report( eo );
		
		table = eoRep[Table Box( 1 )];
		
		colListEO = eoRep[String Col Box( 1 )];
			
		nCols = N Items( colListEO &amp;lt;&amp;lt; get );
		
		For( c = 1, c &amp;lt;= nCols, c++, 
		
			CMD = Expr(
				table &amp;lt;&amp;lt; Set Selected Rows( {colTBD} )
			);
			
			Substitute Into( CMD, Expr( colTBD ), Eval( c ) );
			CMD;

			eo &amp;lt;&amp;lt; ColorCells( 1 );
			
			eo &amp;lt;&amp;lt; ChangeToMissing( 1 );
			
		);
	);
	
	b = 1;
	
	For( b = 2, b &amp;lt;= N Items( colsToScreen ), b++,
		cols = colsToScreen[b];
		
		RowColToDelete = dt_screen &amp;lt;&amp;lt; Get Rows Where( Is Missing( cols ) );
		
		c = 1;
		
		For( c = 1, c &amp;lt;= N Items( RowColToDelete ), c++,
			row = RowColToDelete[c];
			
			::dt_testdata &amp;lt;&amp;lt; Select Where( :RowCol_Chnl_PartNo == row ) &amp;lt;&amp;lt; Hide( 1 ) &amp;lt;&amp;lt; Exclude( 1 );
			
			Wait( 0 );
		);
	);		
);&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Fri, 09 Jun 2023 23:28:17 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/Hide-Exclude-Delete-Rows-based-on-Missing-Values/m-p/270979#M52745</guid>
      <dc:creator>Yngeinstn</dc:creator>
      <dc:date>2023-06-09T23:28:17Z</dc:date>
    </item>
    <item>
      <title>Re: Hide, Exclude, Delete Rows based on Missing Values</title>
      <link>https://community.jmp.com/t5/Discussions/Hide-Exclude-Delete-Rows-based-on-Missing-Values/m-p/270984#M52748</link>
      <description>&lt;P&gt;If I am understanding your issue, the examples below might give you some insight into how to find the missing value rows&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-jsl"&gt;names default to here(1);
dt=open("$SAMPLE_DATA/big class.jmp");

dt:weight[3]=.;
dt:weight[5]=.;

col= dt&amp;lt;&amp;lt;get column names(continuous);
z=col[2];
x=dt&amp;lt;&amp;lt;get rows where(isMissing(ascolumn(z))==1);

// or


names default to here(1);
dt=open("$SAMPLE_DATA/big class.jmp");

dt:weight[3]=.;
dt:weight[5]=.;

col="weight";
x=dt&amp;lt;&amp;lt;get rows where(isMissing(ascolumn(z))==1);&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Fri, 05 Jun 2020 17:23:54 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/Hide-Exclude-Delete-Rows-based-on-Missing-Values/m-p/270984#M52748</guid>
      <dc:creator>txnelson</dc:creator>
      <dc:date>2020-06-05T17:23:54Z</dc:date>
    </item>
    <item>
      <title>Re: Hide, Exclude, Delete Rows based on Missing Values</title>
      <link>https://community.jmp.com/t5/Discussions/Hide-Exclude-Delete-Rows-based-on-Missing-Values/m-p/271007#M52750</link>
      <description>&lt;P&gt;Thanks for the reply Mr. Nelson. The problem isn't finding the missing rows. The problem is the time it takes to get the row column id's that are missing and Hiding and Excluding them in the main table... If you were to plot x = Input and Y = Output as you see in the example. The remove outliers will find the data that is outside the distribution and change it to missing on the dt_screen. I want to be able to take row column id's and hide / exclude them in the main table to clean up this plot..&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Yngeinstn_1-1591383512091.png" style="width: 400px;"&gt;&lt;img src="https://community.jmp.com/t5/image/serverpage/image-id/24409iBCE8C81DEE8BD97D/image-size/medium?v=v2&amp;amp;px=400" role="button" title="Yngeinstn_1-1591383512091.png" alt="Yngeinstn_1-1591383512091.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 05 Jun 2020 18:58:44 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/Hide-Exclude-Delete-Rows-based-on-Missing-Values/m-p/271007#M52750</guid>
      <dc:creator>Yngeinstn</dc:creator>
      <dc:date>2020-06-05T18:58:44Z</dc:date>
    </item>
  </channel>
</rss>

