如何獲取包含用戶給出的某些單詞的列名稱?你好,
我正在尋找有關獲取包含我感興趣的某些單詞的列的建議。
例如:
我想獲取下面提供的給定示例數據中包含“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 ) ;