Script pour transposer des données dans une table de données existanteSalut,
J'aime trouver un script pour transposer les données. Et ces données doivent être insérées à la dernière ligne d'un fichier existant. Voici comment je transpose les données :
Tableau de données ( "Pisnapshot Abfrage AL2" ) << Transposer (
Colonnes ( :valeur ) ,
Transposer uniquement les lignes sélectionnées ( 1 ) ,
Tableau de sortie ( "Transposition d'instantané AL2" )
) ;
Tableau de données ( "Pisnapshot Abfrage AL2" )
Avec cela, JMP copie les données à chaque fois qu'une nouvelle table de données est créée. Comment est-il possible de le copier dans un fichier existant (le fichier est ouvert) ?
J'ai eu l'idée de sélectionner la ligne transposée ("AL2 Snapshot Transpose") et de la copier dans mon fichier cible. Mais je n'ai pas pu trouver de commande pour copier les valeurs de ligne.
Re : Script pour transposer des données dans une table de données existantela vôtre est une meilleure solution si vous disposez de la colonne ":Tag" pour la correspondance des noms de colonnesRe : Script pour transposer des données dans une table de données existanteMerci pour la réponse rapide.
Pendant ce temps, j'ai essayé quelque chose de différent. J'ai donc utilisé la fonction « concentrer » :
//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);
Et ça fonctionne parfaitement. Mais je vais essayer votre solution.
Re : Script pour transposer des données dans une table de données existanteJe pense que le script ci-dessous est une solution plus simple à ce que vous avez déclaré vouloir
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 ) ) );
);