Wie verschiebt man eine neue Spalte nach dem Erstellen mithilfe eines Skripts so, dass sie zur ersten Spalte wird?Hallo allerseits,
Hintergrund:
Ich versuche also, einen Prozess zu automatisieren, den ich zum Abrufen von Beispieldaten aus einer SQL-Datenbank verwende. Ich verwende den Datenbankabfrage-Builder und extrahiere Daten mit einem Post-Query-Skript, in das der unten stehende Dummy-Code eingefügt wird.
Problem:
Ich habe derzeit das Skript, um eine neue Spalte zu erstellen und ihr die gewünschten Formeln zu geben, aber was wirklich nützlich wäre, wäre, ein paar Codezeilen zu haben, um dann einige dieser neuen Spalten zu verschieben.
Mein Dummy-Code lautet wie folgt:
"
New Column( "ColumnToMove",
Numeric,
"Nominal",
Format( "Best", 12 )
Formula(1));
Move Selected Columns({“ColumnToMove”}, To First);
"
(Bitte entschuldigen Sie etwaige Missverständnisse hinsichtlich der Funktionsweise dieser Skriptsprache, ich bin derzeit noch sehr neu darin.)
Vielen Dank für jede Hilfe
Betreff: Wie verschiebt man eine neue Spalte nach dem Erstellen mithilfe eines Skripts so, dass sie zur ersten Spalte wird?<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />An der Anordnung von Spalten ist nichts auszusetzen, und es ist großartig, beim Codieren für Ordnung zu sorgen.Allerdings kann es Ihren Code verlangsamen.Das Offensichtliche ist, dass es einen zusätzlichen Schritt hinzufügt, der eigentlich nichts bewirkt.Das Neuordnen einer unsichtbaren Tabelle geht schneller, aber andererseits sind die Tabellen unsichtbar, sodass das Neuordnen keinen Zweck hat.
Darüber hinaus könnte sich ein unerfahrener Programmierer auch angewöhnen, Spalten neu anzuordnen, um die eine oder andere Analyse für die ersten oder letzten fünf Spalten durchzuführen, was eine schlechte Angewohnheit ist und zu weniger flexiblem, langsamerem Code führt.
Schließlich ist die Entscheidung zwischen dem Hinzufügen von Spalten mit SQL oder JSL eine persönliche Meinung.Offensichtlich können beide eine zusätzliche Spalte hinzufügen, wobei Spalte 3 = Spalte 1 + Spalte 2. Bei SQL wird dadurch die Verarbeitungsleistung vom Host-Computer auf die Server-CPU übertragen, die langsamer/schneller sein könnte, aber auf allen Plattformen konsistenter ist.SQL bietet den zusätzlichen Vorteil, dass Sie diese Spalte an jedem beliebigen Ort platzieren können, ohne ein oder zwei zusätzliche Schritte hinzuzufügen.Abgesehen davon bevorzuge ich oft die Verwendung von JSL zum Hinzufügen von Spalten.
Betreff: Wie verschiebt man eine neue Spalte nach dem Erstellen mithilfe eines Skripts so, dass sie zur ersten Spalte wird?Vielen Dank an alle für eure Hilfe, ich weiß das wirklich zu schätzen. Habe meine Antwort und noch mehr bekommen
(msharp – der Grund, warum ich SQL nicht verwende, um einen größeren Teil der Arbeit zu erledigen, liegt darin, dass ich den Query Builder verwende, um meine Daten aus SQL abzurufen, und ich glaube nicht, dass Sie weitere Anpassungen an dem von ihm verwendeten SQL vornehmen können. Jetzt konnte ich meine gesamte Abfrage in die Skriptsprache schreiben und die gesamte Arbeit in SQL statt in JMP erledigen. Allerdings finde ich es sehr nützlich, vor dem Extrahieren jedes Mal mit dem Abfrage-Builder verschiedene Variablen auswählen zu können (anstatt sie hart zu codieren und die Einträge jedes Mal im Skript suchen zu müssen). Allerdings kann es sein, dass mir etwas fehlt.
Ich stimme auch mit der Präsentationsebene überein, aber im Moment finde ich sie ziemlich nützlich, während ich mich mit den zu organisierenden Dingen auseinandersetze. Außerdem habe ich eine ganze Reihe von Spalten (mein nächster Schritt wird darin bestehen, sie mithilfe der Skriptsprache zu gruppieren), was bedeutet, dass es bei der Datenexploration (was ich derzeit mache) nützlich ist, die relevanteren Spalten näher zur Hand zu haben. Auch wenn ich den Graph Builder usw. verwende, wird die Datenerkundung etwas einfacher. Danke nochmal für all deine Hilfe)
(Jeff Perkinson – Nein, das wusste ich nicht. Vielen Dank, dass Sie mich darauf aufmerksam gemacht haben. Es wird von nun an sehr häufig verwendet werden)
Betreff: Wie verschiebt man eine neue Spalte nach dem Erstellen mithilfe eines Skripts so, dass sie zur ersten Spalte wird?Toller Tipp.
Ich verschiebe grundsätzlich nie Spalten.Ö Die Reihenfolge der Spalten ist seitdem eher eine Frage der Präsentation Die Daten sollten nicht von der Spaltenreihenfolge abhängig sein.Überlassen Sie die Präsentation am besten einer Präsentationsebene wie einem Diagramm oder Diagramm und nicht einer Datentabelle.
Betreff: Wie verschiebt man eine neue Spalte nach dem Erstellen mithilfe eines Skripts so, dass sie zur ersten Spalte wird?
Übrigens: Falls Sie es noch nicht gefunden haben, das Skriptindex unter dem Hilfe Menü ist dein Freund.

