créer une nouvelle colonne et définir chaque valeur de ligne à partir d'une colonne différente en fonction d'une autre colonne (variable de nom de colonne)Salut,

J'ai des données similaires à celles de l'image. Les six premières colonnes sont liées. J'ai créé MaxCol pour déterminer qui possède le Max, en fonction des trois premières colonnes. Je souhaite ensuite créer une colonne MaxValFromCol qui extrait la valeur de l'une des colonnes 4 à 6. La valeur des colonnes 4 à 6 sera alors extraite de MaxCol. J'ai essayé de définir la valeur de MaxValFromCol avec Column(char(:MaxCol) || "_t"), mais sans succès. Quelqu'un pourrait-il suggérer comment utiliser une valeur de colonne comme nom de colonne et définir une valeur en fonction de celle-ci ?
Automatisation et scriptsRe : créer une nouvelle colonne et définir chaque valeur de ligne à partir d'une colonne différente en fonction d'une autre colonne (variable de nom de colonne)Voici la formule que j'ai trouvée pour MaxCol
As Constant(
startCol = 1;
endCol = 3;
nCol = (endCol - startCol) + 1;
dt = Current Data Table();
colNames = dt << get column names;
);
theMax = Loc( dt[Row(), Index( startCol, endCol )], Max( dt[Row(), Index( startCol, endCol )] ) );
theMax = (theMax + startCol) - 1;
colNames[theMax][1];
et voici la formule pour MaxValFromCol
As Constant(
startCol = 1;
endCol = 3;
nCol = (endCol - startCol) + 1;
dt = Current Data Table();
colNames = dt << get column names();
);
theMax = Loc( dt[Row(), Index( startCol, endCol )], Max( dt[Row(), Index( startCol, endCol )] ) )
+ncol;
Parse( Char( colNames[themax][1] ) );

Il est tard dans la nuit et je suis sûr que d’autres auront de meilleures solutions.
Re : créer une nouvelle colonne et définir chaque valeur de ligne à partir d'une colonne différente en fonction d'une autre colonne (variable de nom de colonne)Salut Jim,
J'ai pu obtenir MaxCol. Je souhaite que MaxValFromCol corresponde à la valeur des colonnes 4 à 6, et non au nom de la colonne. Par exemple, si la ligne 1 contient MaxCol =="Lily", la ligne 1 de MaxValFromCol prendra la valeur de Lily_t, soit 4|5. La ligne 2 est 4|4, car la ligne 2 de MaxCol contient Mike, donc 4|4 provient de Mike_t.

Re : créer une nouvelle colonne et définir chaque valeur de ligne à partir d'une colonne différente en fonction d'une autre colonne (variable de nom de colonne)Pour quelques colonnes seulement, je pense pouvoir utiliser la condition « if » comme ci-dessous, mais j'ai trop de colonnes. Je me demande donc s'il existe un moyen d'utiliser la valeur MaxCOl comme variable pour appeler la colonne.
s'il n'y a que quelques colonnes, celles ci-dessous peuvent fonctionner :
si(:MaxCol =="Lily", :Lily_t,
:MaxCol =="Mike", :Mike_t,
:MaxCol =="Dan", :Dan_t,
)
j'espère avoir quelque chose de simple comme ci-dessous quand j'aurai des centaines de colonnes
MaxValFromCol == Colonne(char(:MaxCol)||"_t")
Re : créer une nouvelle colonne et définir chaque valeur de ligne à partir d'une colonne différente en fonction d'une autre colonne (variable de nom de colonne)Mon erreur... tard dans la nuit... je vais la corriger.
Voici les 2 formules sur lesquelles je travaille

As Constant(
startCol = 1;
endCol = 3;
nCol = (endCol - startCol) + 1;
dt = Current Data Table();
colNames = dt << get column names( string );
);
theMax = Loc( dt[Row(), Index( startCol, endCol )], Max( dt[Row(), Index( startCol, endCol )] ) );
theMax = (theMax + startCol) - 1;
x = colNames[theMax][1];
x;
As Constant(
startCol = 1;
endCol = 3;
nCol = (endCol - startCol) + 1;
dt = Current Data Table();
colNames = dt << get column names( string );
);
theMax = Loc( dt[Row(), Index( startCol, endCol )], Max( dt[Row(), Index( startCol, endCol )] ) )
+ncol;
Eval( Parse( "x=:" || colNames[theMax][1] ) );
Re : créer une nouvelle colonne et définir chaque valeur de ligne à partir d'une colonne différente en fonction d'une autre colonne (variable de nom de colonne)Je ne suis pas vraiment sûr que j'utiliserais quelque chose comme ça, mais ça pourrait fonctionner
As Column(Column(:Column 1 ||"_t"))
Vous pouvez également probablement supprimer la colonne ()
As Column(:Column 1 || "_t")