JSL変数列の最大値を使用して新しいサマリーテーブルを作成しますこんにちは、
私はしばらくの間、これらのディスカッションページを読んで解決策を見つけることを楽しんでいましたが、今ではこれを理解するのに苦労しています。
マシンによって自動生成された可変数の列を提供するデータテーブルがあります。最初の14列は常に同じ識別情報です。 15以降の他の列は、列名が常に変化する数値連続データです。
問題は、識別情報によってデータをグループ化し、各データ列の最大データの列を持つ要約テーブルの作成を自動化しようとしていることです。
さまざまな数のデータ列とさまざまな列名で、各列を反復処理することは可能ですか? すべての最大値をサマリーテーブルに取り込むforループなど? プルごとに異なる列名のすべての列b / cに名前を付けることができないという制限がありますが、14番目の列以降のすべての列に最大値が必要であると言っても差し支えありません。
これは私が編集しようとしていたJSLスクリプトですが、Max列の生成で行き止まりになりました。
sumdt = table << Summary(
Group(:NAME,:ID),
(Max(Column(table, 15:154)), // having issue on this line
Output Table Name("Summary Max Values")
);
私の問題への入力をありがとう!
スクリプティングRe:JSL変数列の最大値を使用して新しいサマリーテーブルを作成しますこれは、BigClassサンプルデータテーブルを使用して必要な処理を実行する例です。
Names default to here( 1 );
// Open Data Table: big class.jmp
// → Data Table( "big class" )
dt = Open( "$SAMPLE_DATA/big class.jmp" );
colNamesList = dt << get column names( continuous, string );
sumdt = dt << summary(
Group( :Sex, :Age ),
max( colNamesList ),
Output Table( "Summary Max Values"),
Link to Original Data Table( 0 )
);

Re:JSL変数列の最大値を使用して新しいサマリーテーブルを作成しますありがとうございました@txnelson 、
それは私の問題を部分的に解決しました。
元のデータテーブルには、最大値を分析したくない日付列があります。基本的に、データ型に関係なく、最初の14列の最大値を計算したくないという問題が発生します。
最初の14列を無視する方法はありますか、それともサマリーテーブルに渡す前に不要な列を最初に削除する新しいテーブルを作成する方が簡単ですか?
ありがとう、
グロリア
Re:JSL変数列の最大値を使用して新しいサマリーテーブルを作成しますcolNamesListが作成されたら、Remove From()関数を使用してリスト内の特定の行を削除できます。リストが必要な列だけに絞り込まれたら、それを使用してサマリーテーブルを生成できます。
Remove From()関数の定義と例については、ScriptingIndexエントリを参照してください。