Betreff: Wie verschiebt man eine neue Spalte nach dem Erstellen mithilfe eines Skripts so, dass sie zur ersten Spalte wird?Wenn Sie die Spaltennamen angeben Ausgewählte Spalten verschieben Sie müssen sie nicht auswählen, um sie zu verschieben.
dt = New Table( "Untitled", Add Rows( 1 ),
New Column( "First", Numeric, "Continuous", Format( "Best", 12 ),
Set Values( [1] ) ),
New Column( "Second", Numeric, "Continuous", Format( "Best", 12 ),
Set Values( [2] ) )
);
dt << New Column( "ColumnToMove", Numeric, "Nominal", Format( "Best", 12 ), Formula(1));
wait(2); // Put a delay to see the effect
dt << Move Selected Columns({"ColumnToMove"}, To First);
Betreff: Wie verschiebt man eine neue Spalte nach dem Erstellen mithilfe eines Skripts so, dass sie zur ersten Spalte wird?Das Verschieben von Spalten ist möglich, aber es fühlt sich immer so an, als wären zwei oder drei zusätzliche Schritte erforderlich, als es sollte.Hauptsächlich können Sie nur ausgewählte Spalten verschieben, und es ist nicht einfach, Spalten auszuwählen.
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dt << Go To( :Age );
Wait( 2 );
dt << Move Selected Columns( To last );
dt << Clear Column Selection;
Wait( 2 );
dt << Reverse Order;
Gibt es einen Grund, warum Sie Ihre SQL nicht einfach ändern können, um die Spalten in der gewünschten Reihenfolge zu erhalten?SQL ist eine ausreichend robuste Sprache, sodass Sie die meisten Spaltenskripte direkt im Datenabruf ausführen können.
Betreff: Wie verschiebt man eine neue Spalte nach dem Erstellen mithilfe eines Skripts so, dass sie zur ersten Spalte wird?Ich denke, Sie können entweder „Mehrere Spalten hinzufügen“ verwenden, um die Position beim Erstellen festzulegen, oder die von Ihnen erwähnte Meldung „Ausgewählte Spalten verschieben“ verwenden:
dt=currentdatatable();
dt<<ADD multiple="" columns=""></ADD>
Für beide Methoden können Sie den Speicherort mit After(col) angeben