列内のテキストを複数の列に分割するにはどうすればよいですか?<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />場合によっては、1 つの列に情報を含むデータ セットを複数の列に分割したいことがあります。 たとえば、以下の画像 1 では、4 つの識別子が 1 つの列にマッシュされており、これを 4 つの列に分割したいと考えています。 ロット番号 (11)、テキスト識別子 (DAT)、サンプル番号 (001,002 など)、およびファイル タイプ (.tif) をすべて個別の列に分割したいと考えています (画像 2 を参照)。 数式エディターまたは JSL を使用してこれを行う最善の方法は何ですか。 サンプルデータファイルを添付しました。
私が持っているもの:
画像1

欲しいもの:
画像2

Re: 列内のテキストを複数の列に分割するにはどうすればよいですか?分割と積み重ねの前後のサンプル データを提供していただけますか?
Re: 列内のテキストを複数の列に分割するにはどうすればよいですか?こんにちは、ジェフさん
JMP のこの「分割」と「スタック」機能は非常に優れています。 SQL に相当するものや、SQL でそれを実行する方法を知らないと思いますか? それがアドバイスではない場合は、それでも構いません。 SQL ボードを見なくても済みます。
Re: 列内のテキストを複数の列に分割するにはどうすればよいですか?質問している内容を達成するには、「Text to Columns」関数と Word() 関数を調べてください。
Re: 列内のテキストを複数の列に分割するにはどうすればよいですか?こんにちは、
列機能へのテストの拡張に取り組んでいます。 項目コードという名前の列に文字列 ACE_100_bb_29_icfg2 があります。 このテキストを_で区切って、列の項目コードに最初の3文字(ABC)だけを含める方法はありますか。
私が現在それを行っている方法は、この関数によって生成された項目コード1、2などの他のすべての列を削除し、項目コードとしてABCを持つ列の名前を変更することです。 これを行う効率的な方法があるかどうか疑問に思っていました。
ありがとう
Re: 列内のテキストを複数の列に分割するにはどうすればよいですか?ジムはあなたの質問に答えましたが、スクリプトは必要ありません。
- 変更するすべての列を選択します。
- 選択するコル>属性の標準化。
- クリック属性そして選択しますデータ・タイプ。
- クリック属性そして選択しますモデリングタイプ。
- これらの属性の両方を必要に応じて変更します。
- クリックわかりました。
スクリプト作成は優れていますが、JMP は対話用に最適化されています。
Re: 列内のテキストを複数の列に分割するにはどうすればよいですか?すべての列のデータ型とモデリング タイプを設定するためのコンパクトなコードは次のようになります。
dt = current data table();
for( i = 1, i <= NCols( dt ), i++,
column( dt, i ) << data type( "numeric" ) << modeling type( "continuous" );
);
転置に関しては、Stack Platform を使用して必要なものを取得できるはずです
テーブル==>スタック
Re: 列内のテキストを複数の列に分割するにはどうすればよいですか?こんにちは、どうもありがとうございます。 それは機能しますが、データは分割されます。 現在、SPDATA 1 ~ SPDATA 138 という名前の列が 138 個あります。
それがスレッドのテーマから少し外れていることはわかっていますが、おそらく私ができるべきことですが、次のとおりです。
コンパクトな JSL ステートメントですべての列プロパティを数値および連続値に設定するにはどうすればよいですか?
次に、変換されたデータ テーブルを作成するにはどうすればよいですか。スペクトルデータは、利用可能ないくつかのカテゴリ データ (138 のデータポイントすべてに同じ値を持つ日時値) に従って 138 行の倍数を持つ 1 つの列です。
ポール RS 様
Re: 列内のテキストを複数の列に分割するにはどうすればよいですか?以下はアドインのドキュメントの例です。アドインのバージョン 3 がインストールされていることを確認してから、この例を実行します。
bc_party = Open( "$SAMPLE_DATA\Consumer Preferences.jmp" );
com.jmp.jperk:texttocolumns( Column( bc_party , "floss delimited"), ",", bc_party );
機能する場合は、このコードを使用して JSL に組み込むことができます。
Re: 列内のテキストを複数の列に分割するにはどうすればよいですか?こんにちは。JMP 13 を実行しており、Text to Columns アドインがインストールされており、メニューから使用できます。
これで、分光光度計からのスペクトル データを表すデータ テーブルの文字列ができました。 カンマで区切られた合計 138 個の部分文字列があります。 アドインを使用して、それぞれに 1 つの値を含む 138 個の数値列を生成する JSL でコードを作成したいと考えています。 (データはダイオードアレイからのものであるため、波長間隔は一定であるため、データにはそれが含まれていないため、変換する必要はありません。)
これを行う方法についていくつかの例を読みましたが、正しい構文を理解できません。
アドインを使用して特定の列から 138 列を生成するための構文は何ですか?
前もって感謝します
ポールRS
Re: 列内のテキストを複数の列に分割するにはどうすればよいですか?ありがとうイアン。 JMP 13.1.0 を使用していますが、そのページは空白です。
最新の質問に戻りますが、JSL の列にテキストを呼び出す方法は次のとおりです。
dt = New Table( "Text2Col Example", Add Rows( 4 ),
New Column( "Col1", Character, "Nominal",
Set Values(
{"11 DAT 001.tif", "11 DAT 002.tif", "11 DAT 003.tif", "11 DAT 004.tif"}
)
),
New Column( "Col2", Numeric, "Continuous", Format( "Best", 12 ),
Set Values( [159.4308, 229.5031, 164.3414, 162.0241] )
)
);
dt << text to columns(delimiter(" "), columns(:Col1));Re: 列内のテキストを複数の列に分割するにはどうすればよいですか?私の 13.1 のビルドでは、次のように表示されます。


