Ciao a tutti,
Ho una tabella di dati che ha più colonne e ogni colonna ha una diversa quantità di righe con dati al suo interno. Sto cercando di trovare un modo per ottenere le ultime 30 righe di dati in ogni colonna. Ad esempio, la colonna 1 ha 50 righe e la colonna 2 ha 75 righe e voglio che ogni riga abbia le ultime 30 righe di informazioni. C'è uno script che può farlo?
Prova questa versione.
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;