「Group Columns()」の可変列グループ名こんにちは、みんな、
文字列のリストに基づいて列を選択し、リストに基づいて列をグループにダンプしようとしています。
私が使用しているコードは次のとおりです。
dt = Current Data Table();<BR />// phase names by which we want to group
groupnames = {"Centering", "Dwell", "Capture", "Locking"};
// all column names in the table
allcols = dt << Get Column Names();
For( i = 1, i <= N Items( groupnames ), i++,
curgroup = {};
dt << Clear Column Selection;
// get all cols with the phase name
For( j = 1, j <= N Items( allcols ), j++,
If( Contains( allcols[j], groupnames[i] ),
As Column( allcols[j] ) << Set Selected( 1 );
//Insert Into(curgroup, allcols[j]);
);
);
// make a new group from these columns
//dt << Group Columns(char(groupnames[i]), curgroup);
dt << Group Columns( groupnames[i] );
);「JMP は、指定されたスクリプトからグループ化する列を判別できません。」というエラーが表示されます。
最後の行を dt << Group Columns ( "fixed string") のようなものに変更すると、機能します (ただし、それらはすべて同じグループになります)。何が間違っているのかわかりません。groupnames[i] は文字列 (右?) である必要があります。これは、Group Columns() の予期される入力です。
ありがとう、
クリスト
Re: 'Group Columns()' の可変列グループ名再度、感謝します。本ではなく、HTMLドキュメントを見ていました。
Re: 'Group Columns()' の可変列グループ名エスケープ文字に関するドキュメントにアクセスする方法は次のとおりです。に行く
ヘルプ==>書籍==>スクリプト ガイド
次に、ページ検索を行います
\!
エスケープ文字のテーブルに直接移動します
Re: 'Group Columns()' の可変列グループ名Eval Insert() は、文字列内の変数を評価します。 文字列内の変数は「^」文字でラップされます。 Parse() は文字列を式に変換します。 Eval() は式を評価します。
したがって、基本的には、変数値が文字列内で解決された文字列として式を作成し、文字列を解析して式に変換し、式を評価します。
Re: 'Group Columns()' の可変列グループ名ありがとう、やりました!さまざまなエスケープ シーケンスの目的に関するドキュメントへのポインタはありますか?Parse() の「ヘルプ」はあまり役に立ちません。
Re: 'Group Columns()' の可変列グループ名JMP は、予想される引数の型に解決されるはずの変数を評価するのがおかしい場合があります。私は通常これを行わないようにしていますが、通常は Eval-Parse-Eval Insert シーケンスでこれらの問題を回避できます。これは常に少しハックのように感じますが、JSL のダクトテープのようなものです。
dt = Current Data Table();// phase names by which we want to group
groupnames = {"Centering", "Dwell", "Capture", "Locking"};
// all column names in the table
allcols = dt << Get Column Names();
For( i = 1, i <= N Items( groupnames ), i++,
curgroup = {};
// get all cols with the phase name
For( j = 1, j <= N Items( allcols ), j++,
If( Contains( allcols[j], groupnames[i] ) > 0,
Insert Into(curgroup, allcols[j]);
);
);
// make a new group from these columns
Eval(Parse(Eval Insert("\[dt << Group Columns( "^groupnames[i]^", curgroup )]\")));
);