こんにちは皆さん、
JMP Pro 16.1.0を実行していて、JSLのヘルプが必要です。
CSVファイルのインポートから生成されたデータテーブルがあり、次の構造になっています(実際の列数ははるかに多いですが、テーブルはこの構造を維持しています)。

構造を仕様テーブルの一般的な形式に正しく変更して、次のようにする方法を見つけようとしています。

最終的に、列名は仕様データテーブルのJMP形式に変更されます。つまり、「列1」n、「_ LSL」n、「_ Target」n、および「_USL」nです。 各行は、対応する値を持つ仕様になります。
私が抱えている問題は、プロセスを自動化するためにJSLでこれを行う方法です。 SplitまたはStackのさまざまな組み合わせを試しましたが、どちらも実際には目的の場所に到達しません。少なくとも、それらの使用方法についてはそうではありません。 これを行う簡単な方法があると確信していますが、どういうわけかそれが欠けています。
任意の提案を歓迎します。
ありがとう!、
DS
複数のシリーズスタックを使用する場合、スタックはこれを実行できるはずだと思います。 データ型はすべての列で同じである必要があります(少なくともこのメソッドでは)



次に、ラベル列を削除します。 スタックプラットフォームのオプションを変更すると、さらに明確になる可能性がありますが、複数のシリーズスタックを使用したことはありませんが、非常に強力です。 タグを付けます@Jeff_Perkinsonここでは、彼がそれを複数回使用しているのを見て、私よりも設定が優れている可能性があるためです。
Names Default To Here(1);
dt = New Table("Untitled",
Add Rows(1),
New Column("Column 1", Character, "Nominal", Set Values({"x1"})),
New Column("Column 2", Character, "Nominal", Set Values({"1"})),
New Column("Column 3", Character, "Nominal", Set Values({"1.1"})),
New Column("Column 4", Character, "Nominal", Set Values({"1.11"})),
New Column("Column 5", Character, "Nominal", Set Values({"x2"})),
New Column("Column 6", Character, "Nominal", Set Values({"2"})),
New Column("Column 7", Character, "Nominal", Set Values({"2.2"})),
New Column("Column 8", Character, "Nominal", Set Values({"2.22"})),
New Column("Column 9", Character, "Nominal", Set Values({"x3"})),
New Column("Column 10", Character, "Nominal", Set Values({"3"})),
New Column("Column 11", Character, "Nominal", Set Values({"3.3"})),
New Column("Column 12", Character, "Nominal", Set Values({"3.33"}))
);
// data types must be same for stack, so you might have to script it
dt_stacked = dt << Stack(
columns(
:Column 1, :Column 2, :Column 3, :Column 4, :Column 5, :Column 6, :Column 7,
:Column 8, :Column 9, :Column 10, :Column 11, :Column 12
),
Source Label Column("Label"),
Stacked Data Column("Data"),
Stack By Row(0),
Number of Series(4),
Contiguous
);
For Each({col_name}, dt_stacked << get column names("String"),
If(Contains(col_name, "Label"),
dt_stacked << Delete Columns(col_name)
);
);これは、[テーブル]-> [スタック]を使用した複数シリーズのスタックです。
この表から始めます。

また、[テーブル]-> [スタック]を[複数シリーズスタック]オプションで使用します。

このテーブルを取得します。

ラベル列を削除するだけで、すべて設定されます。
これが、拡張ログから取得したJSLです。
// Stack data table
// → Data Table( "untitled 13" )
Data Table( "untitled 11" ) << Stack(
columns(
:c00000 01, :c00000 02, :c00000 03, :c00000 04, :c00000 05, :c00000 06,
:c00000 07, :c00000 08, :c00000 09, :c00000 10, :c00000 11, :c00000 12
),
Source Label Column( "Label" ),
Stacked Data Column( "Data" ),
Number of Series( 4 )
);
// Delete columns
Data Table( "untitled 13" ) << Delete Columns(
:Label, :Label 2, :Label 3, :Label 4
);