嘗試讓圖形產生器自動繪製篩選資料表查詢中的數據大家好,
JMP 16 用戶請點擊此處。我有一個加載項,可以從工作資料庫中提取資料並建立一個表。在我感興趣的特定文件中,有 20 年前的數據,但我只想要最近 6 個月的數據。
我設法建立一個查詢,過濾來源表中的資料並將其放入新的子集表中。查詢過濾器基於我輸入的任何日期範圍,並將過濾器設定為在腳本運行時提示輸入,如下圖所示。

該查詢完成了它的工作,並為我提供了我感興趣的日期範圍內的數據。我已經設法使腳本按如下方式工作 - 從來源資料庫輸入 - >查詢來源表並根據日期範圍進行過濾 - >使用新資料開啟一個新表。

然後我想要的是在圖形生成器中繪製新數據。我希望每當我使用我選擇的日期範圍內的資料運行腳本時,該圖都會自動顯示並填入。我嘗試將圖形生成器腳本複製到 ChemicalUsageQuery,如上圖所示,但當我運行它時,它要么不填充,要么填充原始來源資料庫表中的數據,並且日期更改為 1904 年。
我希望運行該腳本,提示我輸入日期範圍,打開一個新的子集表,然後自動繪製資料圖表。任何幫助將非常感激。
謝謝,
資料存取回复:嘗試讓 Graph Builder 自動繪製來自過濾數據表查詢的數據您可以嘗試使用子集:
Names default to here(1);
dt1 = Open("$Sample_data/big class.jmp");
//By selecting rows:
dt1 << Select Where(:age == 12);
dt2 = dt1 << Subset(
Selected Rows( 1 ),
Selected columns only( 0 )
);
//Or, by row numbers:
rowstokeep = dt1 << Get Rows Where(:age == 12);
dt3 = dt1 << Subset(
Selected Rows( 0 ),
Rows( rowstokeep ),
Selected columns only( 0 )
);回复:嘗試讓 Graph Builder 自動繪製來自過濾數據表查詢的數據再一次問好,
我一直在嘗試向上面的腳本添加一些功能。 我目前有一個文本框可以打開並提示用戶輸入日期,還有一個檢查列錶框可以提示他們想要查看的化學品。 這是為了讓腳本僅繪製用戶在給定日期範圍內選擇的化學品的數據。
名為“dt”的數據表打開。 我想要的是讓用戶選擇的行位於列表“lt”中,並將它們放入一個名為“dt2”的新數據表中。 我希望使用對應於 lt[i] 的新數據為循環的每次迭代更新 dt2。
For ( i = 1, i <= N Items(lt), i++,
dt << Select Where(:chemical == lt[i] );
dt2 = New Table("mytest", dt << Get Selected Rows);
);上面的腳本選擇了行,但打開了一個空的 dt2。
任何幫助表示讚賞。 謝謝!
回复:嘗試讓 Graph Builder 自動繪製來自過濾數據表查詢的數據太感謝了。 有效。
回复:嘗試讓 Graph Builder 自動繪製來自過濾數據表查詢的數據我認為您只需要在打開新表時保存對新表的引用,然後將圖形生成器腳本發送到該引用。 只需運行 Graph Builder() 就會針對當前數據表運行它,這可能不是您想要的。例如,請注意此腳本中 dt2 的作用:
Names default to here(1);
dt1 = Open("$Sample_data/big class.jmp");
dt2 = New SQL Query(
Version( 130 ),
Connection( "JMP" ),
JMP Tables(
Associative Array({{dt1 << Get Name, "_MEMORY_"}})
),
QueryName( "SQLQuery1" ),
Select(
Column(
"height",
"t1",
Alias( "Average-height" ),
SavedJMPName( "height" ),
Aggregation( "Average" )
),
Column(
"age",
"t1",
Analysis Type( "Ordinal" ),
Numeric Format( "Fixed Dec", "0", "NO", "" )
)
),
From( Table( "big class", Alias( "t1" ) ) ),
Group By(
Column(
"age",
"t1",
Analysis Type( "Ordinal" ),
Numeric Format( "Fixed Dec", "0", "NO", "" )
)
)
) << Run;
dt2 << Graph Builder(
Show Control Panel( 0 ),
Variables( X( :age ), Y( :"Average-height"n ) ),
Elements( Points( X, Y, Legend( 3 ) ) )
);