根據本地資料篩選器中所選資料的子集重新評估報告的公式親愛的,
如果可以根據本機資料篩選器中所選資料的子集重新評估報告的公式,任何人都可以給出提示嗎?
例如我的公式是
Col Sum(:aval, :ID)
在所附的螢幕截圖中,只有第9行滿足本地資料過濾條件。 是否可以建立一個傳回 1 而不是 2 的公式(因為在 ID= V2_7 內,只會對 aval = 1 的 1 筆記錄進行求和)?
我強烈喜歡互動式解決方案(實際上無需對錶進行子集化或建立匯總表)。 我了解到 Col ... 公式可以根據“Selected()”行狀態計算統計數據,因此我認為可能有一種方法可以根據本地數據文件管理器子集執行類似的操作。
另一個可以部分滿足我的要求的解決方案是圖形產生器中 N 個類別(:var)摘要統計的可用性,但據我所知,它尚不可用。
多謝!
亞歷克斯.

回覆:根據本機資料篩選器中所選資料的子集重新評估報表的公式(*) 沿著這個想法:不污染數據表
…… 我想知道是否可以使用轉換列而不是真正的列。
不幸的是,這是不可能的:
https://community.jmp.com/t5/Discussions/how-to-reference-a-Transform-Column/mp/691608/highlight/true#M87735
因此,目前必須使用「真實列」(請參閱上一篇文章) - 或接受使用轉換列的解決方案與每次在本機資料中進行選擇時重新建立列一樣「自動」過濾器已更改。
回覆:根據本機資料篩選器中所選資料的子集重新評估報表的公式資料表中的公式不知道報表的本機資料篩選器的選擇。
更令人驚訝的是,對於轉換報告中的列- 它只是忽略相應報告的本地數據過濾器的選擇。
我們已經習慣了圖表產生器中的總計統計資料自動執行的操作。
在這種背景下,列公式的行為感覺像是錯誤:
轉換列:排除行的錯誤
Jmp 支援的話 (TS-00056243)
看起來轉換列公式不會像全域資料過濾器變更那樣重新評估以回應本機資料篩選器變更。 我會將其報告為錯誤。謝謝你指出來。
過了一會兒,我得到了回饋:
該問題已被報告,正如您所假設的,開發人員認為這是按設計運行的,其中轉換列在尊重行狀態方面的行為就像常規表列一樣。
關於 Jmp 的未來版本,願望清單中有一個條目建議添加一個不忽略的選項本地資料過濾器:
轉換列 - 與總計統計一樣舒適?
作為目前 Jmp 的解決方法,您必須使用 REAL 列(而不是轉換列 (*)),透過 JSL 向本機資料過濾器詢問所選行,並將回應用作公式的輸入:
https://community.jmp.com/t5/Discussions/Transform-Column-Bug-with-excluded-rows/mp/676095/highlight/true#M86284
回覆:根據本機資料篩選器中所選資料的子集重新評估報表的公式你好,我今天遇到了同樣的問題,並嘗試了解決方案@tx尼爾森。 不幸的是,當我將其與本地資料過濾器一起使用時,該公式沒有更新。 我錯過了什麼? 或者該解決方案不再適用於 JMP 16?
回覆:根據本機資料篩選器中所選資料的子集重新評估報表的公式使用本地資料過濾器...該公式也適用。 我使用了全域過濾器,因為我沒有開放平台回覆:根據本機資料篩選器中所選資料的子集重新評估報表的公式非常感謝吉姆!
事實上,我正在尋找的是直接在圖形生成器的本地數據過濾器中相同的功能,但是只要我可以將此數據過濾器與數據表和圖形一起放入儀表板中,該解決方案就應該可以正常工作(只需要玩一下這個)。
回覆:根據本機資料篩選器中所選資料的子集重新評估報表的公式透過在 Col Sum() 函數中使用 If() 子句,您可以排除排除的行
Names Default To Here( 1 );
// Open the data table
dt = Open( "$SAMPLE_DATA\Blood Pressure.jmp" );
// Set it up to look like your data
dt << delete columns(
{"BP 12M", "BP 6M", "BP 8W", "BP 12W", "BP 6W", "BP 8F", "BP 12F",
"BP 6F"}
);
dt:Subject << set name( "ID" );
dt:BP 8M << set name( "aval" );
// Create the new column
dt << New Column( "myCol",
formula( Col Sum( If( Excluded( Row State( Row() ) ), ., :aval ), :ID ) )
);
// Apply a filter
dt << Data Filter(
Location( {809, 218} ),
Mode( Show( 1 ), Include( 1 ) ),
Add Filter(
columns( :Dose ),
Display( :Dose, Size( 160, 60 ), List Display )
)
);