Graph Builder: Leere Untergraphen mit JSL entfernenHallo,
Ich verwende JSL, um Graph Builder-Plots zu erstellen. Diese Diagramme werden gegen eine oder mehrere Variablen aufgetragen. Das Problem besteht darin, dass der Graph Builder manchmal ein leeres Diagramm ohne Wert erzeugt. Gibt es eine Methode, um diese leeren Unterdiagramme zu entfernen? Zum besseren Verständnis der Problematik habe ich ein Beispiel beigefügt. Im Beispiel ALICE, DAVID usw. haben leere Grundstücke. Das sind diejenigen, die ich mithilfe eines JSL-Skripts entfernen möchte.
Ich denke darüber nach, die Funktion „Empty() OR Is Missing()“ zu verwenden, um zu überprüfen, ob eine bestimmte Zelle leer ist, und nicht, sie zu zeichnen.
Meine Frage ist, ob es eine Möglichkeit gibt, diese bestimmte Zelle auszuwählen und aus dem Diagramm zu entfernen.
Danke !

Automatisierung und SkripterstellungGrundlegende Datenanalyse und ModellierungBetreff: Graph Builder: Leere Untergraphen mit JSL entfernenAuf Tabellenebene könnten Sie versuchen, leere Zellen auszuwählen und sie auf ausgeblendet und ausgeschlossen zu setzen
if(fehlt()==1...
Betreff: Graph Builder: Leere Untergraphen mit JSL entfernenWenn Sie wissen, welche Werte leer sein werden, können Sie Ihrer Graph Builder-Nachricht eine Where-Anweisung hinzufügen, um diese herauszufiltern. Oder Sie können einen ausgeblendeten lokalen Datenfilter hinzufügen, um diese auszublenden
Betreff: Graph Builder: Leere Untergraphen mit JSL entfernenIch würde es mit einem lokalen Datenfilter machen. Sie können dieses spezielle Beispiel wie folgt skripten:
Names Default To Here( 1 );
dt = Data Table( "Big Class" );
thenames = dt:name[(dt << Get Rows Where( Is Missing( :height ) ))];
Graph Builder(
Size( 857, 534 ),
Show Control Panel( 0 ),
Variables( Y( :height ), Group X( :name ) ),
Elements( Histogram( Y, Legend( 4 ) ) ),
Local Data Filter(
Inverse( 1 ),
Add Filter(
columns( :name ),
Where( :name == thenames ),
Display( :name, N Items( 15 ), Find( Set Text( "" ) ) )
)
)
);
Das geht auch ganz einfach mit den Menüs im Graph Builder.

Betreff: Graph Builder: Leere Untergraphen mit JSL entfernenDer numerische Datenfilter verfügt über die Option „Fehlend auswählen“ , mit der Sie filtern können, ohne in Namen konvertieren zu müssen. Dadurch wird auch die Filter-Where-Klausel im Graph Builder angezeigt, was dem Vorschlag von @jthi , dem Graph Builder-Start direkt eine Where-Klausel hinzuzufügen, sehr ähnlich ist. Der Hauptvorteil des Filters besteht darin, dass Sie hin und her wechseln können.
dt = Open("$SAMPLE_DATA/Big Class.jmp");
dt << Graph Builder(
Size( 857, 534 ),
Show Control Panel( 0 ),
Variables( Y( :height ), Group X( :name ) ),
Elements( Histogram( Y, Legend( 4 ) ) ),
Local Data Filter(
Inverse( 1 ),
Add Filter( columns( :height ), Select Missing( :height ) )
)
);
Betreff: Graph Builder: Entfernen leerer Untergraphen mit JSLDas Problem mit Inverse(1) und Select Missing:
Die Umkehrung (1) wirkt sich auf die GESAMTE Auswahl des Datenfilters aus, nicht nur auf ein bestimmtes Element.
Das heißt: Dieser Ansatz lässt sich nicht mit zusätzlichen Filtern kombinieren.
zB NICHT wählbar:
- Inverse von (fehlende Höhenwerte)
- Geschlecht = "M"
Möglicherweise wird es in einer zukünftigen Version von Jmp (> 18) eine Option geben, einzelne Teile des Datenfilters nicht zu „invertieren“:
Datenfilter, neue Option: „nicht“
Betreff: Graph Builder: Entfernen leerer Untergraphen mit JSLDiese Funktion ist bereits vorhanden.
Anstelle von „UND“ verwenden Sie im lokalen Datenfilter „ODER“.
In diesem Fall fehlen mir Höhendaten und eine Spalte mit einem Indikator für fehlende Höhe.
Im Filter kann ich Folgendes tun: Wobei ((Geschlecht = F) oder (Größenindikator fehlt = 1))

Betreff: Graph Builder: Entfernen leerer Untergraphen mit JSLHallo @Byron_JMP , tut mir leid, die Lösung scheint nicht zu passen:
zeige mir alle Datenpunkte die erfüllen:
1) nicht fehlende Daten -> Inverse von (fehlenden Höhenwerten)
UND
2) Geschlecht = "M"
vielleicht mit einem "Inversen" drumherum...
Man könnte für diesen Spezialfall einen passenden Datenfilter generieren – und jeder Benutzer mit einem Doktortitel in Mengenoperationslogik würde sich darüber freuen.
Für eine vielseitige, reibungslose und einfache Benutzeroberfläche warte ich sehnsüchtig auf die Jmp-Version mit der Option „nicht“, die Folgendes ermöglicht:

Betreff: Graph Builder: Entfernen leerer Untergraphen mit JSLDu kannst die invertierte Auswahl jederzeit umkehren. Aber ich stimme deinem Wunsch hier zu.

Betreff: Graph Builder: Entfernen leerer Untergraphen mit JSLDer Schlüssel zum Funktionieren der Lösung liegt im Hinzufügen einer Spalte mit der Formel: fehlt(:Spaltenname)
dies gibt eine 0 oder eine 1 in der Formelspalte zurück. 0 = fehlt nicht.
Indikatorspalten sind Ihr Freund.