使用 JSL 刪除“Where”文本框你好,
使用“where”函數運行腳本時,會向報告添加一個文本框。
有什麼方法可以刪除呢?
有沒有辦法“不創建”它而不是刪除它? 因為如果我運行數據過濾器更改,文本框可能會回來。
謝謝,
湯姆.
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dt << 分佈(連續分佈(Column( :height )),Where( :sex == "F" ));
回复:使用 JSL 刪除“Where”文本框謝謝馬克,
我確實想要分佈中的“where”,但我不希望出現文本框。回复:使用 JSL 刪除“Where”文本框腳本來自@tx尼爾森在 JMP 14 和 JMP 15 中適用,並且文本不會在數據過濾器更改時返回。不過,我建議做出一項改變。只要有可能,請避免從 JMP 創建的報表中刪除內容,而選擇隱藏它們:
dt = Open("$SAMPLE_DATA/Big Class.jmp");
dist = dt << Distribution( Continuous Distribution( Column( :height ) ), Where( :sex == "F" ) );
dist rep = dist << Report;
(dist rep<<TOPPARENT></TOPPARENT>
當選項發生更改並且需要在報告中添加或刪除內容時,JMP 平台可能會對報告的結構做出假設。JMP 15 更能容忍刪除內容,但在 JMP 14 及更早版本中刪除內容可能會導致不穩定。
回复:使用 JSL 刪除“Where”文本框那個方向@馬克貝利指出你是正確的。然而,需要暴露一個棘手的問題才能得到您想要的正確處理。
Where( :Sex == "F" ) 文本框不在 Dist Report 結構下方。所以,
dist rep = dist << Report;
dist rep(TextBox(1) << delete;
不會指向其中(:性別==“F”)
一個人需要搬到DisplayBox[HeadBox] 位於顯示樹中報表結構之上,以便能夠訪問 TextBox(1)。
下面是完成所需任務的 JSL 語法
dist = dt << Distribution( Continuous Distribution( Column( :height ) ), Where( :sex == "F" ) );
dist rep = dist << Report;
(dist rep<<TOPPARENT></TOPPARENT>
訪問Where(:sex == "F")的另一種方法是從實際窗口引用訪問它
window("Big Class Where(sex == -F-) - Distribution")[textbox(1)]<<DELETE></DELETE>回复:使用 JSL 刪除“Where”文本框是的,如果您保存對平台的引用:
dist = dt << Distribution( Continuous Distribution( Column( :height ) ), Where( :sex == "F" ) );
dist rep = dist << Report;
dist rep[Text Box( 1 )] << Delete;
我不確定正確的索引,但你明白了。
我很好奇:既然這個腳本是你的,如果你不想要它,為什麼要在啟動時包含Where()參數呢? 數據過濾器和本地數據過濾器不會將此文本框添加到報告顯示樹中。