cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Have your say in shaping JMP's future by participating in the new JMP Wish List Prioritization Survey
Choose Language Hide Translation Bar
hcarr01
Level VI

sélection de lignes

Je cherche comment sélectionner les lignes dont l’avant dernier chiffre est 4, par exemple sélectionner la ligne qui a pour valeur « 23546 »

1 ACCEPTED SOLUTION

Accepted Solutions
txnelson
Super User

Re: sélection de lignes

Here is a simple example that selects the rows where the penultimate digit is 4

txnelson_0-1678289510224.png

Names Default To Here( 1 );
dt = New Table( "hcarr01",
	add rows( 100 ),
	New Column( "example", set each value( Random Integer( -1000, 1000 ) ) )
);

// This is the selection statement to select the rows whose penultimate digit is 4
dt << select where( Substr( Char( :example ), -2, 1 ) == "4" );
Jim

View solution in original post

3 REPLIES 3

Re: sélection de lignes

One way to do this would be to grab the left-most digit of the right-most 2 digits, then see if it is 4. Then, select the rows where this formula returns a 1. Sample table attached.

Jed_Campbell_0-1678289110558.png

 

txnelson
Super User

Re: sélection de lignes

Here is a simple example that selects the rows where the penultimate digit is 4

txnelson_0-1678289510224.png

Names Default To Here( 1 );
dt = New Table( "hcarr01",
	add rows( 100 ),
	New Column( "example", set each value( Random Integer( -1000, 1000 ) ) )
);

// This is the selection statement to select the rows whose penultimate digit is 4
dt << select where( Substr( Char( :example ), -2, 1 ) == "4" );
Jim
Craige_Hales
Super User

Re: sélection de lignes

It's good to have choices. Here's one that avoids the string conversion.

dt << select where( 40 <= Mod( Abs( :example ), 100 ) < 50 );

You might prefer one of the others that uses conversion to string because...well, if Jim hadn't included negative numbers, I'd have left out the abs(...).

 

@DonMcCormack - challenge!

Craige