Durch das Verknüpfen eines Spaltenumschalters mit einem Diagramm werden Einträge aus der Liste entferntHallo,
Wenn ein Spaltenumschalter mit einem Diagramm verknüpft ist, scheint JMP nach „bereits vorhandenen“ Spalten im Diagramm zu suchen und diese aus der Liste der Einträge des Spaltenumschalters zu entfernen.
Meistens ist dies eine nette Funktion, da sie Kollisionen des Spaltenumschalters und bereits bestehender Verknüpfungen zwischen dem Diagramm und der Spalte verhindert.
Aber manchmal gibt es Fälle, in denen diese Funktion weh tut.
Im folgenden Beispiel werden drei Spalten von den beiden Spaltenumschaltern für die X- und Y-Achse des Diagramms gemeinsam genutzt – die Startwerte werden jedoch automatisch aus dem „anderen“ Spaltenumschalter entfernt:

Bei „Gewicht“ kann es dennoch zu einer Kollision kommen. Versucht man aber, beide Spaltenumschalter auf „Gewicht“ zu stellen, wird dies automatisch erkannt und verhindert.
Daher ist die automatische Entfernung hier nicht so hilfreich, wie sie sein sollte.
Wie bekomme ich die fehlenden Werte wieder in die Liste?
Eine Problemumgehung besteht darin, mit bedeutungslosen Startwerten des Diagramms zu beginnen (die dann aus der Spaltenumschalterliste entfernt werden können) und die Startwerte dann über JSL in aussagekräftigere Werte zu ändern.
Gibt es eine einfachere Möglichkeit, z. B. einen Parameter für den LinkPlatform-Befehl, um die automatische Entfernung zu deaktivieren?
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
new window("test",
cs1=dt << Column Switcher(:sex, {:sex, :height, :weight});
cs2=dt << Column Switcher(:height, {:sex, :height, :weight});
gb = Graph Builder(
Size( 534, 460 ),
Show Control Panel( 0 ),
Variables( X( :sex ), Y( :height ) ),
Elements( Points( X, Y, Legend( 1 ) ) )
)
);
cs1 << Link Platform(gb );
cs2 << Link Platform(gb );
Erweiterte statistische ModellierungAutomatisierung und SkripterstellungVerbraucher- und MarktforschungDatenmischung und -bereinigungDatenexploration und -visualisierungMassenanpassungErgebnisse teilen und kommunizierenBetreff: Durch das Verknüpfen eines Spaltenumschalters mit einem Diagramm werden Einträge aus der Liste entferntWenn mehr Vorkommen des Strings im Code ersetzt werden als ursprünglich erwartet – funktioniert das auch mit „inline“ definierten Formeln?
Kann ich beispielsweise einen Spaltenumschalter verwenden, um ein kumulatives Wahrscheinlichkeitsdiagramm (X- und Y-Achse) in eine andere Variable zu ändern?
--> hm, leider nicht. nur die x-Achse wird geändert, die auf der y-Achse verwendete Formel bleibt gleich 
Open( "$SAMPLE_DATA/Big Class.jmp" );
Graph Builder(
Size( 534, 464 ),
Show Control Panel( 0 ),
Variables(
X( :height ),
Y(
Transform Column(
"Cumulative Probability[height]",
Formula( Col Rank( :height ) / (Col Number( :height ) + 1) )
)
)
),
Elements( Points( X, Y, Legend( 3 ) ), Smoother( X, Y, Legend( 4 ) ) ),
Column Switcher( :height, {:height, :weight} )
)Betreff: Durch das Verknüpfen eines Spaltenumschalters mit einem Diagramm werden Einträge aus der Liste entferntÜbrigens:
Man muss darauf achten, dass Dummy-Spaltennamen verwendet werden, die kompliziert genug sind. Mit „x“ und „y“ hatte ich Glück.
Der folgende Code endet mit der Warnung:
Cannot find OutlineBox[ "Grweightph Builder" ] at {}Scheint, dass der erste Auslöser des ColumnSwitcher das „a“ im Outline-Box-Code „Graph Builder“ in „weight“ geändert hat.
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dt << new column("a");
new window("test",
cs1=dt << Column Switcher(:a, { :weight, :sex});
gb = Graph Builder(
Size( 534, 460 ),
Show Control Panel( 0 ),
Variables( X( :a ), Y( :height ) ),
Elements( Points( X, Y, Legend( 1 ) ) ),
SendToReport(
Dispatch( {}, "Graph Builder", OutlineBox, Set Title( "test" ) )
)
));
cs1 << Link Platform(gb );
cs1 << Set Current("weight");
cs1 << Set Current("sex");Betreff: Durch das Verknüpfen eines Spaltenumschalters mit einem Diagramm werden Einträge aus der Liste entferntIn früheren Versionen von JMP schaltete der Spaltenumschalter alle Instanzen der ausgewählten Spalte aus. Wenn Sie also eine Anpassung von y durch In neueren Versionen von JMP wurde dies mit der von Ihnen erwähnten Warnung verhindert. Der Verlauf dahinter sagt mir, dass der Spaltenumschalter nicht an eine Achse oder einen Gruppierungswert gebunden ist, sondern versucht, alle Instanzen zu ersetzen, und die neuen Versionen von JMP verhindern lediglich die Kollisionen.
Ich erhalte die gleiche Warnung mit dem Code, den Sie oben gepostet haben.Wenn Sie dies tun müssen, sollten Sie darüber nachdenken, ein Skript mit zwei Listenfeldern zu erstellen. Wenn eine andere Spalte ausgewählt wird, löschen Sie das Diagramm, rufen Sie sowohl die x- als auch die y-Spalte ab und zeichnen Sie das Diagramm neu. Sie können verwenden Das Als Referenz.
Betreff: Durch das Verknüpfen eines Spaltenumschalters mit einem Diagramm werden Einträge aus der Liste entferntDies ist die Version mit den Dummy-Startwerten.
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dt << new column("x");
dt << new column("y");
new window("test",
cs1=dt << Column Switcher(:x, {:height, :weight, :sex});
cs2=dt << Column Switcher(:y, {:height, :weight, :sex});
gb = Graph Builder(
Size( 534, 460 ),
Show Control Panel( 0 ),
Variables( X( :x ), Y( :y ) ),
Elements( Points( X, Y, Legend( 1 ) ) )
)
);
cs1 << Link Platform(gb );
cs2 << Link Platform(gb );
cs1 << Set Current("weight");
cs2 << Set Current("height");Betreff: Durch das Verknüpfen eines Spaltenumschalters mit einem Diagramm werden Einträge aus der Liste entferntHallo Jamo.
Ja, Ihr Beispiel ist definitiv einer der vielen Fälle, in denen:
Dies ist eine nette Funktion, da sie Kollisionen des Spaltenumschalters und bereits bestehender Verknüpfungen zwischen dem Diagramm und der Spalte verhindert.
Ich stimme vollkommen zu.
Meistens hilft die automatische Entfernungsfunktion, keine Frage.
Meistens, aber nicht immer.
Für N>=2 Spaltenumschalter und N>2 Einträge in den Listen könnte der Benutzer die Spaltenumschalter endlos durch interessante Versionen des Dashboards blättern.
Und jede Kollision wird durch den Hinweis „Umschalten nicht möglich“ verhindert.
Daher wäre ein Parameter hilfreich, um die Funktion zu aktivieren oder zu deaktivieren.
Betreff: Durch das Verknüpfen eines Spaltenumschalters mit einem Diagramm werden Einträge aus der Liste entferntIch frage mich nur, was passieren würde, wenn Sie die folgende Situation haben:
- X-Achse: Höhe, Y-Achse Geschlecht
- Spaltenumschalter, der versucht, beides zu haben
- Sie ändern den Wert im Spaltenumschalter. Welcher Wert soll wie aktualisiert werden?
Einfaches Beispiel, bei dem die Höhe entfernt wird, weil wir den Spaltenumschalter auf der X-Achse mit :sex initialisieren und :height entfernt wird, weil es sich bereits auf der Y-Achse befindet.
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
New Window("test",
gb = dt << Graph Builder(
Size(534, 460),
Show Control Panel(0),
Variables(X(:sex), Y(:height)),
Elements(Points(X, Y, Legend(1))),
)
);
gb << Column Switcher(:sex, {:sex, :height, :weight});
Wenn ein Spaltenumschalter versucht, mehrere Elemente im Diagramm gleichzeitig zu ändern, wird eines davon entfernt und dies wird mit dem entfernten Spaltennamen im Protokoll ausgegeben:
Einige ausgewählte Spalten wurden in der Analyse verwendet. Die folgenden Spalten wurden aus der Auswahlliste entfernt, um eine versehentliche Ersetzung zu vermeiden.
Höhe