単一セルテーブルのブレークアウト私の会社が製造しているデバイスのサブコンポーネントの 1 つのデータを分析しようとしています。 残念ながら、実際に有用なデータは、データベース内の 1 つのセルに凝縮されたテーブルに保存されます (以下を参照)。 他のすべてのデータを保持しながら、このデータを別々の列と行に分割する方法はありますか (たとえば、データのすべての新しい行に同じシリアル番号を割り当てる)。 最終的な目標は、各行にすべてのシリアル番号、ステーション ID などのデータを含む、以下の Excel テーブルのようなもの (手動で作成する必要がありました:P) を作成することです。
前:
| ステーションID | 開始日時 | シリアル | 機能テストテーブル |
| 1223 | 2020 年 1 月 1 日 | 航空自衛隊1234 | 圧力、流量設定、流量分散、流量値、流量結果、UUT dP、ステップ位置 11.000,0.00,0.050,0.001,パス,11.047,-156 10.000、3.00、0.250、3.097、パス、9.984、-119 10.000、5.00、0.250、4.933、パス、9.990、-103 10.000、10.00、0.500、9.847、パス、9.973、-64 10.000,100.00,5.000,101.048,パス,9.968,525 7.000、3.00、0.250、2.957、パス、6.983、-114 7.000、5.00、0.250、4.885、パス、6.988、-95 7.000、10.00、0.500、9.822、パス、6.990、-48 7.000,80.00,4.000,80.916,パス,6.981,518 4.000、3.00、0.250、3.078、パス、3.981、-101 4.000、5.00、0.250、5.110、パス、3.988、-76 4.000、10.00、0.500、9.980、パス、3.987、-15 4.000,50.00,2.500,52.123,パス,3.993,447 |
後:
| ステーションID | 開始日時 | シリアル | プレッシャー | 流量設定 | 流量の分散 | 流量値 | フロー結果 | UUT dP | ステップ位置 |
| 1223 | 2020 年 1 月 1 日 | 航空自衛隊1234 | 11.000 | 0.00 | 0.050 | 0.001 | 合格 | 11.047 | -156 |
| 1223 | 2020 年 1 月 1 日 | 航空自衛隊1234 | 10.000 | 3.00 | 0.250 | 3.097 | 合格 | 9.984 | -119 |
| 1223 | 2020 年 1 月 1 日 | 航空自衛隊1234 | 10.000 | 5.00 | 0.500 | 4.933 | 合格 | 9.990 | -103 |
| 1223 | 2020 年 1 月 1 日 | 航空自衛隊1234 | 10.000 | 10.00 | 5.000 | 9.847 | 合格 | 9.973 | -64 |
| 1223 | 2020 年 1 月 1 日 | 航空自衛隊1234 | 10.000 | 100.00 | 0.250 | 101.048 | 合格 | 9.968 | 525 |
| 1223 | 2020 年 1 月 1 日 | 航空自衛隊1234 | 7.000 | 3.00 | 0.250 | 2.957 | 合格 | 6.983 | -114 |
| 1223 | 2020 年 1 月 1 日 | 航空自衛隊1234 | 7.000 | 5.00 | 0.250 | 4.885 | 合格 | 6.988 | -95 |
| 1223 | 2020 年 1 月 1 日 | 航空自衛隊1234 | 7.000 | 10.00 | 0.500 | 9.822 | 合格 | 6.990 | -48 |
| 1223 | 2020 年 1 月 1 日 | 航空自衛隊1234 | 7.000 | 80.00 | 4.000 | 80.916 | 合格 | 6.981 | 518 |
| 1223 | 2020 年 1 月 1 日 | 航空自衛隊1234 | 4.000 | 3.00 | 0.250 | 3.078 | 合格 | 3.981 | -101 |
| 1223 | 2020 年 1 月 1 日 | 航空自衛隊1234 | 4.000 | 5.00 | 0.250 | 5.110 | 合格 | 3.988 | -76 |
| 1223 | 2020 年 1 月 1 日 | 航空自衛隊1234 | 4.000 | 10.00 | 0.500 | 9.980 | 合格 | 3.987 | -15 |
| 1223 | 2020 年 1 月 1 日 | 航空自衛隊1234 | 4.000 | 50.00 | 2.500 | 52.123 | 合格 | 3.993 | 447 |
ありがとう!
デビッド

