Formation d'une formule de colonne à partir d'un tableau associatifJ'ai cherché, mais je n'ai pas trouvé d'exemple clair. J'ai un script qui crée un tableau associatif entre des paires de colonnes dans une table. Je souhaite maintenant exploiter ce tableau pour créer une formule référençant à la fois la valeur et la clé. Comment procéder ?
For( i = 1, i <= N Items( SpecCols ), i++,
key = Column( dt, SpecCols[i] );
value = Column( dt, Char(SpecCols[i])||" Pass/Fail");
assocArray[key] = value;
dt << New Column( (Column( dt, SpecCols[i] ) << get name) || " Best",
Set Property( "Notes", Notes ),
Set Property( "Limits", Limits ),
Formula(If(
:RETEST == Col Minimum(
If(
Col Mean( value, :LOT, :WAFER, :RETEST ) ==
Eval( Parse( value)),
:RETEST
),
:LOT,
:WAFER,
:SiteY,
:SiteX
),
Eval( Parse(key))
))
);
);
Automatisation et scriptsRe : Formation d'une formule de colonne à partir d'un tableau associatifÉvaluation d'expression et dans des cas comme celui-ci, j'aime utiliser Eval(Substitute())
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Semiconductor Capability.jmp");
aa = Associative Array();
aa["NPN1"] = "NPN2";
aa["PNP1"] = "PNP2";
aa["INM1"] = "INM2";
new_cols = {};
For Each({{key, val}}, aa,
new_col = Eval(Substitute(
Expr(dt << New Column(key ||" "|| val, Numeric, Continuous, Formula(
_term1_ + _term2_
))),
Expr(_term1_), Name Expr(AsColumn(dt, key)),
Expr(_term2_), Name Expr(AsColumn(dt, val))
));
Insert Into(new_cols, (new_col << get name))
);
dt << Move Selected Columns(new_cols, To First);