Einzelkategorie Disply innerhalb eines Eval (Eval Expr (Datenfilterbox)Frohes Neues Jahr euch allen!
Ich bin mit Eval (Eval Expr) auf einen raffinierten Code gestoßen, um Filterfelder generisch zu machen, was bedeutet, dass ich nur eine Liste füllen kann und das Filterfeld alle Spalten in einer bestimmten Datentabelle darstellt. In einigen meiner Tabellen habe ich bis zu 25 verschiedene Filterkombinationen und ich verwende sie gerne 'Single Category Display'. Wenn ich jedoch den Eval (Eval Expr) verwende (nur der Vorname in der Liste erhält die 'Einzelkategorie' und der Rest ist eine Liste. Gibt es eine Möglichkeit, alle zu einer einzigen Kategorie zu machen?
Ich habe ein Beispielskript unter Verwendung der Semiconductor Capability Data Table angehängt. Wenn Sie das Skript ausführen, wird im Kontextfeld des Datenfilters (Datenfilter) nur die lot_id als einzelne Kategorie und nicht der Wafer angezeigt. Ich strebe an, dass beide (oder beliebige Kombinationen) eine einzige Kategorie haben.
Hinweis: Dank geht an Herrn txnelson, der mir beim eigentlichen Ausdruck für die Verteilungspläne geholfen hat.
Danke im Voraus
SkriptingBetreff: Einzelkategorie Disply innerhalb eines Eval (Eval Expr (Datenfilterbox)Sie können folgende geringfügige Änderungen vornehmen (beachten Sie die Variable dtFilter in Eval):
Eval(
Eval Expr(
dfcb100_S = Data Filter Context Box(
filter100_S = H List Box(
graph_vlb100_S = V List Box(
Lineup Box( N Col( 1 ),
Border Box( Sides( 15 ),
dtFilter = dt << Data Filter(
Local,
Mode( Show( 0 ) ),
Add Filter(
Columns( Expr( filterCol ) )
)
)
)
)
)
)
)
)
);
for(i = 1, i <= N Items(filterCol), i++,
dtFilter << Display(filterCol[i], Size( 188, 16 ), Height( 16 ), "Single Category Display" )
);Ich denke, Filter hinzufügen erlaubt Ihnen möglicherweise nicht, mehrere Anzeigen gleichzeitig hinzuzufügen, da dies auch funktioniert hat:
Eval(
Eval Expr(
dfcb100_S = Data Filter Context Box(
filter100_S = H List Box(
graph_vlb100_S = V List Box(
Lineup Box( N Col( 1 ),
Border Box( Sides( 15 ),
dt << Data Filter(
Local,
Mode( Show( 0 ) ),
Add Filter(
Columns( Expr( filterCol ) ),
Display( Expr( filterCol[1] ), Size( 188, 16 ), Height( 16 ), "Single Category Display" ),
Display( Expr( filterCol[2] ), Size( 188, 16 ), Height( 16 ), "Single Category Display" )
)
)
)
)
)
)
)
)
);Betreff: Einzelkategorie Disply innerhalb eines Eval (Eval Expr (Datenfilterbox)Danke Jarmo, ich werde den ersten in wenigen Minuten ausprobieren.
Das Problem mit dem zweiten Skript ist, dass filterCol [1] darin besteht, dass die Zahl bei jeder SQL-Abfrage zwischen 1 und 5 liegen kann. Aus diesem Grund habe ich für jedes Produkt ein separates Skript für dieses Datenfilter-Kontextfeld geschrieben. Warum ich aufgeregt war, als ich den Expr (Eval Expr () sah.
Betreff: Einzelkategorie Disply innerhalb eines Eval (Eval Expr (Datenfilterbox)Tatsächlich scheint es, dass Sie dies tun können, indem Sie einfach den Ausdruck (filterCol) in Display () weglassen:
Eval(
Eval Expr(
dfcb100_S = Data Filter Context Box(
filter100_S = H List Box(
graph_vlb100_S = V List Box(
Lineup Box( N Col( 1 ),
Border Box( Sides( 15 ),
dt << Data Filter(
Local,
Mode( Show( 0 ) ),
Add Filter(
Columns( Expr( filterCol ) ),
Display(Size( 188, 16 ), Height( 16 ), "Single Category Display")
)
)
)
)
)
)
)
)
);Betreff: Einzelkategorie Disply innerhalb eines Eval (Eval Expr (Datenfilterbox)Das erste Skript funktioniert perfekt. Sehr geschätzt.
Betreff: Einzelkategorie Disply innerhalb eines Eval (Eval Expr (Datenfilterbox)Ich habe das Gefühl, dass die obige JSL möglicherweise zu kompliziert ist. Sie könnten so etwas tun:
NamesDefaultToHere(1);
dt = Open( "$sample_data/Semiconductor Capability.jmp" );
// Columns to filter by (in a list)
filterCol = {"lot_id", "wafer"};
// Example report
dist = dt << Distribution(
Stack( 1 ),
Continuous Distribution(
Column( :NPN1 ),
Quantiles( 0 ),
Horizontal Layout( 1 ),
Vertical( 0 ),
Process Capability( Use Column Property Specs )
),
Automatic Recalc( 1 )
);
// Add a data filter
df = dist << Local Data Filter(Add Filter(columns( Eval(filterCol) )));
// Change the display format of all the filter variables
for(c=1, c<=NItems(filterCol), c++, df << Display( Eval(filterCol[c]), "Single Category Display" ));