如何將所有列值新增至 JMP 查詢產生器中的自訂篩選器中您好,先生或女士,
我想要做的是使用 SQL 查詢從第一個資料庫中提取一個資料表,然後我想將表中一列的值放入第二個 JMP 查詢產生器中的自訂過濾器中。
我嘗試從第一個資料庫中提取 WO 資料表的 Col Serial 中的值,如下所示,
Col_Values = 資料表( "WO" ):Serial << 取得值;
然後,嘗試將該值放入第二個資料庫的 JMP 查詢產生器中 Col part_id 的自訂篩選器中。
其中(自訂( “part_id in (Col_Values)”,UI(自訂(Base( “Continuous” ))))
但是,它沒有起作用。
如果有任何方法可以做到這一點,我將不勝感激。
提前致謝。
資料存取回覆:如何將所有列值新增至 JMP 查詢產生器中的自訂篩選器中這將獲取數據表中的所有值
col_values=data table("WO")[0,0]回覆:如何將所有列值新增至 JMP 查詢產生器中的自訂篩選器中不確定您在哪個時候遇到問題,但首先從您的列中獲取唯一值列表。
使用關聯數組(不適用於浮點數),如果資料量很大的話,速度會很慢(也會對資料進行重新排序)
Names Default To Here(1);
dt = open("$SAMPLE_DATA/Big Class.jmp");
uniq_age = Associative Array(Column(dt, "age")) << get keys;
使用匯總,將數字更改為字串,這在本例中是件好事
Names Default To Here(1);
dt = open("$SAMPLE_DATA/Big Class.jmp");
Summarize(dt, uniq_age = By(:age));
或使用總計平台和資料表下標/取得值。
然後使用連接項將該列表轉換為字串並建立查詢字串。您可能需要評估價值,但我不確定這是否有必要
Names Default To Here(1);
dt = open("$SAMPLE_DATA/Big Class.jmp");
Summarize(dt, uniq_age = By(:age));
uniq_age_in = Concat Items(uniq_age, ", ");
//uniq_age_in = "'" || Concat Items(uniq_age, "', '") || "'"; // note that if you have string, you need to add quotes
custom_sql_template = "part_id in (¤uniq_age_in¤)";
custom_sql = Eval Insert(custom_sql_template, "¤");
// your sql thing
Where(Custom(custom_sql, UI(Custom(Base("Continuous")))));
// or if evaluation is necessary
Eval(EvalExpr(
Where(Custom(Expr(custom_sql), UI(Custom(Base("Continuous")))));
));
回覆:如何將所有列值新增至 JMP 查詢產生器中的自訂篩選器中你好呀,
非常感謝您的回答。我需要稍微修改下面的腳本,但總的來說它可以按照我想要的方式完美運行。我非常感謝你的幫助。
謝謝,
資料表(“WorkOrder_Serial”)<<新列(“WO_SN”,
特點,
“名義上的”,
式(“'”||:serial||“'”)
(英文):
//我製作了一個帶有引號的新列,因為它運作良好。
匯總(資料表(“WorkOrder_Serial”),SN = By(:WO_SN));
uniq_age_in = 連接項目(SN,“,”);