將選定列用於新列中的公式你好,
我嘗試生成一個腳本,我必須在其中選擇一列。 通過此選擇,我創建了一個新列,其中包含一個公式(帶有選定的列)。 這是我的方法:
dt = Current Data Table ();
dt << New Table Variable( "Range", 2 );
New Window( "Select Column",
lb = Col List Box( all ), dt << New Table Variable( "Selected Column", lb <<get selected ),
Button Box( "Moving Average", dt <<New Column ("Movin Average", Numeric, Formula (:Range + "selected Column") )
));
我有兩個問題:
1.如何通過選擇生成列變量?
2. 如何在我的公式中使用這個變量? 對於“範圍”(數字)是可能的,但對於選定的列(字符)則不是。
回复:在新列中使用選定列作為公式高吉姆,這是一個很棒的劇本。是否可以通過添加額外的公式按鈕來創建額外的公式列(Col Mean() ...)?
回复:在新列中使用選定列作為公式謝謝!
回复:在新列中使用選定列作為公式代碼抱怨 Range 的值不是字符串。所以為了糾正這個問題,下面的代碼通過使用 char() 函數來強制範圍的值和返回的列名都是字符串,以確保它們是字符串。
dt = Open( "$SAMPLE_DATA\big class.jmp" );
dt << New Table Variable( "Range", 2 );
New Window( "Select Column",
lb = Col List Box(
Data Table( dt << get name ),
all,
min col( 1 ),
max col( 1 ),
dt << New Table Variable( "Selected Column", (lb << get selected )[1])
),
Button Box( "Moving Average",
Eval(
Substitute(
Expr(
dt << New Column( "Movin Average", Numeric, Formula( __formula__ ) )
),
Expr( __formula__ ), Parse( char(dt << get table variable( "Range" )) || " + :" || char((lb << get selected)[1]) )
)
)
)
);回复:在新列中使用選定列作為公式謝謝你!
如果我查看代碼,它應該正是我正在尋找的。 但我收到一條錯誤消息:
參數應該是訪問或評估 'Concat' 中的字符,錯誤參數((lb << get selected)[1]),dt << get table variable(“Range”)|| /*###*/" + :" || /*###*/(lb << 被選中
)[1] /*###*/
作為表變量,我得到了選擇的列。 但是無法評估新列的公式。
我是否必須更改 JMP 版本中的任何首選項?
回复:在新列中使用選定列作為公式這是一個腳本的工作示例,它將執行我認為您的原始腳本嘗試執行的操作。
dt = Open( "$SAMPLE_DATA\big class.jmp" );
dt << New Table Variable( "Range", 2 );
New Window( "Select Column",
lb = Col List Box(
Data Table( dt << get name ),
all,
min col( 1 ),
max col( 1 ),
dt << New Table Variable( "Selected Column", (lb << get selected )[1])
),
Button Box( "Moving Average",
Eval(
Substitute(
Expr(
dt << New Column( "Movin Average", Numeric, Formula( __formula__ ) )
),
Expr( __formula__ ), Parse( dt << get table variable( "Range" ) || " + :" || (lb << get selected)[1] )
)
)
)
);
現在我遇到的問題是了解幾個項目。
- 為什麼要為 Range 的值和新列的名稱創建表變量?
- 你指定的公式真的是你想要的嗎?將數字 2 添加到另一列的值中,不會給出任何類型的移動平均線。您真正想要做的是創建當前行的真實移動平均值以及最後兩行的先前值嗎?