你好,
我必須透過連接到資料庫並執行長時間手動建立的 SQL 查詢來定期更新 JMP 檔案。 到目前為止,我使用的是“作為" 指令將資料庫中的欄位名稱與 JMP 中欄位的簡化名稱進行比對。 將資料匯入臨時 JMP 表後,我的腳本透過使用相同的短列名稱與我的工作 JMP 檔案進行聯結來完成更新。
問題 1:我嘗試使用 JMP 最新的 SQL 查詢產生器(我相信從版本 11 開始可用)。 但除了手動編輯查詢之外,我找不到管理“AS”命令的按鈕,這大大降低了新建構函數的興趣。 有更有效的方法嗎?
問題2:有沒有更適合我需求的方法? 如果我按原樣將欄位(不更改名稱)匯入到臨時表中,是否有一種有效的方法來更新 JMP 表中的資料? 例如,在我的腳本中使用某種名稱映射表?
注意:我選擇不將更新的資料直接匯入 JMP 檔案中,因為這些項目並不總是按相同的順序排列,而且我會定期為派生資料建立新列。 否則,更新時會產生偏移。
感謝您的關注
克勞德B.
一種選擇可能是在查詢結果中保留名稱不變,然後使用具有舊名稱和新名稱的已儲存資料表更新它們:
Names default to here(1);
//Open a saved jmp file with the old and new names (creating the table here instead of opening it...)
dtNames = New Table( "Names",
Add Rows( 4 ),
New Column( "old", Character, "Nominal",
Set Values( {"Sepal length", "Sepal width", "Petal length", "Petal width"} )
),
New Column( "new", Character, "Nominal",
Set Values( {"sl", "sw", "pl", "pw"} )
)
);
//Run database query using 'default' column names
dtQuery = Open("$Sample_data/iris.jmp");
//Update names in the query results
for each row( dtNames,
Column( dtQuery, :old ) << Set Name( :new )
);