将列变量插入公式嗨,
我试图将一个脚本添加到数据表,允许用户通过分隔符解析给定的给定列(:文件名),用户将通过显示框(delim)选择。 理想情况下,公式将继续解析:文件名列,直到没有任何内容需要解析。 我的脚本块在下面。 在其中,我为每个解析的段创建一个新列(col):文件名。 然后我检查col是否缺少值,然后在整个列为空时停止。
我的问题是我不能在公式中评估col。 我甚至尝试过使用女士 'Eval(Parse(Eval Insert()))技巧,但我无法让它发挥作用。 有什么建议吗?我正在使用JMP11。
谢谢!
// Example script.
// Note: col = Column( "Column 442" );
delim = "-";
i = 1;
j = 1;
While( j > 0,
j = 0;
col = dt << New Column();
col << Data Type( Character, Nominal );
col << Set Formula( Word( i, :File Name, delim ) );
For Each Row( If( Is Missing( :Column 442 ) == 0, j = j + 1 ) ); // This works.
Eval( Parse( Eval Insert( "For Each Row( If( Is Missing(:Column 442) == 0, j = j + 1 ) )" ) ) ); // This works.
Eval( Parse( Eval Insert( "For Each Row( If( Is Missing(^col^) == 0, j = j + 1 ) )" ) ) ); // This does not work.
Eval( Parse( Eval Insert( "For Each Row( If( Length(^col^) != 0, j = j + 1 ) )" ) ) ); // This does not work.
i = i + 1;
);
Re:将列变量插入公式<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />谢谢MS!
Re:将列变量插入公式还要记住:col指的是一个整体的列。 在For Each Row循环中,您需要使用[]表示法来引用当前单元格(不是每个循环使用的众多原因之一!)。
Re:将列变量插入公式变量关口是对列的引用。但是在ForEachRow()循环中,我们不需要访问列而是访问它的值。 以下两种选择都应该适用于您的代码。请注意第二个示例中的空索引[]。
EVAL ( 解析 ( 评估插入 ( “对于每一行(如果(缺少(作为列(^ col ^))== 0,j = j + 1))” ))) ;
EVAL ( 解析 ( 评估插入 ( “对于每一行(如果(缺少(^ col ^ [])== 0,j = j + 1))” ))) ;
Re:将列变量插入公式好吧,我不会尝试理解你的代码,但关于语法,你说以下工作:
EVAL ( 解析 ( 评估插入 ( “
对于每一行(如果(缺失(:列442)== 0,j = j + 1));
“ ))) ;
Eval模式中的内容是一个字符串,所以你放在^ ... ^中的变量就像一个字符串,所以要概括你想要的东西,如下所示
COLNAME = 关口 << 得到名字 ; //例如colName =“Column 442”
EVAL ( 解析 ( 评估插入 ( “
对于每一行(如果(缺少(:^ cName ^)== 0,j = j + 1));
“ ))) ;