Skript zum Transponieren von Daten in einer vorhandenen DatentabelleHallo,
Ich finde gerne ein Skript zum Transponieren von Daten. Und diese Daten sollten in der letzten Zeile einer vorhandenen Datei eingefügt werden. So transponiere ich die Daten:
Datentabelle ( „pisnapshot Abfrage AL2“ ) << Transponieren (
Säulen ( :Wert ) ,
Nur ausgewählte Zeilen transponieren ( 1 ) ,
Ausgabetabelle ( „AL2 Snapshot Transpose“ )
) ;
Datentabelle ( „pisnapshot Abfrage AL2“ )
Damit kopiert JMP die Daten jedes Mal, wenn eine neue Datentabelle erstellt wird. Wie ist es möglich, es in eine bestehende Datei zu kopieren (Datei ist geöffnet)?
Mir kam die Idee, die transponierte Zeile („AL2 Snapshot Transpose“) auszuwählen und in meine Zieldatei zu kopieren. Ich konnte jedoch keinen Befehl zum Kopieren der Zeilenwerte finden.
Betreff: Skript zum Transponieren von Daten in einer vorhandenen DatentabelleIhre Lösung ist besser, wenn Sie die Spalte „:Tag“ für den Abgleich von Spaltennamen habenBetreff: Skript zum Transponieren von Daten in einer vorhandenen DatentabelleVielen Dank für die schnelle Antwort.
In der Zwischenzeit habe ich etwas anderes ausprobiert. Deshalb habe ich die Funktion „konzentrieren“ verwendet:
//transponse table
Data Table( "pisnapshot Abfrage AL2" ) << Transpose(
columns( :value ),
Transpose selected rows only( 1 ),
Label( :tag ),
Output Table( "AL2 Snapshot Transpose" ));
//add Table "AL2 Snapshot Transpose" to exsiting table "AL2 Snapshot"
Data Table( "AL2 Snapshot" ) << Concatenate(Data Table( "AL2 Snapshot Transpose" ),Append to first table);
//close table with “no save”
Close(Data Table( "AL2 Snapshot Transpose" ), No Save);
Und es funktioniert perfekt. Aber ich werde deine Lösung ausprobieren.
Betreff: Skript zum Transponieren von Daten in einer vorhandenen DatentabelleIch denke, das folgende Skript ist eine einfachere Lösung für das, was Sie angegeben haben
Names Default To Here( 1 );
dt = Current Data Table();
// Get the selected rows
selRows = dt << get selected rows;
If( N Rows( selRows ) > 0,
// Add the row to place the data into
dt << Add Rows( 1 );
// Go from column to column and move the selected data to the new row
For( i = 1, i <= N Cols( dt ), i++,
Column( dt, i )[N Rows( dt )] = Column( dt, N Col( dt ) )[selRows[i]]
);
// Delete the last column
dt << delete columns( Column( dt, N Cols( dt ) ) );
);