通常我不在乎 JMP (JSL) 何時做一些我不希望它做的事情,因為大多數時候它都能正常工作,這是我唯一關心的事情......但今天我想出了一些“有趣”的東西。 如果您使用Where()來過濾您的分析,您最終將得到鏈接到您的數據表的私有數據表(名稱相當奇怪,在本例中為“Big Class,where -sex == -F-”)
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
nw = New Window("",
V List Box(
gb1 = dt << Graph Builder(
Size(534, 456),
Show Control Panel(0),
Variables(X(:height), Y(:weight), Overlay(:sex)),
Elements(Points(X, Y, Legend(3)))
),
gb2 = dt << Graph Builder(
Size(534, 456),
Show Control Panel(0),
Variables(X(:height), Y(:weight), Overlay(:sex)),
Elements(Points(X, Y, Legend(3))),
Where(:sex == "F")
)
)
);
Show(gb1 << Get Data Table);
Show(gb2 << Get Data Table);
/*
dt_private = gb2 << Get Data Table;
dt_private << New Data View;
*/
所以我對這種行為確實有幾個疑問:
- 當我像這樣使用Where()來過濾分析時(不僅僅是在圖形生成器中),這種情況是否總是發生?
- 這有記錄在某處嗎?
- 在 JMP 中是否有更多這樣的交互,您可以在其中創建一些隱藏的東西,然後您可能會遇到這樣的情況(對我來說,這導致我的函數之一出現問題,因為我使用 << 獲取數據表來獲取數據表的引用,但是出錯了,簡單的修復是將表引用添加到函數作為參數
- 我應該像這樣進行過濾嗎?