Bonjour à tous,
J'ai une table de données qui a plusieurs colonnes et chaque colonne a un nombre différent de lignes contenant des données. J'essaie de trouver un moyen d'obtenir les 30 dernières lignes de données dans chaque colonne. Par exemple, la colonne 1 a 50 lignes et la colonne 2 a 75 lignes et je veux que chaque ligne contienne les 30 dernières lignes d'informations. Y a-t-il un script qui peut faire ça ?
Essayez cette version.
Names Default to Here( 1 );
// create the example
dt = New Table( "Odd Lengths",
New Column( "Column 1", Numeric, Continuous, Values( 1::50 ) ),
New Column( "Column 2", Numeric, Continuous, Values( 1::75 ) ),
New Column( "Column 3", Numeric, Continuous, Values( 1::28 ) )
);
Wait( 0 );
// process the data table
For( col = N Col( dt ), col > 0, col--,
values = Column( dt, col ) << Get Values;
not missing = Sum( Not( Is Missing( values ) ) );
If( not missing < 30,
dt << Delete Columns( Column( dt, col ) ),
end = Contains( values, . ) - 1;
If( end == -1, end = N Row( dt ) );
view = end - 29 :: end;
Column( dt, col ) << Set Values( values[view] );
);
);
dt << Select Where( Row() > 30 ) << Delete Rows;