如何删除公式中变量名称中的引号你好,
我想选择两列并计算公式。 但是,公式中的变量名称周围有“”,因此不起作用。 有什么建议么?
dt = Current Data Table();
win = New Window( "Clean False Zeroes",
<<MODAL></MODAL>
回复:如何删除公式中变量名称中的引号嘿! 如果我使用 nameexpr 就可以了。 谢谢你们的帮助。 我很开心。回复:如何删除公式中变量名称中的引号谢谢你们的建议,但是,它们都不适合我。 为了澄清起见,我制作了一个测试文件,其中数据位于 A 列,状态位于 B 列。 然后我制作了第三列,其中包含公式。 您可以确认它有效。 如果我运行脚本来执行相同的操作(我不知道要清除哪些列为零),您会在第 4 列中看到它效果不佳。 希望这一切都有道理。
dt = Current Data Table();
win = New Window( "Clean False Zeroes",
<<MODAL></MODAL>
回复:如何删除公式中变量名称中的引号我想你想做这样的事情:
dt << new column("check",
formula(eval(evalexpr(If(Is Missing(expr(nameexpr(yvar))),.,expr(nameexpr(xvar))) )))
);
The selected names are in the scriptThe selected names are in the script选定的名称位于脚本中
没有额外的工作,你会得到这样的东西
The variable names are in the scriptThe variable names are in the script变量名在脚本中
仅当 yvar 持有 :name 并且 xvar 持有 :height 时才有效。 如果保存表、关闭并重新启动 JMP,然后打开表,情况就不会如此。
它有什么作用?
评估() 是一个信号公式来评估其论点。 通常你不会想要这样,因为通常你给出的表达式公式在列需要运行 () 之前不应对其求值。 所以运行的第一个代码是评估表达式() 它将返回公式列的重写表达式。 评估表达式在其论证中寻找表达式() 可以评估并用结果替换的函数;其中有两个。 所以得到评估的是名称表达式函数,返回其参数的名称...xval 的参数和名称是:height。
回复:如何删除公式中变量名称中的引号也基于 Craige 输入(谢谢!)我使用列对话框编辑器安排了脚本
dt = Current Data Table();
cd=column Dialog(
Title(" Clean False Zeroes "),
xcols= ColList(" Numeric ", MinCol( 1 ), DataType("Numeric"), modeling type("Continuous") ),
ycols= ColList(" Character ", MinCol( 1 ), DataType("Character"), modeling type("Nominal") ),
);
xvar =cd["xcols"];
yvar =cd["ycols"];
xvar=xvar[1];
yvar=yvar[1];
dt << new column("check",, formula(If(Is Missing(yvar),.,xvar) ) );
回复:如何删除公式中变量名称中的引号我们需要更多地了解创建脚本的 JSL 才能给出更好的答案,但是
{"LOA (QC1007AI),%"}
是一个带引号的字符串的列表。 (大括号构成一个列表。)您可以将项目从列表中取出并靠近一点
colNames = {"LOA (QC1007AI),%"};
theColumnName = colnames[1];
print(theColumnName);
对于大多数用途,您需要根据列名称创建一列。
col = column( dt, theColumnName );
列函数将在数据表中查找名称并返回列。
我认为您可能使用了返回列名称的函数,而不是返回列的函数。 有一个好帖子http://www.pega-analytics.co.uk/blog/column-references/讨论其中一些问题。
回复:如何删除公式中变量名称中的引号嗨,gianpaolo_polsi,
感谢您的脚本,我想我可以用于其他目的,但是,它不能解决我的问题:If( Is Missing( {"Status (LOA)"} ),
.,
{“LOA(QC1007AI),%”}
)
我不明白为什么在编写公式时会在公式中得到这些“”标记。回复:如何删除公式中变量名称中的引号下划线可能是比冒号更好的选择,因为冒号是一个运算符。
回复:如何删除公式中变量名称中的引号你好索普
在应用公式之前尝试将此代码应用于数据表
// code to replace any special JMP character with single char " : "
For(i = 1, i <= N Col(dt), i++,
Column(dt, i) << set name(Regex(Column(dt, i) << get name, "\W", ":", GLOBALREPLACE))
);