Share your ideas for the JMP Scripting Unsession at Discovery Summit by September 17th. We hope to see you there!
Choose Language Hide Translation Bar
Highlighted
Yngeinstn
Level IV

Data Filter Context Box with conditional columns

I am curious if there is a way to make a Data Filter Context Box act conditionally. For example

in the Script below you will see 4 columns :DC_7000, :DC_7052,  :DC_7100, :DC_7200 however there may be instances where three (3) of four (4) are not selected from the data set. I have noticed that if a column doesn't exist it throws the formatting completely off as in the designation type ("Single Category Display") doesn't take. I tried throwing IF Statements but that didn't work at all. Any suggestions?

		dfcb4_S = Data Filter Context Box(
			filter4_S = H List Box(
				graph_vlb4_S = V List Box(
					Lineup Box( N Col( 1 ),
						Border Box( Sides( 15 ),
							::dt_testdata << Data Filter(
								Local,
								Mode( Show( 0 ) ),
								Add Filter(
									columns(
										:wafer_number,
										:part_number,
										:rownum,
										:colnum,
										:subrow,
										:subcol,
										:channel,
										:DC_7000,
										:DC_7052,
										:DC_7100,
										:DC_7200,
									),
									Display( :wafer_number, "Check Box Display" ),
									Display( :part_number, "Check Box Display" ),
									Display( :rownum, Size( 236, 24 ), Height( 6 ), "Blocks Display" ),
									Display( :colnum, Size( 236, 24 ), Height( 6 ), "Blocks Display" ),
									Display( :subrow, Size( 236, 24 ), Height( 6 ) ),
									Display( :subcol, Size( 236, 24 ), Height( 6 ) ),
									Display( :channel, "Single Category Display" ),
									Display( :DC_7000, "Single Category Display", Find( Set Text( "" ) ) ),
									Display( :DC_7052, "Single Category Display", Find( Set Text( "" ) ) ),
									Display( :DC_7100, "Single Category Display" ),
									Display( :DC_7200, "Single Category Display" )
								)

							)
						)
					)
				)
			)
		);

 

 

dfcb4_S = Data Filter Context Box(
			filter4_S = H List Box(
				graph_vlb4_S = V List Box(
					Lineup Box( N Col( 1 ),
						Border Box( Sides( 15 ),
							::dt_testdata << Data Filter(
								Local,
								Mode( Show( 0 ) ),
								Add Filter(
									columns(
										:wafer_number,
										:part_number,
										:rownum,
										:colnum,
										:subrow,
										:subcol,
										:channel,
										If( Contains( SelectedSetId, "7000" ), :DC_7000 ),
										If( Contains( SelectedSetId, "7052" ), :DC_7052 ),
										If( Contains( SelectedSetId, "7100" ), :DC_7100 ),
										If( Contains( SelectedSetId, "7200" ), :DC_7200 ),
									),
									Display( :wafer_number, "Check Box Display" ),
									Display( :part_number, "Check Box Display" ),
									Display( :rownum, Size( 236, 24 ), Height( 6 ), "Blocks Display" ),
									Display( :colnum, Size( 236, 24 ), Height( 6 ), "Blocks Display" ),
									Display( :subrow, Size( 236, 24 ), Height( 6 ) ),
									Display( :subcol, Size( 236, 24 ), Height( 6 ) ),
									Display( :channel, "Single Category Display" ),
									Display( :DC_7000, "Single Category Display", Find( Set Text( "" ) ) ),
									Display( :DC_7052, "Single Category Display", Find( Set Text( "" ) ) ),
									Display( :DC_7100, "Single Category Display" ),
									Display( :DC_7200, "Single Category Display" )
										If( Contains( SelectedSetId, "7000" ), Display( :DC_7000, "Single Category Display", Find( Set Text( "" ) ) ) ),
										If( Contains( SelectedSetId, "7052" ), Display( :DC_7052, "Single Category Display", Find( Set Text( "" ) ) ) ),
										If( Contains( SelectedSetId, "7100" ), Display( :DC_7100, "Single Category Display" ) ),
										If( Contains( SelectedSetId, "7200" ), Display( :DC_7200, "Single Category Display" ) ),
								)

							)
						)
					)
				)
			)
		);


 

 

Article Labels