如何获取包含用户给出的某些单词的列名称?你好,
我正在寻找有关获取包含我感兴趣的某些单词的列的建议。
例如:
我想获取下面提供的给定示例数据中包含“Number”的任何列名称。 预期返回的列名称列表应为 {"Flight Number" , "Tail Number"}。 但是,我无法得到任何回报。 我的代码如下:
dt = open("$SAMPLE_DATA/Air Traffic.jmp");
a= "Number";
col=dt<<GET column="" names=""></GET>
任何帮助或建议将不胜感激! 提前致谢!
回复:如何获取包含用户给出的某些单词的列名称?否。列类型为字符。
回复:如何获取包含用户给出的某些单词的列名称?这与原始线程有很大不同。我建议创建一个新主题。您的步骤列是否具有数字数据类型?
回复:如何获取包含用户给出的某些单词的列名称?你好,
我遇到了类似的问题。我需要检查列是否包含两个字符串中的任何一个,然后将列值替换为另一列中的值。
这是代码 -
For(i=1,i<= NRows(dt),i++,
if(contains(:step[i],"NA")| contains(:step[i],".") ,
:step[i] = description[i];
)
);
但我收到一条错误消息 - 参数在“包含”的访问或评估中类型错误
我在这里做错了什么?
回复:如何获取包含用户给出的某些单词的列名称?<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 再次感谢伊恩。
您的解决方案非常有效!
此致,
瓦尔
回复:如何获取包含用户给出的某些单词的列名称?您需要区分列表和它所包含的项目类型(通常不必是同质的)。 该错误是由于您尝试将列表 xxx(恰好包含全是字符的项目)放入字符列的单元格中。
执行此操作的最佳方法取决于代码中接下来发生的情况。 我怀疑您可能希望将“AvaliableColumns”作为表达式列,而不是字符列:
dt = Open( "$SAMPLE_DATA/Air Traffic.jmp" );
a = {"Number", "Flight"};
col = dt << get column names( string );
nc = N Items( col );
dt1 = New Table( "Table1" );
c1 = (dt1 << New Column( "SelectedNames", character, set values( a ) )) << get values;
dt1 << New Column( "AvailableColumns", expression );
For( j = 1, j <= N Items( c1 ), j++,
xxx = {};
For( i = 1, i <= nc, i++,
If( Contains( col[i], a[j] ), InsertInto(xxx, col[i]) );
);
Column( dt1, 2 )[j] = xxx;
);
回复:如何获取包含用户给出的某些单词的列名称?嗨伊恩伊恩@JMP ,
对我之前所做的工作的扩展:
使用与上一个问题相同的数据,根据我想要从数据表“空中交通”中的可用列中选择的单词,如果数据中的可用列包含“ SelectedNames”列位于各自的行:

但是,我在日志中收到此错误消息,并且在第二列中没有插入任何正确的列名称:


这些是我的代码,你能帮我检查一下它们有什么问题吗?
dt = Open( "$SAMPLE_DATA/Air Traffic.jmp" );
a = {"Number", "Flight"};
col = dt << get column names( string );
nc = N Items( col );
dt1 = New Table( "Table1" );
c1 = (dt1 << New Column( "SelectedNames", character, set values( a ) )) << get values;
dt1 << New Column( "AvailableColumns", character );
xxx={};
For( j = 1, j <= N Items( c1 ), j++,
For( i = 1, i <= nc, i++,
If( Contains( col[i], a[j] ),
Insert Into( xxx, col[i] )
);
Column( dt1, 2 )[j] = Eval( xxx );
xxx = {};
);
回复:如何获取包含用户给出的某些单词的列名称?谢谢你,伊恩!
正是我正在寻找的解决方案。
此致,
瓦尔
回复:如何获取包含用户给出的某些单词的列名称?请记住“col”将是一个列表。 所以尝试:
dt = Open( "$SAMPLE_DATA/Air Traffic.jmp" );
a = "Number";
col = dt << get column names( string );
nc = N Items( col );
xxx = {};
For( i = 1, i <= nc, i++,
If( Contains( col[i], a ),
Insert Into( xxx, col[i] )
)
);
打印( xxx ) ;