So erstellen Sie ein Skript für den DatenfilterIch habe ein Problem mit der Skripterstellung für einen Datenfilter.Ich möchte ein Skript erstellen, in dem ich einen Datenfilter erstelle, der einige Daten ausschließt/versteckt, eine Grafikfunktion ausführt, alle Daten ausschließt/einblendet und dann das Filterfenster schließe.
Was ich bisher habe ist,
obj = Aktuelle Datentabelle() << Datenfilter( Filter hinzufügen( /* Filterbedingungen */ ));
/* Grafikfunktion */
obj << Clear;
wdw = window("Datenfilter ");
wdw << closewindow();
Dies ist eine funktionierende Lösung, aber nur, solange der Dateiname genau so ist, wie er erstellt wurde.Gibt es eine Möglichkeit, den Dateinamen zu verallgemeinern?Alternativ würde auch eine andere Methode zum Schließen des Datenfilterfensters meine Anforderungen erfüllen.
Skript – Filter<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Vielen Dank, Dave!Ich glaube, ich habe es von da an herausgefunden.
Skript – FilterDer Code, den Sie schreiben, wird durch Auswahl der Option aus dem Datenfilter generiert Skript > Skript im Skriptfenster speichern z.B
Aktuelle Datentabelle() << Datenfilter(
Standort( {638, 47} ),
Filter hinzufügen( Spalten( :age, :sex ), Where( :age == 12 ), Where( :sex == "F" ) )
);
Um eine JSL-Spezifikation der where-Klausel zu erhalten, können Sie die Option verwenden Speichern Sie die Where-Klausel im Skriptfenster z.B
Wählen Sie Where( :age == 12 & :sex == "F" );
Das programmgesteuerte Äquivalent zum Drücken der Schaltfläche „Löschen“ im Datenfilter ist das Schreiben
obj << Zeilenstatus löschen;
Dabei ist obj ein Verweis auf die Datentabelle.
Dave
Skript – FilterDave@Pega-Analytics wrote:I get the sense that you are trying to use the data filter to automate the exclusion of data points in preparation for making a graph without using it interactively.
Das ist richtig.Im Idealfall kann ein anderer JMP-Benutzer von einem beliebigen Tabellenformular (Ausschlüsse, Auswahlen) aus zur Endanalyse gelangen, Diagramme ausführen und dann auf die Tabellenstandardwerte zurücksetzen.Ich habe Probleme, dieses Skript dazu zu bringen, mehrere Bedingungen zu erkennen, zumindest indem ich es so einschreibe, wie ich es in der Filterfunktion tun würde.
Datenfilter( Filter hinzufügen(
Spalten( :Bedingung 1, :Bedingung 2),
Wo( :Bedingung 1 == {"A", "B"} ),
Wo( :Bedingung 2 == {"C", "D"}) ),
Mode( Select( 0 ), Show( 1 ), Include( 1 ) ) );
Wie würde dieser Filter in ein Skript übersetzt werden?Und wie löscht man die Auswahl?
Skript – FilterAus Gründen der Korrektheit verhält sich der Datenfilter umgekehrt wie bei den Zeilenzuständen (d. h. er verwendet „Anzeigen“ und „Einschließen“, während die Zeilenzustände „Ausblenden“ und „Ausschließen“ lauten). In meinem obigen Beispiel sollte die Auswahl also umgekehrt sein:
sel = obj << Select Where( /* Filterbedingungen */ );
sel << Zeilenauswahl umkehren;
sel << Ausschließen; /* Auswahl ausschließen */
Skript – FilterZunächst einmal tut es mir leid, wenn ich falsch verstehe, was Sie tun möchten, aber ich habe den Eindruck, dass Sie versuchen, den Datenfilter zu verwenden, um den Ausschluss von Datenpunkten zur Vorbereitung der Erstellung eines Diagramms zu automatisieren, ohne es interaktiv zu verwenden.Der Datenfilter ist lediglich ein praktisches Benutzeroberflächentool zum Steuern des Status „Ausblenden“ und „Ausschließen“ von Zeilen. Wenn Sie den Filter nicht interaktiv verwenden, ist es möglicherweise einfacher, diese Zeilenstatus direkt per Skript zu erstellen:
obj = Aktuelle Datentabelle();
sel = obj << Select Where( /* Filterbedingungen */ );
sel << Ausschließen; /* Auswahl ausschließen */
/* Grafikfunktion */
sel << Ausschließen; /* Auswahl ausschließen ausschalten */
Dave