Re: 列内のテキストを複数の列に分割するにはどうすればよいですか?のドキュメントCol << 列へのテキストスクリプトインデックス内の空のスタブです。 さまざまな組み合わせを試しましたが、うまくいきません。 JMP の誰かが適切な構文を教えてくれませんか?
Re: 列内のテキストを複数の列に分割するにはどうすればよいですか?最近投稿しましたテキストから列へ、バージョン 3これにより、JSL から Text to Columns を呼び出すためのサポートが追加されます。
Re: 列内のテキストを複数の列に分割するにはどうすればよいですか?Names Default To Here( 1 );
dt = New Table( "sample",
New Column( "column 0", character, values( {"11 DAT001.tif", "11 DAT002.tif", "11 DAT003.tif", "11 DAT004.tif"} ) )
);
// Pause so you can see it working
Wait( 2 );
// add some as an example of the elements using a formula
dt << New Column( "Column 1", formula( Num( Word( 1, :column 0 ) ) ) );
dt << New Column( "Column 2", character, formula( Substr( Word( 2, :column 0 ), 1, 3 ) ) );
dt << New Column( "Column 3", character, formula( Substr( Word( 2, :column 0 ), 6, 1 ) ) );
// Now do the last one, using JSL code
dt << New Column( "Column 4", character );
For( i = 1, i <= N Rows( dt ), i++,
:Column 4[i] = Word( -1, :Column 0[i],".");
);Re: 列内のテキストを複数の列に分割するにはどうすればよいですか?これをコード/JSL でどのように記述することができますか?
Re: 列内のテキストを複数の列に分割するにはどうすればよいですか?完璧、これはまさに私が探していたものです、ありがとうジェフ。
Re: 列内のテキストを複数の列に分割するにはどうすればよいですか?JMP 12 以降を使用している場合は、次を使用できます。列 -> ユーティリティ -> テキストを列に変換。

JMP 11 以前を使用している場合は、アドインを入手できます。テキストから列へ、バージョン 2 、これは現在の組み込み関数と同じことを行います。
JSL または数式エディターを使用してこれを手動で実行する場合は、言葉()便利な機能。 私を信じて。
