对具有相同字符串的列求和的脚本我正在尝试创建一个脚本来添加一个数学列以对大数据表中具有相同后缀的多个列求和。 并且这些栏目有特殊的字符,如%、[、]等,这破坏了论坛中的一些现有解决方案。
例如,
在 100 列中,有 4 列命名为:Class0 Percent%、Class1 Percent%、Class2 Percent%、Class3 Percent%
这是我尝试编写的脚本:
dt = Current Data Table();
col_list = dt << get column names( string );
For( i = N Items( col_list ), i > 0, i--,
If( !Contains( col_list[i], "Percent%" ),
Remove From( col_list, i )
)
);
new_formula = "SUM(";
For( i = N Items( col_list ), i > 0, i--,
new_formula = new_formula || "\[:Name( "]\" || col_list[i] || "\["), ]\";
);
new_formula = new_formula || ")";
dt << New Column( "Sum Class",
Numeric,
Continuous,
Formula( Name Expr( new_formula ) )
);
结果公式为:
"SUM(:Name( \!"Class3 Percent%\!"), :Name( \!"Class2 Percent%\!"), :Name( \!"Class1 Percent%\!"), :Name( \!"Class0 Percent%\!"), )"
我怎样才能摆脱 \! ?? 谢谢!
回复:对具有相同字符串的列求和的脚本感谢吉姆一直以来的支持!
我以粗体添加/更改了以下内容并且有效:
new_formula_final = Parse( new_formula );
dt << 新列( "总和类",
数字,
连续的,
Format( "固定十二月", 8, 2 ),
公式(名称表达式(新公式最终结果) )
)
);
回复:对具有相同字符串的列求和的脚本如果您 Parse() 字符串,它将删除外部引号
回复:对具有相同字符串的列求和的脚本也许我的问题不清楚。
问题是该列的公式最终以整个字符串作为特点柱子。 但我正在尝试创建一个数学公式:
SUM(:Name( "Class3 Percent%"), :Name( "Class2 Percent%"), :Name( "Class1 Percent%"), :Name( "Class0 Percent%"), )
我怎样才能更正我的脚本以获得正确的数学公式? 谢谢!
回复:对具有相同字符串的列求和的脚本您不想去掉 \!"。\! 是 JMP 转义字符。因为你给出的代码是一个字符串,所以位于字符串中的双引号必须在每个双引号前面有一个 excape 字符。当您执行该字符串时,JMP 将正确处理 \!"