专家您好,
我想删除 JSL 中公式列的引用。
手动选择要删除的列后,我可以在 JMP 警报提示后单击“删除公式”。
但是,当我复制工作流程脚本并将其放入我的脚本中时,公式列的引用仍未删除。

关于如何四处走动有什么建议吗? 我正在使用 JMP 17
先感谢您
我假设您正在使用工作流程生成器。 您是否尝试过记录自己在工作流程生成器中删除公式的情况? 这应该删除任何依赖项。 您还可以使用下面的示例通过 JSL 来完成此操作。

是的。 我使用了工作流程生成器。
1)但是,工作流构建器没有记录“删除公式”。 相反,尽管我在 JMP 警报提示时选择了“删除公式”,但它只是记录了“删除列”。

2)我也在我的脚本中尝试了“删除公式”,但它不起作用。
下面是我的脚本;
//Add new column formula to change Wirebond, 2nd Wirebond, Diebond and 2nd Diebond to correct date format
Names Default To Here( 1 );
dt4 = Data Table( "DB.WB(Datasheet)" );
dt4 << New Column("Wirebond.End Date", Numeric, Formula(
(As Date( In Days( :Wirebond End Date) + Informat ("1/1/1900", "<MM><D><YYYY><HH><:><MM><:><SS><AMPM>")) - In Days( 2 ))));
dt4 << New Column("Diebond.End Date", Numeric, Formula(
(As Date( In Days( :Diebond End Date) + Informat ("1/1/1900", "<MM><D><YYYY><HH><:><MM><:><SS><AMPM>")) - In Days( 2 ))));
dt4 << New Column("2nd Wirebond.End Date", Numeric, Formula(
(As Date( In Days( :"2nd Wirebond End Date"n) + Informat ("1/1/1900", "<MM><D><YYYY><HH><:><MM><:><SS><AMPM>")) - In Days( 2 ))));
dt4 << New Column("2nd Diebond.End Date", Numeric, Formula(
(As Date( In Days( :"2nd Diebond End Date"n) + Informat ("1/1/1900", "<MM><D><YYYY><HH><:><MM><:><SS><AMPM>")) - In Days( 2 ))));
//Change column info: Wirebond.End Date
Data Table( "DB.WB(Datasheet)" ):Wirebond.End Date <<
Input Format( "Format Pattern", "<D><MM><YYYY><HH><:><MM><:><SS><AMPM>", 0 )
<< Format( "Format Pattern", "<D><MM><YYYY><HH><:><MM><:><SS><AMPM>", 20, 0 );
//Change column info: Diebond.End Date
Data Table( "DB.WB(Datasheet)" ):Diebond.End Date <<
Input Format( "Format Pattern", "<D><MM><YYYY><HH><:><MM><:><SS><AMPM>", 0 )
<< Format( "Format Pattern", "<D><MM><YYYY><HH><:><MM><:><SS><AMPM>", 20, 0 );
//Change column info: 2nd Wirebond.End Date
Data Table( "DB.WB(Datasheet)" ):"2nd Wirebond.End Date"n <<
Input Format( "Format Pattern", "<D><MM><YYYY><HH><:><MM><:><SS><AMPM>", 0 )
<< Format( "Format Pattern", "<D><MM><YYYY><HH><:><MM><:><SS><AMPM>", 20, 0 );
//Change column info: 2nd Diebond.End Date
Data Table( "DB.WB(Datasheet)" ):"2nd Diebond.End Date"n <<
Input Format( "Format Pattern", "<D><MM><YYYY><HH><:><MM><:><SS><AMPM>", 0 )
<< Format( "Format Pattern", "<D><MM><YYYY><HH><:><MM><:><SS><AMPM>", 20, 0 );
//Remove data with End lot time < Today - 30 days (not required for analysis)
Current Data Table() << Select where( :End Lot Time < (today () - in days(30)) ) << Delete Rows;
//set Label for Machine No, Lot No, Base Part (Device), Recipe, Diebond & Wirebond MC
dt4 << set label columns( :Machine No, :Lot No, :Device, :Recipe, :Diebond MC ID, :Diebond End Date, :Wirebond MC ID, :Wirebond End Date, :Package, :Package Platform );
//Delete columns<BR />Current Data Table() << Data Table( "DB.WB(Datasheet)" )<BR /><< Delete Formula (:Diebond End Date, :"2nd Diebond End Date"n, :Wirebond End Date,:"2nd Wirebond End Date"n);<BR /></AMPM></SS></MM></HH></YYYY></MM></D></AMPM></SS></MM></HH></YYYY></MM></D></AMPM></SS></MM></HH></YYYY></MM></D></AMPM></SS></MM></HH></YYYY></MM></D></AMPM></SS></MM></HH></YYYY></MM></D></AMPM></SS></MM></HH></YYYY></MM></D></AMPM></SS></MM></HH></YYYY></MM></D></AMPM></SS></MM></HH></YYYY></MM></D></AMPM></SS></MM></HH></YYYY></D></MM></AMPM></SS></MM></HH></YYYY></D></MM></AMPM></SS></MM></HH></YYYY></D></MM></AMPM></SS></MM></HH></YYYY></D></MM>日志如下

您可能正在寻找“删除公式”。
从脚本索引:
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Bank Loan.jmp" );
:Time << Delete Formula;
“删除公式”的脚本不起作用。
奇怪的。 它指出运行脚本时该列没有公式。
但是,当我手动选择要删除的列时,它显示“无法删除被其他列的公式引用的列”


"Diebond.End Date"
是包含引用的公式的列
In Days( :Diebond End Date)
尝试从名称中包含句点的列中删除公式。
@杰德坎贝尔- 第一个对话框“无法删除选定的列...”应该添加类似的内容
Diebond 结束日期无法删除,因为它正在被 Diebond.End Date 等公式使用
谢谢@Craige_Hales 。
有用。 我将针对此事列出一个工作流程愿望清单。
//Delete columns
dt4 << Data Table( "DB.WB(Datasheet)" );
Wait(0);
dt4:Diebond.End Date << Delete Formula;
dt4:"2nd Diebond.End Date"n << Delete Formula;
dt4:Wirebond.End Date << Delete Formula;
dt4:"2nd Wirebond.End Date"n << Delete Formula;
Wait(0);
dt4 << Delete Columns (:Diebond End Date, :"2nd Diebond End Date"n, :Wirebond End Date, :"2nd Wirebond End Date"n);