Neue Spalte verschieben<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Als Beispiel für Big Class.jmp möchte ich die erstellte neue Spalte nach Altersspalte verschieben.
Wie im folgenden Skript funktioniert das Skript zum Verschieben ausgewählter Spalten nicht, die neue Spalte wird am Ende trotzdem erstellt.
Kann mir jemand weiterhelfen? Vielen Dank,
Namen standardmäßig hier( 1 );
Open( "$SAMPLE_DATA/Big Class.jmp" );
Neue Spalte( „Beispiel“, Numerisch, Fortlaufend, Breite( 5 ), <
<Betreff: Neue Spalte verschieben
Danke, gut zu wissen, das hilft, weil ich mit << Ausgewählte Spalten abrufen eine Liste der vom Benutzer ausgewählten Spalten in meinem Skript abrufe. Ich bin vom Syntaxleitfaden abgewichen, wo sich After("name") anscheinend wie Column(dt,"name") verhält. Ich bin immer noch verwirrt über eine Liste von Spalten im Vergleich zu einer Liste von Spaltennamen im Vergleich zu einer Liste von Zeichenfolgen der Spaltennamen und wo diese zum Verweisen auf eine Spalte verwendet werden können.
Sie können Spalten auch verschieben, ohne sie zuerst in der Datentabelle auszuwählen, indem Sie die folgende Syntax verwenden.
dt << Ausgewählte Spalten verschieben( {"name"}, To First );
dt << Ausgewählte Spalten verschieben( {"name"}, To Last );
dt << Ausgewählte Spalten verschieben( {"name"}, After( "name" ) );
Betreff: Neue Spalte verschiebenEval() wäre nicht erforderlich, wenn a zugewiesen wird Spalte() anstelle einer Zeichenfolge zu myAfter
Beispiel:
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
myAfter = Column(dt, "sex");
dt << New Column("example", <<SET each="" value=""></SET>Betreff: Neue Spalte verschiebenHier ist mein Problem. Wenn ich eine Variable für After("name") verwende, geht es zum Dialog:
Namen standardmäßig hier ( 1 );
Offen ( „$SAMPLE_DATA/Big Class.jmp“ );
dt = Aktuelle Datentabelle ();
Neue Spalte ( "Beispiel" , Numerisch, Kontinuierlich, Breite( 5 ), << Legen Sie jeden Wert fest ( 100 ) );
myAfter = "Sex" ;
dt << Ausgewählte Spalten verschieben ({ "Beispiel" },After(myAfter));
Wenn ich die Auswertung mit After(Eval(myAfter)) durchführe, funktioniert es. Wenn Sie eine Variable in der Liste haben, müssen Sie sie auch zuerst auswerten.
Namen standardmäßig hier ( 1 );
Offen ( „$SAMPLE_DATA/Big Class.jmp“ );
dt = Aktuelle Datentabelle ();
Neue Spalte ( "Beispiel" , Numerisch, Kontinuierlich, Breite( 5 ), << Legen Sie jeden Wert fest ( 100 ) );
myAfter = "Sex" ;
dt << Ausgewählte Spalten verschieben ({ "Beispiel" },Nach( Bewertung (myAfter)));
Betreff: Neue Spalte verschiebenEs scheint, dass das Senden der Nachricht an die angenommene aktuelle Datentabelle nicht gefällt, Ihr Code hat dies nicht angegeben. Es funktioniert, wenn Sie die Datentabelle wie folgt angeben. Ich arbeite an einer ähnlichen, neuen Spalte, die ich in einer großen Anzahl von Spalten für den Benutzer durch die alte ersetzen möchte, sodass sie sich an der gleichen Stelle befindet, an der sie es gewohnt sind. Meine Textzeichenfolge geht dorthin, wo „Beispiel“ hingehört, aber jetzt erscheint das Popup-Fenster „Spalte verschieben“. Zumindest weiß ich, dass das „Nachher“ funktionieren sollte. Mit JMP13.0.
Namen standardmäßig hier ( 1 );
Offen ( „$SAMPLE_DATA/Big Class.jmp“ );
dt = Aktuelle Datentabelle ();
Neue Spalte ( "Beispiel" , Numerisch, Kontinuierlich, Breite( 5 ), << Legen Sie jeden Wert fest ( 100 ) );
dt << Ausgewählte Spalten verschieben ({ "Beispiel" },Nach( "Sex" ));
Betreff: Neue Spalte verschiebenHallo,
Dies kann durch ein einfaches Verfahren erfolgen. Gehen Sie in Ihrer Datentabelle zu „Spalten“ und wählen Sie „Spalten neu anordnen“. Anschließend können Sie die Reihenfolge der Spalte nach Ihren Wünschen ändern. Ich wünschte, es hätte geholfen.
Betreff: Neue Spalte verschiebenTut mir leid, ich habe festgestellt, dass das so sein sollte
dt=Aktuelle Datentabelle();
dt<