你好,
我必須通過連接到數據庫並運行長時間手動創建的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 )
);