如何将变量值与表列值进行比较我有一个应该是一个简单的问题,但我不知道正确的表达方式。
我有一些变量;
A1=“44”;
A2=“47”;
A3=“50”;
//数字故意采用字符串格式
还有一个数据表 dt,其中这些变量与许多其他变量一起包含在一列“LOT”列中。如果我创建一个 for 循环,在表中查找这些变量,并在找到它们时标记行,我将无法找到它们。
For( i = 1, i <= 3, i++,
foundlot = "A" || Char( i );
Show( foundlot );
dt << Select Where( :LOT = foundlot ) << Colors = (5);
);
我意识到问题在于,foundlot 是字符串“A1”、“A2”、“A3”...并且不会替换 A1、A2 和 A3 的值以允许将 A1 的值与列值进行比较在表中。
我需要做什么才能让它替换该值,而不是将列值与始终不匹配的字符串“A1”进行比较?
感谢您的帮助!
数据混合和清理大规模定制回复:如何将变量值与表列值进行比较这非常有效。 谢谢你!
回复:如何将变量值与表列值进行比较谢谢你! 我会尝试一下!回复:如何将变量值与表列值进行比较我相信下面这两个简单的脚本可以满足您的需求。您遇到的问题是需要指示 A1、A2 和 A3 不是变量值,而是变量的名称。脚本 1 将为您完成此操作。第二个脚本可能是考虑您的问题的更好方法。通过使用 JMP 列表,您可以使用下标引用变量值
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");