Datenfilter: So legen Sie die Grenzwerte festIn einem Datenfilter wird ein Benutzer dadurch eingeschränkt, welche Werte als Grenzwerte eingegeben werden können.
Liegt der eingegebene Grenzwert außerhalb des Bereichs der verfügbaren Datenpunkte, wird der Wert automatisch durch Min oder Max ersetzt.
Der Benutzer kann den JSL-Code ändern – beim Öffnen des Diagramms werden die Werte jedoch wieder auf Min und Max zurückgesetzt.
a) Gibt es einen versteckten Trick, wie man eine beliebige Zahl eingibt? Shift Enter hat nicht funktioniert
b) Gibt es einen Trick, wie man ein Dashboard mit benutzerdefinierten Filterspezifikationen erstellt, die so bleiben, wie sie sind?

Datenexploration und -visualisierungBetreff: Datenfilter: So legen Sie die Grenzwerte fest@hogi Jemand aus meinem Team im technischen Support sollte seine Einschätzung zu Frage a) mit freundlicher Genehmigung Ihrer E-Mail an abgeben support@jmp.com (vom 16.06.23) in Bezug auf Frage a), aber zur Frage
„Gibt es einen Trick, wie man ein Dashboard mit benutzerdefinierten Filterspezifikationen erstellt – die so bleiben, wie sie sind?“
Es scheint, dass die Spezifikationen für mich bestehen bleiben, nachdem ich sie definiert habe.Können Sie weitere Informationen mit einem Beispiel bereitstellen, um zu beschreiben, was Sie sehen?
Betreff: Datenfilter: So legen Sie die Grenzwerte festUm ein Dashboard mit einem Filter zu generieren, der über den aktuellen Datenbereich hinausgeht, habe ich ein GraphBuilder-Diagramm mit niedrigerer Spezifikation = 1 über generiert
Graph Builder(
Variables( X( :height ), Y( :weight ), Overlay( :sex ) ),
Elements( Points( X, Y, Legend( 1 ) ), Smoother( X, Y, Legend( 2 ) ) ),
Local Data Filter(
Conditional,
Add Filter( columns( :height ), Where( :height >= 1 ) )
)
)
Das Ergebnis sah nicht vielversprechend aus:

dann habe ich es einem Dashboard hinzugefügt

und überprüfte den Code – und tatsächlich – Jmp hat meine Spezifikation angepasst:

Ich habe das Limit wieder auf 1 gesetzt und den Code verwendet, um ein neues Dashboard zu generieren, habe den Code noch einmal überprüft und es war wieder 51.
Betreff: Datenfilter: So legen Sie die Grenzwerte festDann habe ich eine gefälschte Zeile mit Höhe =1 hinzugefügt, die es mir ermöglichte, einen Datenfilter mit niedrigerer Spezifikation =1 zu definieren:

aber sobald ich die Zeile gelöscht habe, wurde der Datenfilter wieder auf 51 geändert ...
Ein Datenfilter mit Spezifikationen außerhalb des aktuellen Datenbereichs scheint ein recht fragiles Objekt zu sein.
Bisher habe ich Dashboards generiert, als Tabellenskripte gespeichert, im Laufe der Wochen neue Daten geladen, die Dashboards optimiert, wieder als Tabellenskript gespeichert ...
Gefährlich, wenn sich Datenfilter dynamisch an die aktuellen Datenbereiche anpassen.
Betreff: Datenfilter: So legen Sie die Grenzwerte fest@hogi - Wenn Sie in JMP 17 einen der Min/Max-Werte nicht ändern:

