專家您好,
我想刪除 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);