Créer des variables locales contenant des listes à partir de noms de colonnesSalut à tous,
Vous avez besoin de votre aide pour créer plusieurs variables locales contenant des noms de colonne dans nom de variable.
J'ai essayé cela, mais commettez une erreur.
Aucune suggestion?
pour (j = 1, j <= ncol (dt), j ++,
local (parse (char (nom de colonne (j)) || "clé") = Tableau associatif (colonne (j) << Obtenir les valeurs) << Obtenir les clés));
Re: Créer des variables locales contenant des listes à partir de noms de colonnesian thx. c'est génial, je me suis battu pendant 2 jours pour le résoudre, j'apprécie ça
Re: Créer des variables locales contenant des listes à partir de noms de colonnesD'ACCORD. Voici un moyen, et je suis sûr qu'il y en aura d'autres:
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
varList = {};
For( j = 1, j <= N Col( dt ), j++,
varName = (Column(dt, j ) << getName)||"_keys";
keys = Associative Array( Column(dt, j ) << Get Values ) << get keys;
makeVar = Expr(LHS = RHS);
SubstituteInto(makeVar, Expr(LHS), Parse(varName), Expr(RHS), Eval(keys));
makeVar;
InsertInto(varList, Parse(varName));
);
Print(varList);
Print(EvalList(varList));Re: Créer des variables locales contenant des listes à partir de noms de colonnesian thx,
Mon intention est que, pour chaque liste créée par la fonction aray associative, un nom de variable unique contenant le nom de la colonne correspondante soit également attribué.
Par exemple: si j'ai deux colonnes: Entity et Lot, j'aurai deux variables locales:
Entitykey = {entity1, entity2}
Lotkey = {Lot1, Lot2} ....
Et ainsi de suite pour toutes les colonnes du tableau
Re: Créer des variables locales contenant des listes à partir de noms de colonnesJe ne suis pas sûr de comprendre votre utilisation de 'Local ()', mais est-ce proche de ce que vous voulez?
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
keyVarList = {};
For( j = 1, j <= N Col( dt ), j++,
keys = Associative Array( Column( j ) << Get Values ) << get keys;
InsertInto(keyVarList, EvalList(List(keys)));
);
for(j = 1, j <= NItems(keyVarList), j++,
Print(keyVarList[j]);
);