Sie erscheinen nicht im Skript:
Bivariate(
Y( :weight ),
X( :height ),
Fit Line( {Line Color( {212, 73, 88} )} ),
Local Data Filter( Add Filter( columns( :height ), Where( :height <= 65 ) ) )
);
Dies ist hilfreich, wenn Sie sich ändernde Daten haben und einseitige Grenzwerte benötigen.Wenn Sie jedoch beide Werte ändern und sie dann wieder an die Extrempunkte ziehen, werden beide Werte im Skript angezeigt.Ich würde vorschlagen, dass Sie danach das Filterelement „löschen“, was dazu führt, dass keine Where()-Klausel generiert wird.Leider ist das Vorhandensein der Where()-Klausel der Indikator dafür, ob die Filterbedingungen festgelegt wurden, weshalb Sie in dem von Ihnen angezeigten Szenario beide Werte sehen.
Betreff: Datenfilter: So legen Sie die Grenzwerte fest@hogi – Danke für den Kontext – die Datenbereinigung wird oft außerhalb der Analyse durchgeführt, aber eine Möglichkeit, diese Bedingungen in den Filter zu integrieren, besteht darin, eine Transformationsspalte mit den Bedingungen zu definieren, die Sie entfernen möchten.Dies gibt Ihnen die Möglichkeit, eine beliebige Where()-Klausel als boolesche Bedingung zu verwenden:
dt = Open("$SAMPLE_DATA/Big Class.jmp");
dt << Graph Builder(
Transform Column(
"Invalid Data",
Nominal,
Formula( :age > 18 | Starts With( :name, "Teacher" ) )
),
Show Control Panel( 0 ),
Variables( X( :height ), Y( :weight ), Overlay( :sex ) ),
Elements( Points( X, Y, Legend( 1 ) ), Smoother( X, Y, Legend( 2 ) ) ),
Local Data Filter(
Conditional,
Add Filter(
columns( :age, :Invalid Data ),
Where( :Invalid Data == 0 ),
Display( :age, N Items( 6 ) )
)
)
);
Dies setzt voraus, dass Sie nicht über eine Tabelle mit allen ungültigen Daten verfügen.Ein anderer Ansatz wäre die Verwendung des LDF in Kombination mit einem globalen Datenfilter, um die ungültigen Daten aus allen Berichten zu entfernen.Die globalen Zeilenzustände werden mit den auf jeder Plattform verwendeten Filterbedingungen kombiniert.
Betreff: Datenfilter: So legen Sie die Grenzwerte festDanke @danschikore , was für eine elegante Problemumgehung 
Der einzige Fall, in dem es fehlschlägt: Wenn ein Datensatz mit Nr. vorhanden ist gültig Daten, also keine Daten
Where( :Invalid Data == 0 )
aber andererseits würde sich sowieso niemand trauen, das Dashboard zu retten 
Betreff: Datenfilter: So legen Sie die Grenzwerte festDanke @danschikore für die Erläuterung.
Als ich meine Frage gestellt habe, habe ich nicht daran gedacht, eine Seite des Filters zu öffnen.
Die Idee war:
Wenn ich möchte, dass der Datenfilter fehlerhafte Datenpunkte (<0) oder andere genau definierte Daten (fehlende Daten, Indikatoreintrag) automatisch entfernt, müssen diese Daten im aktuellen Datensatz vorhanden sein – andernfalls passt sich der Datenfilter automatisch an.
In diesem Fall möchte ich alle Zeilen mit Namen „Referenz“ und fehlenden Namen entfernen:
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
Data Table( "Big Class" ):name << Set Modeling Type( "Multiple Response" );
Graph Builder(
Summary Statistic( "Median" ),
Graph Spacing( 4 ),
Variables( X( :height ), Y( :weight ), Overlay( :sex ) ),
Elements( Points( X, Y, Legend( 1 ) ), Smoother( X, Y, Legend( 2 ) ) ),
Local Data Filter(
Add Filter(
columns( :name ),
Match None( Where( :name == "reference","" ) ),
Display( :name, Find( Set Text( "" ) ) )
)
)
);
Wenn jedoch im aktuellen Datensatz keine solche Zeile vorhanden ist, wird der Datenfilter einfach ignoriert – und der Benutzer verliert diesen Teil, wenn er die aktuelle Version des Diagramms oder Dashboards speichert.Führen Sie einfach den Code aus und speichern Sie das resultierende Skript.
Wenn der Benutzer das nächste Mal das Diagramm öffnet, werden standardmäßig Zeilen mit fehlenden Namen und „Referenz“-Daten angezeigt und der Benutzer muss sie manuell ausschließen.
Dieses Problem wird noch schwerwiegender, sobald die Option verfügbar ist nicht wird für weitere Modellierungstypen verfügbar:
Datenfilter, neue Option: „nicht“
Betreff: Datenfilter: So legen Sie die Grenzen fest:folded_hands: Spalteneigenschaft: Inklusive Werte (auch bekannt als Erzwungene Werte ) beheben dieses Problem.