將列從字元轉換為數字時遇到問題<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />大家好,
這是我的第一篇文章 - 我正在嘗試自動化資料處理,其中我接收 Excel 電子表格形式的資料... 工作簿中有一個選項卡包含所有相關資訊。
JMP 似乎將大量資料匯入為字符,而不是數字,我可以在表中手動將資料轉換為數字(通常方式),但不能使用腳本:
有任何想法嗎?
謝謝
湯姆
設定目前目錄("C:\JDSU\ServerCopy\Data\Post-processing characterment\Flash IV\AWSC");
dt=打開(); // 這是我發現讓我在 .xls 檔案中選擇相關工作表「資料排序」的唯一方法
表= ntable();
OpenDTs = List();
保存這個=列表();
關閉這些=列表();
顯示(dt);
/* 我認為這個循環可以消除我不想要的打開的表,但它只關閉一些而不是全部不需要的表
for(i=1, i<=表, i++,
插入( openDTs, 資料表(i)<
IF(資料表(i)<
繼續();
關閉(數據表(i));
);
);
*/
dt<<刪除行({1,2,3,4,5,6,7,8,9}); // 前九行不是資料 - 有沒有辦法在 open() 指令中捕獲它?
列(1)<<集合名稱(“晶圓ID”);
列 (2)<<設定名稱("Xref-Yref");
列(3)<<設定資料類型(“數字”); // 這不起作用......
//欄位({3,4,5,6,7,8,9,10,11,12,13}) <<設定資料型別(數字); //這也不是
col = New COlumn("FF_Calc", numeric);
col<<設定公式(:vmp *:imp /:Voc /:Isc); // 這會回傳錯誤,因為我無法將有問題的欄位變更為數字。
col = 新列(“外部參照”,字元);
col = 新列(“yref”,字元);
列(“voc”)<<設定資料類型(“數字”); //還是不行
回覆:將列從字元轉換為數字時遇到問題在使用列公式之前,您需要“運行”它們。將此行放在 for every row 語句之前:
dt << 運行公式;
其中dt指向您的資料表。
回覆:將列從字元型轉換為數值型時遇到問題湯姆,我覺得你應該把這個貼文重新發到 JMP 論壇上。
藝術
回覆:將列從字元型轉換為數值型時遇到問題將字元列變更為數值列的正確語法範例:
column("voc") << 資料型別( 數值 );
column("voc") << Modeling Type( continuous ); // 如果您想要連續建模類型
或者
dt:voc << 等等...
看起來你的「if」語句中的「continue」後面需要一個逗號…
回覆:將列從字元型轉換為數值型時遇到問題非常感謝。
你知道為什麼如果我在 JSL 視窗中選中一行程式碼然後按 Ctrl+R 運行 for each row() 循環可以正常工作,但當它作為整個腳本的一部分執行時卻不起作用嗎?
col = New COlumn("FF_Calc", numeric) << Modeling Type ( continuous );
col<
新建欄位("xref", 字元, 序數, 公式(如果(右(左(:名稱("Xref-Yref"), 2), 1) == "-", 左(:名稱("Xref-Yref"), 1), 左(:"("Xref-Yref"), 2), "設定屬性("值" "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16"}));
新建欄位("yref", 字元, 序數, 公式(如果(左(右(:Name("Xref-Yref"), 2), 1) == "-", 右(:Name("Xref-Yref"), 1), 右(:Name("Xref-Yref"), 2), "設定值" "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16"}));
對於每一行(
如果(:FF_Calc < 0,則 rowstate() = 排除狀態(1),:FF_calc > 1,則 rowstate() = 排除狀態(1),rowstate() = 排除狀態(0)
);
);
對於每一行(
如果(dt:FF_Calc < 0,rowstate() = 排除狀態(1),dt:FF_Calc > 1,rowstate() = 排除狀態(1),rowstate() = 排除狀態(0)
);
); // 這兩個命令在腳本中都無法運行,但如果手動執行則一切正常。我是否需要選擇表格之類的操作?
回覆:將列從字元型轉換為數值型時遇到問題賓果!
非常感謝!
回覆:將列從字元型轉換為數值型時遇到問題它具體怎麼運作不正常?是出現錯誤訊息還是結果不對?
總之,列變數 col 沒有正確賦值。您必須在單獨的語句中或在 `NewColumn()` 函數中傳送建模類型訊息。賦值完成後,您可以使用 col 來取代 `:FF_Calc`。
例如
col = 新專欄 ( "FF_Calc" , numeric , continuous ) ;
col <<設定值( { -1 , 0 , 1 , 2 } ) ;
對於每一行(
如果(
列< 0 , 行狀態() = 排除狀態( 1 ) ,
科爾> 1, Row State() = Excluded State( 1 ),
行狀態() = 排除狀態( 0 )
)
);