我正在建立跨資料集的關聯選擇經過-分組雙變量圖。這些圖表來自一個長格式表格(每行代表一個眾數的 ID):</CODE></P>
<BR />
<BR />
<BR />
<PRE><CODE class=" language-jsl">dt << Bivariate(
Y( dt:Y ),
X( dt:X ),
By( :MODE )
);
我想要的效果:當我點擊其中一個點時經過-分組圖,我想要其他圖中所有與該分組圖共享相同點的點:ID也希望被選中。我希望在不將表格格式改為寬格式(每個 ID 一行)的情況下實現這一點。
我的嘗試:我發現行狀態處理程序可以重新選擇所有符合 ID 的行。我目前的實現:
f = Function( {row},
rows = dt << Get Selected Rows;
units = Associative Array( dt:ID[rows] ) << Get Keys;
dt << Select Where( Contains( units, :ID ) );
);
rs = dt << Make Row State Handler( f );
問題:此方法僅適用於資料表中的第一個選擇。之後,處理程序就好像失效了一樣。
我的問題:
1. 為什麼行狀態處理程序在第一次選擇後就停止觸發? (我懷疑是不是處理程序內部更改行狀態導致了它停止運行。)
2. 是否有辦法解決這個問題,使處理程序在重複選擇時保持活動狀態?
3. 是否存在更好的基於身分關聯的跨領域選擇方法經過我應該考慮的其他分組圖嗎?
提前致謝。
您很可能會收到一條日誌訊息,其中大致說明了發生了什麼。
Loop detected earlier
有時候更有幫助
Row State Handler is in a loop
Row States should not be changed by Row State Handler.
使用雙變數 + 按 + 堆疊資料表時,我一時想不出什麼好方法。
使用分割(寬)格式表格是最佳選擇。如果您可以使用圖表產生器繪製圖表,則可以將其與公式結合使用,透過疊加/顏色來實現類似效果(不會選擇行)。