ユーザーが指定した特定の単語を含む列名を取得するにはどうすればよいですか?こんにちは、
興味のある特定の単語が含まれるコラムを取得することについてアドバイスを求めています。
例えば:
以下に提供されているサンプルデータの「数値」を含む列名を取得したいと考えています。 返される予定の列名のリストは、 {"Flight Number" , "Tail Number"} である必要があります。 ただし、何も返してもらえません。 私のコードは次のとおりです:
dt = open("$SAMPLE_DATA/Air Traffic.jmp");
a= "Number";
col=dt<<GET column="" names=""></GET>
助けやアドバイスをいただければ幸いです。 前もって感謝します!
Re: ユーザーが指定した特定の単語を含む列名を取得するにはどうすればよいですか?いいえ。列のタイプは文字です。
Re: ユーザーが指定した特定の単語を含む列名を取得するにはどうすればよいですか?これは元のスレッドとはかなり異なります。新しいトピックを作成することをお勧めします。ステップ列には数値データ型がありますか?
Re: ユーザーが指定した特定の単語を含む列名を取得するにはどうすればよいですか?こんにちは、
同様の問題で立ち往生しています。列に2つの文字列のいずれかが含まれているかどうかを確認し、列の値を別の列の値に置き換える必要があります。
コードは次のとおりです -
For(i=1,i<= NRows(dt),i++,
if(contains(:step[i],"NA")| contains(:step[i],".") ,
:step[i] = description[i];
)
);
しかし、「Contains」のアクセスまたは評価における引数の型が間違っているというエラーが表示されます。
ここで私は何を間違っているのでしょうか?
Re: ユーザーが指定した特定の単語を含む列名を取得するにはどうすればよいですか?<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 改めてイアンに感謝します。
あなたのソリューションは魔法のように機能します。
よろしくお願いします、
ヴァル
Re: ユーザーが指定した特定の単語を含む列名を取得するにはどうすればよいですか?リストと、リストが保持する項目のタイプを区別する必要があります (通常、リストは同種である必要はありません)。 このエラーは、文字列のセルにリスト 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;
);
Re: ユーザーが指定した特定の単語を含む列名を取得するにはどうすればよいですか?こんにちは、イアンイアン@JMP 、
以前に取り組んでいたことの拡張:
前の質問と同じデータを使用し、データ テーブル「航空交通」の使用可能な列から選択した単語に基づいて、データの使用可能な列に「」内の単語が含まれている場合、次のような出力が期待されます。 「SelectedNames」列をそれぞれの行に配置します。

ただし、ログに次のエラー メッセージが表示され、2 番目の列に正しい列名が挿入されていません。


これらは私のコードです。どこが間違っているのか確認するのを手伝ってもらえますか?
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 = {};
);
Re: ユーザーが指定した特定の単語を含む列名を取得するにはどうすればよいですか?ありがとう、イアン!
まさに私が探している解決策です。
よろしくお願いします、
ヴァル
Re: ユーザーが指定した特定の単語を含む列名を取得するにはどうすればよいですか?「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 ) ;