刪除引號:建立列公式的腳本我正在開始編寫一個腳本來查找許多列的兩個測量值之間的增量。
當列名稱帶有破折號時,我在建立列公式時遇到困難...
刪除引號的解析指令將破折號改為減號運算元,這會擾亂我想要完成的任務。
錯誤日誌:
意外的“_92MHz_test_data”。 可能少了一個“;”或 ”,”。
這是腳本(如果列名稱中沒有操作數,則該腳本有效。
例如,
dt = Current Data Table();
Col_Name = "diff"; // column(5) - Column(300)
Col_Name1_char = Char( Column Name( 5 ) ); // "bin of DWK112079-01_92MHz_test_data""
Col_Name2_char = Char( Column Name( 300 ) );// "bin of DWK112079-01_90MHz_test_data""
Col1_Name = (Concat( ":", (Col_Name1_char) )); //":bin of DWK112079-01_92MHz_test_data";
Col2_Name = ((Concat( ":", Col_Name2_char ))); // ":bin of DWK112079-01_90MHz_test_data";
Formula_I = ((Concat( col1_Name, " - ", Col2_Name ))); //Make the formula expression
a = Expr(
New Column( X, formula( Z ) )
); // New column with name Diff
b = Substitute( Name Expr( a ), Expr( X ), Col_Name, Expr( Z ), Parse( Formula_I ) ); // This has error when Colnames has "-" in the name
Eval( b );
//Note:
Show( Forumula_I, Parse( Formula_I ) );
//Note : Formula_I = ":bin of DWK112079-01_92MHz_test_data - :bin of DWK112079-01_new_updated_test_data";
//Note Parse(formula_I) = :bin of DWK112079 - 1; This is not what I want
資料混合與清理回覆:刪除引號:製作列公式的腳本我永遠無法弄清楚這一點。非常感謝,完美運行!
回覆:刪除引號:製作列公式的腳本JMP 將列名中間的「-」解釋為減法。因此,您需要向 JMP 指示整個術語是列名稱。最簡單的方法是使用以下命名結構
":列名"n
以下是對您的腳本進行的修改後的修改
names default to here(1);
dt = Current Data Table();
Col_Name = "diff"; // column(5) - Column(300)
Col_Name1_char = Char( Column Name( 5 ) ); // "bin of DWK112079-01_92MHz_test_data""
Col_Name2_char = Char( Column Name( 300 ) );// "bin of DWK112079-01_90MHz_test_data""
Col1_Name = (Concat( ":\!"", (Col_Name1_char), "\!"n" )); //":bin of DWK112079-01_92MHz_test_data";
Col2_Name = ((Concat( ":\!"", Col_Name2_char , "\!"n" ))); // ":bin of DWK112079-01_90MHz_test_data";
Formula_I = ((Concat( col1_Name, " - ", Col2_Name ))); //Make the formula expression
a = Expr(
New Column( X, formula( Z ) )
); // New column with name Diff
b = Substitute( Name Expr( a ), Expr( X ), Col_Name, Expr( Z ), Parse( Formula_I ) ); // This has error when Colnames has "-" in the name
Eval( b );
//Note:
Show( Forumula_I, Parse( Formula_I ) );
//Note : Formula_I = ":bin of DWK112079-01_92MHz_test_data - :bin of DWK112079-01_new_updated_test_data";
//Note Parse(formula_I) = :bin of DWK112079 - 1; This is not what I want