Datenfilterskript<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Ich filtere Daten anhand von Werten in einer Spalte. Ist es möglich, ein Skript an den Datenfilter anzuhängen, sodass das Skript immer dann ausgeführt wird, wenn ein neuer Spaltenwert im Filter ausgewählt wird?
Danke.
Betreff: DatenfilterskriptIn JMP 11 hatte der Befehl << close keine Auswirkung auf einen sichtbaren Filter.Änderungen in JMP 12 haben dafür gesorgt, dass dies funktioniert.
Als Workaround für JMP 11 könnten Sie Folgendes verwenden:
gb << Lokalen Datenfilter entfernen;
Betreff: DatenfilterskriptBeide Lösungen funktionieren, aber Sie müssen das Ergebnis etwas zuordnen:
rsh = DataFilter1 << Make Row State Handler(DataFilter1_handler);
Der Zeilenstatushandler ist ein Objekt, das an Sie zurückgegeben wird.Da es nirgendwo gelagert wurde, ging es weg!
Betreff: DatenfilterskriptNoch eine Frage zum lokalen Datenfilter in Ihrem Beispiel:
Wie können Sie den Filter per Code entfernen („lokalen Datenfilter entfernen“, wenn Sie dies manuell tun)?
Ich habe diese Befehle ausprobiert:
// funktioniert
ldf << klar;
// funktioniert nicht
ldf << schließen;
ldf << entfernen;
ldf << Fenster schließen;
ldf << löschen;
Betreff: DatenfilterskriptDanke, das funktioniert. Es ist wirklich einfach, wenn man weiß, wie es geht
Meine nächste Frage ist für Sie wahrscheinlich auch ganz einfach:
Ich habe einen lokalen Datenfilter in einer Anwendung. Ich möchte einen Zeilenstatushandler dafür festlegen.
Das ist mein Code:
DataFilter1 << Add Filter(
Columns(Eval(filter_parameter)),
Display(Size( 100, 150 ),List Display)
);
// set OutlineCloseOrientation and title
ldfr = DataFilter1 << report;
ldfr[Outline Box( 1 )] << OutlineCloseOrientation( "Horizontal" );
ldfr[Outline Box( 1 )] << Set Title("Filter");
// set row state handler - both versions do not work
DataFilter1 << Make Row State Handler(DataFilter1_handler);
ldfr[Outline Box( 1 )] << Make Row State Handler(DataFilter1_handler);
DataFilter1_handler = function({x},
show("row state handler function");
);
Betreff: DatenfilterskriptUm eine Nachricht an den lokalen Datenfilter zu senden, müssen Sie einen Verweis darauf erhalten. Versuchen Sie etwas wie:
NamesDefaultToHere(1);
// Some data
dt = New Table( "Fruits",
Add Rows( 3 ),
New Column( "Fruit",
Character,
"Nominal",
Set Values( {"Pear", "Apple", "Orange"} )
)
);
// A report with a local data filter
gb = dt << Graph Builder(
Size( 528, 448 ),
Show Control Panel( 0 ),
Show Legend( 0 ),
Variables( X( :Fruit ) ),
Elements( Bar( X, Legend( 3 ) ) )
);
ldf = gb << Local Data Filter( Mode, Add Filter( columns( :Fruit ) ) );
// Row state handler function
doSomethingWithSelection = Function({x}, {Default Local},
currentScript = ldf << getScript;
ClearLog();
Print(currentScript);
);
// Get a reference to the report
gbReport = gb << Report;
// Assign the row state handler to the local data filter display box
rsh = gbReport[OutlineBox(1)] << MakeRowStateHandler(doSomethingWithSelection);
Betreff: DatenfilterskriptIch habe ein ähnliches Problem. Ich möchte das Skript eines lokalen Datenfilters eines Graph Builders bei jeder Filteränderung in einer String-Variablen speichern. Mein Problem mit dem obigen Skript besteht darin, wie ich auf den lokalen Datenfilter in der Funktion „doSomethingWithSelection“ zugreife.
Die folgende Zeile funktioniert nicht, sie gibt das Datenfilterskript nicht aus:
string = gbreport [ Gliederungsrahmen ( 1 )] << Holen Sie sich das Skript
Betreff: DatenfilterskriptGenial – danke.
Betreff: DatenfilterskriptVersuchen Sie, aufbauend auf Dans Antwort:
NamesDefaultToHere(1);
// Some data
dt = New Table( "Fruits",
Add Rows( 3 ),
New Column( "Fruit",
Character,
"Nominal",
Set Values( {"Pear", "Apple", "Orange"} )
)
);
// A report with a local data filter
gb = dt << Graph Builder(
Size( 528, 448 ),
Show Control Panel( 0 ),
Show Legend( 0 ),
Variables( X( :Fruit ) ),
Elements( Bar( X, Legend( 3 ) ) ),
Local Data Filter( Mode, Add Filter( columns( :Fruit ) ) )
);
// Row state handler function
doSomethingWithSelection = Function({x}, {Default Local}, Beep(); Wait(0.1); Beep() );
// Get a reference to the report
gbReport = gb << Report;
// See what messages the data filter display box understands (prints to the log)
ShowProperties(gbReport[OutlineBox(1)]);
// Assign the row state handler to the local data filter display box
rsh = gbReport[OutlineBox(1)] << MakeRowStateHandler(doSomethingWithSelection);
Betreff: DatenfilterskriptDer Datenfilter manipuliert die Zeilenzustände der Datentabelle (globaler Filter) oder einen privaten Satz von Zeilenzuständen (lokaler Filter).Sie können dt<