从列列表中获取列名称
Names Default to Here(1);
dt = Current Data Table();
column list = dt << Get Column Names(Continuous);
key list = dt << Get Column Group("KEYS");“列列表”包含一个名单来自包含连续数据的列。
“关键列表”包含列列表在“KEYS”组中。
如何从“键列表”中获取列的名称? 最终,我想从“KEYS”组中的“列列表”中删除任何连续的列名称。 我找到了 Craige Hales 的帖子来管理列表,但我需要以相同的格式获取它们。
回复:从列列表中获取列名称这是一个您可以帮助我完成的简单任务 - 一旦我“获取列名称”,我如何将它们插入到数据表中,该数据表只是相同的列名称列表?谢谢德文
回复:从列列表中获取列名称请不要敲头! 使用帮助 > 脚本编写指数反而。

回复:从列列表中获取列名称感谢您关于包含需要文字字符串的注释,并且“获取列名称”不提供“字符串”选项。 我用头撞了很长时间,添加“绳子”立即修复了它。回复:从列列表中获取列名称技巧是: Char(key list[i]))
(我从未想过将列引用转换为字符串)回复:从列列表中获取列名称这是我按照建议将密钥列表转换为字符串后得到的解决方案:
// Initialize
Names Default to Here(1);
dt = Current Data Table();
key list names = {};
// Get a list of all continuous columns
column list = dt << Get Column Names(Continuous, String);
// Create a list of column names in the KEYS group
key list = dt << Get Column Group("KEYS");
For(i = 1, i <= N Items(key list), i++,
Insert Into(key list names, Char(key list[i]))
);
// Remove from the column list any column that is in the KEYS group
/* <BR />Adapted from - Re: Quick way to compare two lists (uncommon elements)?
JAN 10, 2017 6:41 AM, by Craige_Hales, STAFF (RETIRED)
*/
set1 = Associative Array(column list);
set2 = Associative Array(key list names);
// Find the names common to both lists
intersection = set1;
intersection << Intersect(set2);
// Remove the common names
cleaned list = set1;
cleaned list << Remove(intersection);
column list = cleaned list << Get Keys;
回复:从列列表中获取列名称谢谢。 我希望从“列列表”中删除“进程”组中的任何名称(使用您的示例),因此需要从“列列表”而不是“键列表”中删除项目。 我希望我需要在列列表中搜索 Char(key list[i]) ,如果找到则将其删除。回复:从列列表中获取列名称从 << 获取列名称和 << 获取列组返回的内容是 JMP 列表。您可以粗略地将它们视为值数组。请查看有关使用列表的脚本指南部分。
下面是对代码的修改,它将检查两个列表之间的比较,查找两个列表中常见的列名称,然后将它们从“键列表”列表中删除。请注意,Contains 函数需要文字字符串才能运行,因此这就是为什么 <
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/semiconductor capability.jmp" );
column list = dt << Get Column Names( Continuous, string );
key list = dt << Get Column Group( "Processes" );
Show( "complete list", key list );
For( i = N Items( key list ), i >= 1, i--,
If( Contains( column list, Char( key list[i] ) ),
key list = Remove( key list, i, 1 )
)
);
Show( "final list", key list );
在我的示例中,键列表最终没有任何值,因为组中的所有元素都是数字列