JMP 13.2.1 中是否有更新資料表的刷新選項你好,
我將一些資料從 Excel 匯入到 JMP 13.2.1 中的資料表中。 現在,Excel 檔案中的一些儲存格已更新,我想知道是否可以從現在包含更新儲存格的 Excel 檔案匯入資料(類似於引用 JMP 資料表中的資料)。 請注意,行數或列數以及列標題均已更改;只是數字不同。
謝謝
回覆:JMP 13.2.1 中是否有刷新選項來更新資料表該腳本將在稍微不同的情況下提供幫助(需要使用適當的設定以及設定來更改“Wetterdaten.jmp”,最好使用初始報告的來源腳本):
如果您像拜倫建議的那樣更新表,您將保留表屬性,但您將覆蓋任何資料清理步驟,例如重新編碼(覆蓋)列或填充缺失值,... 它們將被更新表覆蓋。
首先取得目前表的行數,然後從匯入的表中刪除它們,然後連接最終的新表將避免「您的所有工作都已透過更新被破壞」的痛苦覺醒。
// Define current data table (current data)
dt1 = Current Data Table();
// Check number of rows in actual data table (current recorded and cleaned data)
n_rows = NRows();
// Open Excel file to read new data -> will open a new data table with the same name and all the previous and new data
dt2 = Open("Wetterdaten.xlsx",
Worksheets( {"Import Data"} ),
Use for all sheets( 1 ),
Concatenate Worksheets( 1 ),
Create Concatenation Column( 0 ),
Worksheet Settings(
1,
Has Column Headers( 1 ),
Number of Rows in Headers( 1 ),
Headers Start on Row( 1 ),
Data Starts on Row( 2 ),
Data Starts on Column( 1 ),
Data Ends on Row( 0 ),
Data Ends on Column( 0 ),
Replicated Spanned Rows( 1 ),
Suppress Hidden Rows( 1 ),
Suppress Hidden Columns( 1 ),
Suppress Empty Columns( 1 ),
Treat as Hierarchy( 0 )
)
);
// Delete in dt2 all previous worked on data using the n_rows information
dt2 << DeleteRows(1::n_rows);
// Concatenate tables: dt2 appended to dt1, so you avoid creating a new table
dt1 << Concatenate (dt2, Append to first table);
// Close support table dt2
Close(dt2);
當然,您可以隨意進一步自訂此腳本。 例如 我會選擇常規匯入例程,將 Excel 匯入的設定變更為原始數字 + 目前已匯入的行數。 這樣您就可以直接進行連接,而無需刪除行。 而且我不喜歡硬編碼的表名,所以我會先檢查表名並將其用作 Excel 匯入中的表名。
只是一些想法......:)
excelFile = "Wetterdaten.xlsx";
cdt = Current Data Table();
cdtName = cdt << get name();
n_Rows = NRows();
dtHelp = Open(
excelFile,
Worksheets( {eval(cdtName)} ),
Use for all sheets( 1 ),
Concatenate Worksheets( 1 ),
Create Concatenation Column( 0 ),
Worksheet Settings(
1,
Has Column Headers( 1 ),
Number of Rows in Headers( 1 ),
Headers Start on Row( 1 ),
Data Starts on Row( 2+ n_Rows ),
Data Starts on Column( 1 ),
Data Ends on Row( 0 ),
Data Ends on Column( 0 ),
Replicated Spanned Rows( 1 ),
Suppress Hidden Rows( 1 ),
Suppress Hidden Columns( 1 ),
Suppress Empty Columns( 1 ),
Treat as Hierarchy( 0 )
), Invisible
);
cdt << Concatenate (dtHelp, Append to first table);
Close(dtHelp);
回覆:JMP 13.2.1 中是否有刷新選項來更新資料表謝謝菲爾。 現在可以了。 之前,我忽略了 Excel 工作表需要作為 JMP dt 開啟這一點。
回覆:JMP 13.2.1 中是否有刷新選項來更新資料表你好,
我不清楚您是否將 Excel 文件作為 JMP 表開啟。 需要將其作為 JMP 表打開,以便您在更新表對話框中選擇它。
問候,
菲爾回覆:JMP 13.2.1 中是否有刷新選項來更新資料表感謝拜倫的詳細回覆。
問題是,即使僅開啟 JMP dt 和 Excel(更新)文件,我也看不到「更新表」對話方塊中列出的 Excel 文件。 JMP 仍然顯示 3 個沒有相關性的檔案名稱 + 它們現在未在電腦上開啟(請參閱隨附的螢幕截圖)。 謝謝

回覆:JMP 13.2.1 中是否有刷新選項來更新資料表好的,所以當您單擊“表/更新”時,您會看到所有當前打開的表的列表。
更新本質上是一個內部連線。
目前活動表是您可以使用選定表更新的表。
如果沒有其他桌子開放。
接下來,我在 JMP 中開啟 Excel 表,新增腳本,為行著色,並執行除更改列名稱之外的任何操作。
這是我的主表。
其次,我開啟新版本的 Excel 表格。 在 JMP 之外,該表已被編輯、變更或更新。
執行表/更新操作:
選擇第一個表(記住此時只有兩個表打開,主表和新副本)
表/更新。
在對話方塊中選擇新副本。
選擇要匹配的列。
按一下“確定”。
現在新表中的資料將覆蓋主表中的資料。
新副本不需要是完整的表。 它可能只包含幾行,或只包含幾列。 無論哪種方式,它都會更新到主表。
回覆:JMP 13.2.1 中是否有刷新選項來更新資料表謝謝拜倫。 表>更新選單聽起來很有希望。 當我單擊要更新的 dt 中的“表”>“更新”選單。 它開啟了「更新」對話框,但是在對話框的「更新 dt.. 使用資料」部分中,JMP 顯示了一些與目前 dt 不相關的檔案(資料表?)名稱(不知道如何/為什麼JMP 選擇顯示這些文件)。 我找不到找到更新的 Excel 文件以從中提取更新資料的方法。 請問您知道如何選擇更新的 Excel 檔案來擷取資料嗎?謝謝
回覆:JMP 13.2.1 中是否有刷新選項來更新資料表我會採納菲爾的建議,但方向略有不同。
假設您已經對第一個表 (dt1) 進行了全部格式化和設定。
您可以使用來源腳本來提取原始 Excel 表 (dt2) 的新「新鮮」副本
現在用表 2 更新表 1。(表選單,更新)或使用這樣的腳本。
注意:您可以使用多列為每行定義唯一識別碼。
dt1 << Update(
With(dt2 ),
Match Columns( :Unique = :Unique )
);
回覆:JMP 13.2.1 中是否有刷新選項來更新資料表是的,我希望如此。 來源腳本重複匯入到 JMP 表中。
我認為您必須編寫進一步的資料預處理步驟的腳本。 例如:
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
Wait( 2 );
dt:Age << Data Type( "Character" );
dt:Height << Data Type( Numeric, 2 );
也:
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dt << Color or Mark by Column( :Age );
回覆:JMP 13.2.1 中是否有刷新選項來更新資料表我右鍵單擊JMP 資料表中的“來源”並選擇“運行”,它創建了一個新的資料表,該資料表沒有我在第一個資料表中建立的設定(按列和資料類型的行顏色等)。
回覆:JMP 13.2.1 中是否有刷新選項來更新資料表你好,
如果您使用 Excel 匯入精靈從 JMP 開啟 Excel 文件,您將在資料表中獲得來源腳本。 嘗試一下。 這可能有幫助。
問候,
菲爾