尋找並插入匹配的行我有兩列,ColumnA 和 ColumnB。 是否可以將它們的匹配值放在B列中? B 列值來自此清單(這裡是片段程式碼)
fileNames = Files In Directory( directory );
newlist = {};
For( i = 1, i <= N Items( fileNames ), i++,
Insert Into( newlist, fileNames[i] )
);
dt << New Column( "COlumn B", Character, Values( newlist ) );
| A欄 | B欄 |
| 蘋果.doc | |
| 橘子.doc | 橘子.doc |
| 葡萄.doc | 葡萄.doc |
| 草莓.doc | |
| 芒果.doc | 芒果.doc |
資料混合與清理品質和工藝工程回覆:尋找並插入符合的行它已經取代了 Name()(我認為是在 JMP16 中)。 如果有一些特定的特殊字元(例如在列名稱中),則需要它。 這是一篇提到它的幫助文章(有更好的一篇,但無法快速找到)腳本編寫指南 > JSL 建構塊 > JSL 語法規則 > 名稱。
我使用它是因為我不信任列名稱中的空格,儘管它們在 JMP 中應該沒問題。
回覆:尋找並插入符合的行謝謝大家的回覆。 效果很好。
我只是想知道 n 是什麼意思
:"Column A"n
回覆:尋找並插入符合的行多了一種選擇,與第一種非常接近@喬治假如
Names Default To Here(1);
dt = New Table("Untitled",
Add Rows(5),
New Column("Column A",
Character,
"Nominal",
Set Values({"Apple.doc", "Orange.doc", "Grapes.doc", "Strawberry.doc", "Mango.doc"})
)
);
newlist = {"Orange.doc", "Grapes.doc", "Mango.doc"};
dt << New Column("Column B", Character, Nomimal,
<< Set Each Value(
If(Contains(newlist, :"Column A"n),
:"Column A"n
,
""
)
)
);回覆:尋找並插入符合的行除了 Jim 的 Join Tables 之外,這將是另一個解決方案:
Names Default To Here( 1 );
// Prepare Table with Column A
dt = New Table( "Column A",
Add Rows( 5 ),
New Column( "Column A", Character, "Nominal", Set Values( {"Apple.doc", "Orange.doc", "Grapes.doc", "Strawberry.doc", "Mango.doc"} ) )
);
// Get the list
newlist = {"Orange.doc", "Grapes.doc", "Mango.doc"};
dt << New Column( "Column B", Character );
// Check each row if value is part of the list
For Each Row( dt, If( Contains( newlist, :"Column A"n ), :"Column B"n = :"Column A"n ) );
編輯只是為了讓它更清楚
回覆:尋找並插入符合的行在單獨的資料表中建立 B 列,然後使用
表=>連接
將 2 個表合併在一起,將資料表 1 中的 A 列與資料表 2 中的 B 列進行比對。