再:JSLで動的な行数を選択し、条件を満たす行を選択する私はこのようなものを試してみましたが、エラーが発生しました 「不正な引数」のアクセスまたは評価で列が見つかりません{1}
私が想像するのは、内なる議論です選択する() 以内に Join() 。
列ベクトルを変数に割り当て、その変数をSelect()の引数として使用できると思いました。
// Get a list of the column names
colList = TRANSPOSE << Get Column Names();
// Starting with column 3, select
For(i=3,i<= N Cols( TRANSPOSE ), i++, COLUMN( TRANSPOSE , colList[i]) << Set Selected(1) ) ;
// Assign those selected columns to a variable
Select_cols = TRANSPOSE << Get Selected Columns();
//then feed that variable into the Select() withing Join()
<SPAN class="token comment">// JOIN</SPAN>
DT <SPAN class="token operator">=</SPAN> <SPAN class="token function">Data Table</SPAN><SPAN class="token punctuation">(</SPAN> TRANSPOSE <SPAN class="token punctuation">)</SPAN> <SPAN class="token operator"><</SPAN><SPAN class="token operator"><</SPAN><SPAN class="token messages"> Join</SPAN><SPAN class="token punctuation">(</SPAN>
With<SPAN class="token punctuation">(</SPAN> <SPAN class="token function">Data Table</SPAN><SPAN class="token punctuation">(</SPAN> CATEGORY_TABLE <SPAN class="token punctuation">)</SPAN> <SPAN class="token punctuation">)</SPAN><SPAN class="token punctuation">,</SPAN>
Select<SPAN class="token punctuation">(</SPAN> <SPAN class="token punctuation">:</SPAN>Forecast Material <SPAN class="token punctuation">)</SPAN><SPAN class="token punctuation">,</SPAN>
SelectWith<SPAN class="token punctuation">(</SPAN> <SPAN class="token punctuation">:</SPAN>Category <SPAN class="token punctuation">)</SPAN><SPAN class="token punctuation">,</SPAN>
Select<SPAN class="token punctuation">(</SPAN> Select_cols <SPAN class="token punctuation">)</SPAN><SPAN class="token punctuation">,</SPAN> /// was Select<SPAN class="token punctuation">(</SPAN> <SPAN class="token punctuation">:</SPAN>Row <SPAN class="token number">1</SPAN><SPAN class="token punctuation">,</SPAN> <SPAN class="token punctuation">:</SPAN>Row <SPAN class="token number">2</SPAN> <SPAN class="token punctuation">)</SPAN>
By Matching Columns<SPAN class="token punctuation">(</SPAN> <SPAN class="token punctuation">:</SPAN>Label <SPAN class="token operator">=</SPAN> <SPAN class="token punctuation">:</SPAN>Category <SPAN class="token punctuation">)</SPAN><SPAN class="token punctuation">,</SPAN>
Drop multiples<SPAN class="token punctuation">(</SPAN> <SPAN class="token number">0</SPAN><SPAN class="token punctuation">,</SPAN> <SPAN class="token number">0</SPAN> <SPAN class="token punctuation">)</SPAN><SPAN class="token punctuation">,</SPAN>
Include Nonmatches<SPAN class="token punctuation">(</SPAN> <SPAN class="token number">0</SPAN><SPAN class="token punctuation">,</SPAN> <SPAN class="token number">0</SPAN> <SPAN class="token punctuation">)</SPAN><SPAN class="token punctuation">,</SPAN>
Preserve main table order<SPAN class="token punctuation">(</SPAN> <SPAN class="token number">1</SPAN> <SPAN class="token punctuation">)</SPAN>
<SPAN class="token punctuation">)</SPAN><SPAN class="token punctuation">;</SPAN>
JSLで動的な列数を選択し、条件を満たす列を選択しますhttps://www.jmp.com/support/help/14-2/use-set-selected-to-select-columns.shtml
このようなものを書き換える最良の方法は何ですか?
DTは、TRANSPOSEとCATEGORY_TABLEの結合です。
- CATEGORY_TABLEは、列カテゴリを持つ1列のテーブルです
- TRANSPOSEは、データの転置の結果です
秘Theは、TRANSPOSEの列数が常に同じとは限らないことです。 紛らわしいことに、転置関数の出力は、追加の列に行1、行2などを指定します。
- TRANSPOSEの最初の2列は常に同じです。
- 列行1は常に3列目として存在します。
- データセットによっては、列2行以上が存在する場合があります。
Join()が少なくとも列1行を選択し、最後の列にさらに列がある場合にSelect()関数を作成できますか?
// This section is only build to handle two columns named Row 1 and Row 2
DT = Data Table( TRANSPOSE ) << Join(
With( Data Table( CATEGORY_TABLE ) ),
Select( :Forecast Material ),
SelectWith( :Category ),
Select( :Row 1, :Row 2 ), // sometimes there is only one row, sometimes there are more than one rows ******How to handle this?********
By Matching Columns( :Label = :Category ),
Drop multiples( 0, 0 ),
Include Nonmatches( 0, 0 ),
Preserve main table order( 1 )
);
再:JSLで動的な行数を選択し、条件を満たす行を選択する「選択」が含まれている引数を削除します。
DT = Data Table( TRANSPOSE ) << Join(
With( Data Table( CATEGORY_TABLE ) ),
By Matching Columns( :Label = :Category ),
Drop multiples( 0, 0 ),
Include Nonmatches( 0, 0 ),
Preserve main table order( 1 )
);
結果には、両方のテーブルのすべての列が含まれます。
再:JSLで動的な行数を選択し、条件を満たす行を選択するありがとうドン。他の人のコードを更新しようとしています。これは私たちが望むことをしていると思います。解決策として受け入れる前に、検証するための時間を確保する必要があります。私はあなたの反応を見て感謝しなかったと思わせたくありませんでした。昨日、この提案に取り組んでいました。ありがとう!再:JSLで動的な行数を選択し、条件を満たす行を選択するBSwidに感謝します。仕組みを教えてください。