回复:嵌套/多數據過濾上下文框我想這就是我迷路的地方。 氣泡圖似乎依賴於所有源圖。 你可以生效把你的“最終”圖在數據過濾器源框本身,但隨後您將看到所有不受歡迎的數據,只是未選中/灰顯。
回复:嵌套/多數據過濾上下文框我不能肯定地說是,但是如果您查看我提供的代碼的結構,我可以想像能夠對其進行擴展以支持您的結構。
我會拿這個樣本,看看你是否可以讓它在第二級過濾器上分支到兩個不同的過濾圖。
回复:嵌套/多數據過濾上下文框您可以使用這種方法將不同的子過濾器應用於不同的圖嗎? 似乎所有地塊都會收到相同的過濾器。
我需要一個帶有一系列獨立(不可見)子過濾器的主過濾器,這些子過濾器應用於不同的繪圖集。 我已經用註釋掉的“where”過濾器更新了我的原始帖子,以更好地傳達這一點。
回复:嵌套/多數據過濾上下文框這是我關於 2 級過濾器的討論中的一個示例。這是我在上一篇文章中提供的示例的擴展。
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
New Window( "Shared Local Filter",
Data Filter Context Box(
H List Box(
Data Filter Source Box(
H List Box(
Graph Builder(
Size( 208, 207 ),
Show Control Panel( 0 ),
Show Legend( 0 ),
Variables( X( :age ) ),
Elements( Bar( X, Legend( 3 ) ) ),
SendToReport( Dispatch( {}, "Graph Builder", OutlineBox, {Set Title( "Filter" )} ) )
),
Data Filter Source Box(
Graph Builder(
Size( 208, 207 ),
Show Control Panel( 0 ),
Show Legend( 0 ),
Variables( X( :sex ) ),
Elements( Bar( X, Legend( 3 ) ) ),
SendToReport(
Dispatch( {}, "Graph Builder", OutlineBox, {Set Title( "Filter" )} )
)
)
)
)
),
Platform(
Current Data Table(),
Bubble Plot( X( :weight ), Y( :height ), Sizes( :age ), Title Position( 0, 0 ) )
)
)
)
);回复:嵌套/多數據過濾上下文框謝謝吉姆! 除非我誤解/忽略了某些東西,否則這只是根據第一個圖過濾第二個圖。 除了第一個圖之外,我如何過濾第二個圖?
IE 我希望根據第一個過濾第二個圖形,但此外,我只需要第一個過濾器中的數據子集。
實際上我想要的是添加“Where(:ToolID == pTools[j]);”到可變性圖表,但如果我這樣做,那麼它會完全忽略數據過濾源框(或者在我的情況下是本地數據過濾器)。 實際上,我花了很長時間試圖弄清楚我在數據過濾器源框中做錯了什麼,只是在我從可變性圖表中刪除了上面的“where”行後才意識到它起作用了。
回复:嵌套/多數據過濾上下文框我相信我明白你想要什麼。這是一個示例,直接取自 Scripting Index
幫助==>腳本索引==>DataFilterSourceBox
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
New Window( "Selection Filter",
Data Filter Context Box(
H List Box(
dfsb =
Data Filter Source Box(
Graph Builder(
Size( 208, 207 ),
Show Control Panel( 0 ),
Show Legend( 0 ),
Variables( X( :age ) ),
Elements(
Bar( X, Legend( 3 ) )
),
SendToReport(
Dispatch(
{},
"Graph Builder",
OutlineBox,
{Set Title( "Filter" )}
)
)
)
),
Platform(
Current Data Table(),
Bubble Plot(
X( :weight ),
Y( :height ),
Sizes( :age ),
Title Position( 0, 0 )
)
)
)
)
);
根據您在一個圖表中的“點擊”選擇,它會過濾另一個圖表
嵌套/多個數據過濾器上下文框::edit:: 在代碼中添加了註釋並包含了一個屏幕截圖以幫助可視化。
是否有可能做嵌套的過濾器上下文框或生成有效地做同樣事情的東西? 基本上我想要一組適用於報告中所有圖的父過濾器。 該圖中的報告需要它們自己的特定過濾器來限制它們顯示的數據。
我有一個這樣的交互式報告:
(1) 一個分為兩列的H列錶框。
(A) 第一列包含一組過濾器,適用於第二列中的任何內容。
(B) 第二列包含一個選項卡框,其中包含針對不同“工具類型”的多個選項卡。
(i) 每個選項卡包含一個 h 列錶框,其中包含給定類型的每個“工具”的變異性圖表列。 每列都需要自己的過濾器來限制它顯示的“工具”。
(a) 此過濾器基於列表進行硬編碼,但 VarCharts 需要根據 (A) 中的過濾器進行更新。
我發現的是,如果我在可變性圖表中放置一個 where(),它會忽略 (A) 中的過濾器。 然後我嘗試嵌套過濾器上下文框,但這似乎不起作用。 新的過濾器出現了,但實際上只有最父級的過濾器才做任何事情。
我試圖創建我的代碼的精簡/匿名版本,因此可能會有一些拼寫錯誤:
myRootPath = "C:\Log_Testing\";我的日誌路徑 = 我的根路徑;我的報告路徑 = 我的根路徑 || “報告\”;我的路徑=我的根路徑|| “日誌”; // I tools to plot // 格式:ToolID iTools = {"i1", "i5"}; // 要繪製的 P 工具 // 格式:ToolID pTools = {"p1", "p2"};設置當前目錄( mypath ); mainDt = Open( myLogPath || "Log.jmp" );批量交互(1); //批處理模式 dt_name = mainDt << get name(); dt_path = myLogPath; mainDt << 清除選擇; filterContextBox = 數據過濾器上下文框(); spcWin = 新窗口( dt_name || "_VarCharts", filterContextBox ); filterBox = H List Box( mainDt << Data Filter( //條件,局部,添加過濾器( columns( :WW,
), Display( :WW, Blocks Display ), Display(
, Blocks Display ), ), Mode( Select( 0 ), Show( 1 ), Include( 1 ) ), ) ); filterContextBox << Append(過濾器框); filterBox << Append( tb = Tab Box() ); tb << Add( "P", hPTab = H 列錶框() ); tb << Add( "I", hITab = H List Box() ); numPTools = N 項( pTools ); numITools = N 項( iTools ); //Create P Plots For(j = 1, j <= numPTools, j++, hPTab << Append( vToolBox = V List Box() ); vToolBox << Append( toolTab = Outline Box( pTools[j] ) ); ycol = "VariableName"; parseName = "Variability Chart for " || ycol; toolTab << append( NewChart = Variability Chart( Y( Column( ycol ) ), X( :WW,
), Max Iter( 100 ), Conv Limit( 0.00000001 ), Number Integration Abscissas( 128 ), Number Function Evals( 65536 ), Analysis Type( Name( "Choose best analysis (EMS REML Bayesian)" ) ), Connect Cell Means( 1 ), Std Dev Chart( 0 ), Points Jittered( 0 ), AIAG Labels( 0 ), Automatic Recalc( 1 ),
/*如果下一行沒有被註釋掉,它會忽略本地過濾器,只使用這個。 我需要兩者。 */
其中(:ToolID == pTools [j]); SendToReport( Dispatch( {}, "Variability Gauge", OutlineBox, {Set Title( "" )} ), Dispatch( {parseName}, "2", ScaleBox( 2 ), {Format( "固定十二月", 4, 0 ), Min( 0 )}), Dispatch( {parseName}, "Group Means", StringColBox, {Visibility( "Collapse" )}), Dispatch( {parseName}, "", PlotColBox, {Visibility( "Collapse" ) } ) ) ) ); );
回复:嵌套/多個數據過濾器上下文框我一直在使用代碼,但無法讓它按照您指定的方式工作。
抱歉,也許其他社區成員有一個想法。
這是一個示例,其中從單個選擇圖中獲取了 2 條獨立路徑......我認為這接近您想要的
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dt << New Column( "Potential",
Character,
"Nominal",
Set Values(
{"1", "2", "1", "2", "1", "2", "1", "2", "1", "2", "1", "2", "1", "2", "1", "2", "1", "2", "1", "2", "1", "2", "1", "2", "1", "2",
"1", "2", "1", "2", "1", "2", "1", "2", "1", "2", "1", "2", "1", "2"}
)
);
New Window( "Shared Local Filter",
Data Filter Context Box(
H List Box(
Data Filter Source Box(
H List Box(
Graph Builder(
Size( 208, 207 ),
Show Control Panel( 0 ),
Show Legend( 0 ),
Variables( X( :age ) ),
Elements( Bar( X, Legend( 3 ) ) ),
SendToReport( Dispatch( {}, "Graph Builder", OutlineBox, {Set Title( "Filter" )} ) )
),
//Data Filter Context Box(
V List Box(
Data Filter Source Box(
H List Box(
Graph Builder(
Size( 208, 207 ),
Show Control Panel( 0 ),
Show Legend( 0 ),
Variables( X( :Potential ) ),
Elements( Bar( X, Legend( 3 ) ) ),
SendToReport( Dispatch( {}, "Graph Builder", OutlineBox, {Set Title( "Filter" )} ) )
),
Platform(
Current Data Table(),
Bubble Plot( Y( :weight ), X( :height ), Sizes( :age ), Title Position( 0, 0 ) )
)
),
),
Data Filter Source Box(
H List Box(
Graph Builder(
Size( 208, 207 ),
Show Control Panel( 0 ),
Show Legend( 0 ),
Variables( X( :sex ) ),
Elements( Bar( X, Legend( 3 ) ) ),
SendToReport( Dispatch( {}, "Graph Builder", OutlineBox, {Set Title( "Filter" )} ) )
),
Platform(
Current Data Table(),
Bubble Plot( X( :weight ), Y( :height ), Sizes( :age ), Title Position( 0, 0 ) )
)
)
)
)
//)
)
)
)
)
);回复:嵌套/多個數據過濾器上下文框謝謝吉姆! 我想出了類似的東西。 我試圖找到一種方法來隱藏/縮小未選擇的點,但看起來不可能。
我想我還找到了一種完全不同的方法:使用“by()”並使用單獨的 SendToGroup() 循環遍歷每個 ToolID。 設置標題有點複雜,但一旦弄清楚我就會發布結果。 希望它能像您所有的帖子一樣對將來的人有所幫助!回复:嵌套/多個數據過濾器上下文框我在您所描述的內容中附上了兩個類似佈局的示例:
SFCrimeNestedFilter.jsl 演示瞭如何嵌套數據過濾器上下文框以在過濾器中獲得級聯/分層行為。儘管我用於選項卡框的語法是 JMP 13+,但此方法適用於 JMP 10+。
SFCrimeFilterWithWhere.jsl 將每個報告的內部過濾器替換為Where() 子句。這種類型的佈局適用於 JMP 14,但不適用於之前的版本。問題在於過濾器使用完整表,而報告使用子集表。
我希望這有幫助!
回复:嵌套/多個數據過濾器上下文框這似乎正是我正在尋找的! 非常感謝! 所以看來我的錯誤根本就是使用了源框?回复:嵌套/多個數據過濾器上下文框在 Jim 的示例中,數據過濾器源框正是使用一個 JMP 圖形過濾另一個 JMP 圖形所需的。我在原始腳本中沒有看到數據過濾器源框 - 我認為主要問題是在父表上使用帶有過濾器的Where()子句(子集表)。
數據過濾器源框只需要使用平台作為過濾器,因為與內置數據過濾器對像不同,我們無法推斷過濾器的行為應該是什麼。