cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Choose Language Hide Translation Bar
hcarr01
Level VI

Base de données

 

Bonjour à tous,
 
j’ai un base de données par rapport à laquelle j’aimerai trouver « l’inférieur » d’une certaine valeur.
 
Un aperçu de la BD ci-dessous :
hcarr01_1-1685688483827.png
 
Par exemple par rapport à la colonne « 4011 » :
 
1- Pour la première ligne j’aimerais trouver le deuxième nombre inférieur à « 86 » et le renseigner dans une nouvelle colonne
2- Pour la deuxième ligne j’aimerais trouver le deuxième nombre inférieur à « 2 » et le renseigner dans une nouvelle colonne
 
Cette nouvelle colonne est visible en verte dans la base de données.
 
Merci pour votre aide !

 

1 ACCEPTED SOLUTION

Accepted Solutions
jthi
Super User

Re: Base de données

Very non-dynamic solution using datatable subscripting

Names Default To Here(1);

dt = Open("$DOWNLOADS/TEST(4).jmp");

cols_of_interest = {"712", "714", "720", "760", "1200", "4011", "5500"};

dt << New Column("Number", Numneric, Continuous, << Set Each Value(
	smaller_validx = Loc(dt[Row(), cols_of_interest] < dt[Row(), "4011"]);
	Sort List((dt[Row(), cols_of_interest][smaller_validx]))[N Items(smaller_validx) - 1];
));
-Jarmo

View solution in original post

2 REPLIES 2
jthi
Super User

Re: Base de données

Very non-dynamic solution using datatable subscripting

Names Default To Here(1);

dt = Open("$DOWNLOADS/TEST(4).jmp");

cols_of_interest = {"712", "714", "720", "760", "1200", "4011", "5500"};

dt << New Column("Number", Numneric, Continuous, << Set Each Value(
	smaller_validx = Loc(dt[Row(), cols_of_interest] < dt[Row(), "4011"]);
	Sort List((dt[Row(), cols_of_interest][smaller_validx]))[N Items(smaller_validx) - 1];
));
-Jarmo
hcarr01
Level VI

Re: Base de données

Super, j'ai fait quelques modifications mais cela fonctionne bien. Merci !