Comment trouver les valeurs max/min des colonnes avec certains mots clés dans les noms de colonnesBonjour, j'essaie de traiter des ensembles de données pour trouver les valeurs maximales de certaines colonnes (en fonction de certains mots-clés dans les noms de colonnes). Le nombre de colonnes peut différer pour chaque ensemble de données, mais le nom de la colonne « mots-clés » restera le même. J'essaie de créer un script qui pourrait fonctionner sur différents ensembles de données. Vous trouverez ci-dessous un exemple simple de tableau de données pour l'illustrer :
| Rangée | données1_volt_grp1 | données1_volt_grp2 | data2_volt_grp1 | data2_volt_grp2 | données_courantes_A_grp1 | données_courantes_A_grp2 | données2_courant_A_grp1 | données2_courant_A_grp2 | max_volt_grp1 | max_current_grp2 |
| A | 0,5 | 0,8 | 0,7 | 0,2 | 1.2 | 1.4 | 0,9 | 1.8 | 0,7 | 1.8 |
| B | 0,6 | 0,9 | 0,3 | 0,4 | 1 | 1.1 | 1,5 | 0,8 | 0,6 | 1.1 |
1. Il faut trouver les valeurs maximales des colonnes dont le nom de colonne est composé de volt et de grp1. Et remplir ces données dans la nouvelle colonne « max_volt_grp1 ».
2. Il faut trouver les valeurs maximales des colonnes dont le nom de colonne est composé de current et grp2. Et remplir ces données dans la nouvelle colonne « max_current_grp2 ».
3. Le résultat attendu est indiqué dans les 2 dernières colonnes.
Merci.
Automatisation et scriptsRe: Comment trouver les valeurs max/min des colonnes avec certains mots-clés dans les noms de colonnesVoici comment je procéderais pour créer la colonne Max_volt_grp

Names Default To Here( 1 );
dt = Current Data Table();
colNames = dt << get column names( string );
valueMatrix = [];
//col = "data1_volt_grp1"
For Each( {col}, colNames,
If( Contains( col, "volt" ) & Contains( col, "grp1" ),
valueMatrix = valueMatrix |/ Matrix( Column( col ) << get values )
)
);
If( Length( valueMatrix ) > 0,
dt << New Column( "Max_volt_grp1" );
:Max_volt_grp1[1] = Max( valueMatrix );
);Re : Comment trouver les valeurs max/min des colonnes contenant certains mots-clés dans les noms de colonnesSalut Jim,
La solution récupère la valeur maximale de ces colonnes pour l'ensemble des lignes. Je recherche un script permettant de renseigner la valeur maximale de chaque colonne séparément (le nombre de lignes varie également selon l'ensemble de données). J'attends un résultat pour chaque ligne, comme dans la colonne en surbrillance. Merci pour votre aide.

Re : Comment trouver les valeurs max/min des colonnes contenant certains mots-clés dans les noms de colonnesC'est une erreur de ma part, essayez cette méthode. Je n'aime pas utiliser cette méthode Eval(Parse()), mais c'était la seule façon de la faire fonctionner.
Le code crée une chaîne de caractères contenant le JSL requis pour créer la nouvelle colonne, puis exécute le JSL
Names Default To Here( 1 );
dt = Current Data Table();
colNames = dt << get column names( string );
// Build a list of the columns to be evaluated
theCols = "";
For Each( {col}, colNames,
If( Contains( col, "volt" ) & Contains( col, "grp1" ),
theCols = theCols || ", :" || col
)
);
// Create the new column and formula command, adding in the list of
// columns ceated in the above loop and then executing it
Eval(
Parse(
"dt << new column(\!"max_volt_grp1\!",formula(Max(" ||
Substr( theCols, 2 ) || ")));"
)
);Re : Comment trouver les valeurs max/min des colonnes contenant certains mots-clés dans les noms de colonnesMerci Jim. Les scripts fonctionnent comme prévu.