J'ai ce qui devrait être un problème simple, mais je ne sais pas comment le formuler correctement.
J'ai quelques variables ;
A1 = "44" ;
A2 = "47" ;
A3 = « 50 » ;
// les nombres sont intentionnellement au format chaîne
Et un tableau de données, dt, où ces variables sont incluses parmi tant d'autres dans une seule colonne, la colonne "LOT".Si je crée une boucle for pour trouver ces variables dans le tableau et que je marque les lignes lorsqu'elles sont trouvées, je ne parviens pas à les trouver.
For( i = 1, i <= 3, i++,
foundlot = "A" || Char( i );
Show( foundlot );
dt << Select Where( :LOT = foundlot ) << Colors = (5);
);
Je réalise que le problème est que foundlot est une chaîne "A1", "A2", "A3", ... et ne remplace pas la valeur de A1, A2 et A3 pour permettre une comparaison de la valeur de A1 à la valeur de la colonne. dans la table.
Que devrais-je faire pour qu'il remplace la valeur, plutôt que de comparer la valeur de la colonne à la chaîne « A1 » qui ne correspond toujours pas ?
Merci pour votre aide!
Cela a très bien fonctionné. Merci!
Je pense que ces deux scripts simples ci-dessous géreront ce que vous voulez.Le problème que vous rencontrez est de devoir indiquer que A1, A2 et A3 ne sont pas des valeurs de variables, mais sont des noms de variables.Le script 1 fera cela pour vous.Le deuxième script est probablement une meilleure façon de réfléchir à votre problème.En utilisant une liste JMP, vous pouvez référencer la valeur des variables à l'aide d'indices
names default to here(1);
dt=current data table();
A1 = "44";
A2 = "47";
A3 = "50";
For( i=1, i<=3, i++,
foundlot = "A" || char(i); Show (foundlot);
Eval(Parse(EvalInsert("\[dt << Select Where(:LOT == ^foundlot^, current selection("extend") ) ;]\")));
);
dt << colors( "red");
// or
names default to here(1);
dt=current data table();
aList = {"44", "47", "50" };
For( i=1, i<=3, i++,
dt << Select Where( :Lot == aList[i], current selection("extend"));
);
dt << colors( "red");