對具有相同字符串的列求和的腳本我正在嘗試創建一個腳本來添加一個數學列以對大數據表中具有相同後綴的多個列求和。 並且這些欄目有特殊的字符,如%、[、]等,這破壞了論壇中的一些現有解決方案。
例如,
在 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 將正確處理 \!"