BookmarkSubscribe
Choose Language Hide Translation Bar

## how to select rows with a specific number that user input

Hello everyone,

I am working on a project that helps users to pick modules based on their input. For example, if user input 5, the script would give user 5 modules that been selected. Could anyone one help me with the "select" part?

2 ACCEPTED SOLUTIONS

Accepted Solutions
Super User

## Re: how to select rows with a specific number that user input

This should work

``````Names Default To Here( 1 );
dt << Select Where( Column( "Shippable to Reliability?" )[Row()] == 1 );
dtsub = dt << Subset( Selected Rows( 1 ), Output Table( "Best Modules" ) );

dtsub << New Column( "random", formula( Random Uniform() ) );

dtsub = dtsub << sort( by( :random ), order( ascending ), replace table( 1 ) );

dtsub << select where( Row() > 5 );
dtsub << delete rows;dtsub << delete columns("random");``````
Jim
Highlighted
Super User

## Re: how to select rows with a specific number that user input

Just for fun, an alternate method.

``````Names Default To Here( 1 );
dt   = open("\$sample_data/big class.jmp");
idx  = Random Shuffle( dt <<  Get Rows Where( Column( "sex" )[]== "F" ) );
//get the matching rows but mix up the order;
show(idx); //for demonstration

//use only 5 of them
dtsub =  << Subset( rows(idx[1::5]), Output Table( "Best Modules" ) );``````
3 REPLIES 3
Super User

## Re: how to select rows with a specific number that user input

This should work

``````Names Default To Here( 1 );
dt << Select Where( Column( "Shippable to Reliability?" )[Row()] == 1 );
dtsub = dt << Subset( Selected Rows( 1 ), Output Table( "Best Modules" ) );

dtsub << New Column( "random", formula( Random Uniform() ) );

dtsub = dtsub << sort( by( :random ), order( ascending ), replace table( 1 ) );

dtsub << select where( Row() > 5 );
dtsub << delete rows;dtsub << delete columns("random");``````
Jim
Highlighted
Super User

## Re: how to select rows with a specific number that user input

Just for fun, an alternate method.

``````Names Default To Here( 1 );
dt   = open("\$sample_data/big class.jmp");
idx  = Random Shuffle( dt <<  Get Rows Where( Column( "sex" )[]== "F" ) );
//get the matching rows but mix up the order;
show(idx); //for demonstration

//use only 5 of them
dtsub =  << Subset( rows(idx[1::5]), Output Table( "Best Modules" ) );``````

## Re: how to select rows with a specific number that user input

Thank you so much for your help!