Valeur maximale de plusieurs colonnes variables à des lignes spécifiquesSalut tout le monde,
Comment créer une colonne de formules pour trouver le maximum de plusieurs colonnes variables à des lignes spécifiques
colList = dt << get column names;<BR />colList = remove( colList, 1,2);
Show( colList );
New Column( "Column 15",
Numeric,
Continuous,
Format( "Best", 8 ),
Formula( Maximum(colList[1]), colList[2],colList[3] ) ),
Set Selected
);
Re : valeur maximale de plusieurs colonnes variables à des lignes spécifiquesVoir la discussion suivante ici.
Re : valeur maximale de plusieurs colonnes variables à des lignes spécifiques@txnelson Je rencontre un problème similaire, mais au lieu de connaître la longueur de ma colonne, comme op connaît sa longueur de 3. Comment puis-je le modifier pour qu'il fasse le maximum de n longueur?
Re : valeur maximale de plusieurs colonnes variables à des lignes spécifiquesL'exemple de code que j'ai fourni fonctionne-t-il exactement comme je l'ai fourni ?Cela devrait fonctionner sans changement.
La déclaration d'erreur indique que vous rencontrez un problème avec la reconnaissance du mot "Name" . Pourriez-vous fournir un échantillon de vos données et de votre script qui échoue ?
Re : valeur maximale de plusieurs colonnes variables à des lignes spécifiquesDésolé, mais cela ne fonctionne toujours pas (solution 2).
Mes noms de colonnes - Date, format -30/01/2019 .
THX.


Re : valeur maximale de plusieurs colonnes variables à des lignes spécifiquesVoici mon script, avec le seul changement qu'il pointe vers la table de données SAMPLE "Blood Pressure".

Names Default To Here( 1 );
dt = Open("$SAMPLE_DATA/Blood Pressure.jmp");
colList = dt << get column names;
colList = Remove( colList, 1, 2 );
Show( colList );
New Column( "Column 15",
Numeric,
Continuous,
Format( "Best", 8 ),
Formula(
Max(
As Column( colList[1] ),
As Column( colList[2] ),
As Column( colList[3] )
),
Set Selected
)
);
Eval(
Substitute(
Expr(
New Column( "Column 16",
Numeric,
Continuous,
Format( "Best", 8 ),
Formula(
Max( __col1__, __col2__, __col3__ ),
Set Selected
)
)
),
Expr( __col1__ ), Parse( ":" || Char( colList[1] ) ),
Expr( __col2__ ), Parse( ":" || Char( colList[2] ) ),
Expr( __col3__ ), Parse( ":" || Char( colList[3] ) )
)
);
Le problème peut être que vous avez des noms de colonne complexes, qui contiennent des caractères sur lesquels JMP essaie d'effectuer des calculs.Si tel est le cas, vous devez modifier la substitution en :
Expr( __col1__ ), Parse( ":Name\!"(" || Char( colList[1] ) || "\!")" )
Bien sûr, changez si pour les 3 substitutions
Re : valeur maximale de plusieurs colonnes variables à des lignes spécifiquesThx compagnon pour votre réponse rapide.
S'il vous plaît, voir les réponses ci-dessous
* La première solution (Colmun 15) ça marche bien
* Le second (Colmun 16) ne fonctionne pas très bien

Re : valeur maximale de plusieurs colonnes variables à des lignes spécifiquesVous trouverez ci-dessous un script qui calcule ce que vous voulez de deux manières différentes.Le premier est une correction de votre code.Certains "(" ont dû être déplacés car ils n'étaient pas au bon endroit, et aussi, la fonction As Column() a dû être ajoutée pour dire à JMP de traiter les valeurs colList[] comme des colonnes.Bien que ce code fonctionne, si vous quittez JMP puis revenez dans JMP, la formule ne fonctionnera pas, car il n'y aura pas de liste appelée "colList" à utiliser dans la formule.Donc, ce que vous devez vraiment utiliser, c'est ce que j'ai mis dans une nouvelle colonne, "Colonne 16".Exécutez le script sur vos données, puis examinez les formules réelles des deux colonnes et vous verrez la différence.
Names Default To Here( 1 );
dt = Current Data Table();
colList = dt << get column names;
colList = Remove( colList, 1, 2 );
Show( colList );
New Column( "Column 15",
Numeric,
Continuous,
Format( "Best", 8 ),
Formula(
Max(
As Column( colList[1] ),
As Column( colList[2] ),
As Column( colList[3] )
),
Set Selected
)
);
Eval(
Substitute(
Expr(
New Column( "Column 16",
Numeric,
Continuous,
Format( "Best", 8 ),
Formula(
Max( __col1__, __col2__, __col3__ ),
Set Selected
)
)
),
Expr( __col1__ ), Parse( ":" || Char( colList[1] ) ),
Expr( __col2__ ), Parse( ":" || Char( colList[2] ) ),
Expr( __col3__ ), Parse( ":" || Char( colList[3] ) )
)
);Re : valeur maximale de plusieurs colonnes variables à des lignes spécifiquesJ'apprécie vos commentaires.