Tengo curiosidad por saber si hay una manera de hacer que un cuadro de contexto de filtro de datos actúe condicionalmente. Por ejemplo
en la secuencia de comandos a continuación, verá 4 columnas: DC_7000,: DC_7052,: DC_7100,: DC_7200; sin embargo, puede haber casos en los que no se seleccionen tres (3) de cuatro (4) del conjunto de datos. Me di cuenta de que si una columna no existe, elimina el formato por completo como en el tipo de designación ( "Visualización de categoría única" ) no toma. Intenté lanzar declaraciones IF pero eso no funcionó en absoluto. ¿Alguna sugerencia?
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" )
)
)
)
)
)
)
);
</CODE></PRE><PRE><CODE class=" language-jsl">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" ) ),
)
)
)
)
)
)
);<BR /><BR />