查找并插入匹配的行我有两列,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 列进行匹配。