Utiliser un nombre variable de colonnes pour joindre des tables de donnéesBonjour, j'essaie de faire une jointure dans le cadre d'un script. Cependant, les parties "select" et "selectwith" me dérangent. Je sélectionne dynamiquement les colonnes des tables de données liées plus tôt dans le script et je les transmets sous forme de liste aux parties "sélectionner" et "sélectionner avec". J'ai essayé Eval(Eval Expr(Expr())), mais cela n'a pas fonctionné. Je pense que je ne comprends tout simplement pas la façon dont ces deux-là prennent réellement les informations.
Data Table(dt2b) << Join(
With(Data Table("Experimental Info")),
Match Flag(1),
Select(selectedCols1String),
SelectWith(selectedCols2String),
By Matching Columns(:ID = :ID),
Drop multiples(0, 0),
Include Nonmatches(0, 0),
Preserve main table order(1)
);La sortie pour selectedCols1String et selectedCols2String ressemble à ceci : ":ID, :2Theta, :Data, :Error, :Raw Data, :Raw Error"
Merci!
Automatisation et scriptsles fenêtresRé: Utiliser un nombre variable de colonnes pour joindre des tables de donnéesVous ne devriez pas utiliser une chaîne mais plutôt une liste et utiliser Eval avec elle
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Trial1.jmp");
dt2 = Open("$SAMPLE_DATA/Little.jmp");
select_cols = {"popcorn", "oil amt", "batch", "yield"};
with_cols = {"yield", "batch"};
dt3 = dt << Join(
With(dt2),
Select(Eval(select_cols)),
SelectWith(Eval(with_cols)),
By Matching Columns(:popcorn = :popcorn, :batch = :batch, :oil amt = :oil)
);
Ici, j'utilise une liste de chaînes, mais celles-ci pourraient également être des références de liste
Voir plus...
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Trial1.jmp");
dt2 = Open("$SAMPLE_DATA/Little.jmp");
select_cols = {:popcorn, :oil amt, :batch, :yield};
with_cols = {:yield, :batch};
dt3 = dt << Join(
With(dt2),
Select(Eval(select_cols)),
SelectWith(Eval(with_cols)),
By Matching Columns(:popcorn = :popcorn, :batch = :batch, :oil amt = :oil)
);
Re : Utiliser un nombre variable de colonnes pour joindre des tables de donnéesMerci beaucoup!