データアクセスRe: 単一セル テーブル ブレークアウト@ジェフ・パーキンソンJMP 16 でもそうなってくれればいいのですが...
Re: 単一セル テーブル ブレークアウトデータが分析できる形になったと聞いてうれしいです。
はい、これを行うスクリプトを作成できます。 少し手間がかかりますが、JMP がその一部を作成します。
その方法の概要を次に示します。
JMP 15 は Text to Columns... コマンドをキャプチャしませんが、構文は非常に簡単に記述できます。
// Text to columns
Data Table( "Community330288.jmp" ) <<
Text to Columns( columns( :FunctionalTestTable ), Delimiters( NEWLINE ) );
次のステップは Stack コマンドです。 JMP は、結果として得られるテーブルの Source というスクリプトにこの JSL を配置します。

それを右クリックして [編集] を選択すると、コピーして貼り付けるスクリプトが表示されます。
stacked_data = Data Table( "Community330288.jmp" ) << Stack(
columns(
:FunctionalTestTable 1,
:FunctionalTestTable 2,
:FunctionalTestTable 3,
:FunctionalTestTable 4,
:FunctionalTestTable 5,
:FunctionalTestTable 6,
:FunctionalTestTable 7,
:FunctionalTestTable 8,
:FunctionalTestTable 9,
:FunctionalTestTable 10,
:FunctionalTestTable 11,
:FunctionalTestTable 12,
:FunctionalTestTable 13,
:FunctionalTestTable 14
),
Source Label Column( "Label" ),
Stacked Data Column( "Data" ),
Name( "Non-stacked columns" )(Keep( :StationID, :StartDateTime, :Serial ))
)
次のステップでは、カンマを区切り文字としてテキストを列に繰り返します。
// Text to columns
stacked_data << Text to Columns( columns( :Data ), Delimiters( "," ) );
JMP が記録しないもう 1 つのことは、データの最初の行からの列の名前変更です。 名前の変更はスクリプトで行うことができますが、自分で記述する必要があります。
列の数が常に同じであることがわかっている場合 (この場合は 7)、それをハードコーディングできます。 列の数が可変の場合は、もう少し作業が必要になります。 その場合はお知らせください。それが私たちがあなたが渡れる別の橋であることをお手伝いします。
for(i=1, i<=7, i++,
column("Data " || char(i))<<SET name=""></SET>
最後に、列名を含む行を選択して削除する必要があります。 以下の列名と値をハードコーディングしました。 変数の場合は、もう少し手間がかかります。
stacked_data << Select Where( :Pressure == "Pressure" ) << Delete Rows;
最後に、いくつかの列を数値に変更します。 列ごとにこれを繰り返す必要があります。
:Pressure << set data type(Numeric);
それが役立つことを願っています。
質問をどんどんしてください。
Re: 単一セル テーブル ブレークアウトやあジェフ、完璧にうまくいきました! 追加の質問があります。 このデータを取得する必要があるたびに手順をやり直す必要がないように、これらすべての手順をスクリプトとして保存する方法はありますか? セッションスクリプトとして保存しようとしましたが、データブレイクアウトは保存されませんでした。
Re: 単一セル テーブル ブレークアウトやあ@dpeyer 、
データをインポートするために呼び出すことができるアドインは次のとおりです。
あるいは、スクリプトを実行してテキスト ファイルを JMP にインポートすることもできます。
添付されたサンプル テキスト ファイルに基づいてインポートを行いました。
スクリプトとアドインの両方を更新して、同様のファイルを 1 つのファイルに連結することができます。
乾杯、
スタン
Re: 単一セル テーブル ブレークアウトやあ、ジェフ、
担当のテストエンジニアと話し合っていますが、心配しないでください:P. 残念ながら、これは 14,000 個の個別のテーブルであり、それぞれに独自のセルと見出しが各テーブルで繰り返されています。 3枚(14k...)の画像を添付しました。 あなたの方法を試してみて、どうなるかお知らせします!

Re: 単一セル テーブル ブレークアウトまず、このような表を作成した人は...そうですね...適切な罰が思いつきます。
幸いなことに、JMP を使用すると、この問題への対処が比較的簡単になると思います。
まず、列 -> ユーティリティ -> 列へのテキスト.. 。として@mandy_chambers推奨されていますが、区切り文字として NEWLINE を使用してください。

これにより、FunctionalTextTables 列内の各行に 1 つの新しい列が作成されます。

さあ、使ってくださいテーブル -> スタックすべての FunctionalTestTable # (つまり、FunctionalTestTable 1、FunctionalTestTable 2 など) 列をスタックします。

これにより、これらの列ごとに 1 行が得られます。

今、あなたは使うことができますテキストを列に...今回もカンマ (,) を区切り文字として使用します。

これで、個々の値の列が取得されます。

ここで、列名をコピーして貼り付けるだけです。 そこで役立つヒントがここにあります列名を見てがっかりしましたか? これを試して。そして、使用します列 -> 属性の標準化必要に応じて、列のデータ型を数値に変更します。
14,000 件のデータベースがあるとおっしゃいました。 それらはデータベース内の 14,000 個の異なるテーブルですか、それとも 1 つのテーブルの 14,000 行ですか? 後者は、[ファイル]->[データベース]->[テーブルを開く]を使用して、すべてを 1 つの JMP データ テーブルにまとめられるはずなので、うまくいけばいいのですが...
本当に 14k の異なるテーブルの場合は、次を使用する必要がありますテーブル -> 連結これらすべてを JMP の 1 つのテーブルに入れる必要がありますが、それがデータベース内にどれであるかを確認してから、そのブリッジを渡ってみましょう。
関係なく、一致するセルを選択もクリーンアップに役立つツールです。 それについては、もう少し進んだ後、フォローアップの投稿で説明します。
Re: 単一セル テーブル ブレークアウトうーん...私がやろうとしていることをきちんと説明していないはずです。 よりわかりやすく説明するために、元の質問を前後の例で更新しました。 さらに、これを行う必要がある 14,000 FunctionalTestTable のデータベースがあるため、テキストを列に変換してから個々のテーブルを転置することは実行可能なオプションではありません。
ご協力ありがとうございました! 本当に感謝しています:DRe: 単一セル テーブル ブレークアウト
Re: 単一セル テーブル ブレークアウトマンディ、
アドバイスありがとうございます! このメッセージを投稿する直前に Text to Columns ユーティリティについて知りましたが、これにより 1 行あたり 84 個の新しい列が作成され、使用しようとしている表形式データの機能が失われてしまいました。 希望する出力の例を作成し、元の投稿に追加しました。
ありがとう!
Re: 単一セル テーブル ブレークアウト私たちの投稿がクロスしたようです。 したがって、Text to columns を使用した後、Tables Transpose を使用すると、テーブルを回転させてデータを列に取得できます。
Re: 単一セル テーブル ブレークアウトこの列の値 11.000,0.00,0.050,0.001,PASS,11.047,-156 を取得し、[列] > [ユーティリティ] > [テキストから列] を使用して、その列内のさまざまな内容に対して個別の列を作成できます。
区切り文字、- を使用します。
これにより、次のような列が得られます。
11,000 0.00 0.050 0.001 パス .. など
さらに細かく分割したい場合は、別の区切り文字またはスペースを使用できます。
これがあなたがやろうとしていたことであることを願っています。