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