打開和關閉私有數據表為了保持我的許多腳本乾淨,我經常使用“私人”。 但是,如果我正在對腳本進行故障排除,則將表設置為私有會妨礙我,我需要註釋掉並希望在我進行更改時記得取消註釋以查看更改是否有效。
有沒有辦法,或者 JMP 是否已經有一種全局方式來打開或關閉私人表? 在我的腦海中,我可以花時間在有和沒有私有的情況下複製我的代碼並將其綁定到一個測試變量,但這似乎不是最好的答案。
不確定是否有關於如何做到這一點的任何想法。 謝謝!
腳本回复:打開和關閉私有數據表我不知道能夠打開和關閉 Private,因為它需要在內存中即時構建所有顯示對象。但是,您可以使用 Show Window 消息來顯示/隱藏正常或不可見的數據表。
data table("Daily Blood Pressure")<<SHOW window=""></SHOW>回复:打開和關閉私有數據表您可以使用 << New Data View 使私有表可見。 在這種情況下,我不是 100% 這樣做的,但它似乎使私有表可見,並且我已將其用於調試:
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp", private);
wait(2);
dt << New Data View;
不知道如何再次將其設為私有,但是 << Show Window(0);至少會讓它不可見。
回复:打開和關閉私有數據表JMP 跟踪可見和不可見表。 例如,您可以在主窗口中密切關注它們。 私有表僅由創建它們的代碼跟踪。 如果在覆蓋持有其句柄的 JSL 變量之前未能關閉私有表,則該表仍在內存中但無法訪問。 它將在 JMP 終止時關閉。 (Window->CloseAllDataTables 找不到私有表,不會關閉它們。)
我也很確定 JMP 不會公開將可見或不可見表私有化的方法。 如果你有把手,你可以把一張私人桌子變成一張隱形桌子,像這樣:
dtA = Open( "$SAMPLE_DATA/Big Class.jmp", private );
// getting the data box makes it invisible
b = dtA << New Data Box();
// then show window makes it visible
dtA << Show Window;
不幸的是,隱形關鍵字是一個關鍵字,不能作為變量傳遞,至少到 open()。 不確定子集等。可能您能做的最好的事情是在您創建或打開表的每個點之後添加對執行類似上述操作的用戶函數的調用。
回复:打開和關閉私有數據表感謝大家! 我最終做了以下事情,雖然不理想,但應該可以很好地工作。 我創建了一個函數並在我的腳本頂部有一個變量來基本上打開/關閉私有
seePrivateTables = 1;
unprivatizeTable = Function({bool,tableName},{default local},
If(bool == 1,
tableName << New Data View;
Return(tableName)
,
Return(tableName)
)
);
// ... various code
dt1 = dt << Summary(.... , private);
dt1 = unprivatizeTable(seePrivateTables, dt1);只要我記得在創建新表時調用該函數,我就應該能夠批量打開和關閉私有表。
回复:打開和關閉私有數據表如果您經常需要該功能,您可能會從創建自定義功能中受益創建自定義函數、轉換和格式 (jmp.com) .這樣你也可以直接從腳本索引中看到自定義函數。