列のリストから列名を取得する
Names Default to Here(1);
dt = Current Data Table();
column list = dt << Get Column Names(Continuous);
key list = dt << Get Column Group("KEYS");「列リスト」には、名前のリスト連続データを含む列から。
「キーリスト」には、列のリスト「KEYS」グループ内。
「キーリスト」から列の名前を取得するにはどうすればよいですか? 最終的には、「KEYS」グループにある「列リスト」から連続した列名を削除したいと考えています。 リストを管理するための Craige Hales の投稿を見つけましたが、リストを同じ形式で取得する必要があります。
Re: 列のリストから列名を取得するここで、あなたが私を助けてくれる簡単なタスクを紹介します。「列名を取得」したら、それを同じ列名のリストであるデータ テーブルにどのように挿入すればよいでしょうか?ありがとうデビン
Re: 列のリストから列名を取得する頭をぶつけないでください! 使用ヘルプ > スクリプト索引その代わり。

Re: 列のリストから列名を取得するcontains リテラル文字列が必要であることと、「文字列」オプションを使用しないと「列名の取得」がそれを提供しないことについてご指摘いただきありがとうございます。 これに長い間頭をぶつけていましたが、「紐」を追加するとすぐに直りました。Re: 列のリストから列名を取得するトリックは次のとおりです: Char(key list[i]))
(列参照を文字列にキャストするという発想はありませんでした)Re: 列のリストから列名を取得する提案に従ってキーリストを文字列に変換した後に到達した解決策は次のとおりです。
// Initialize
Names Default to Here(1);
dt = Current Data Table();
key list names = {};
// Get a list of all continuous columns
column list = dt << Get Column Names(Continuous, String);
// Create a list of column names in the KEYS group
key list = dt << Get Column Group("KEYS");
For(i = 1, i <= N Items(key list), i++,
Insert Into(key list names, Char(key list[i]))
);
// Remove from the column list any column that is in the KEYS group
/* <BR />Adapted from - Re: Quick way to compare two lists (uncommon elements)?
JAN 10, 2017 6:41 AM, by Craige_Hales, STAFF (RETIRED)
*/
set1 = Associative Array(column list);
set2 = Associative Array(key list names);
// Find the names common to both lists
intersection = set1;
intersection << Intersect(set2);
// Remove the common names
cleaned list = set1;
cleaned list << Remove(intersection);
column list = cleaned list << Get Keys;
Re: 列のリストから列名を取得するありがとう。 (例を使用して)「プロセス」グループにある名前を「列リスト」から削除しようとしているため、項目は「キーリスト」ではなく「列リスト」から削除する必要があります。 列リストで Char(key list[i]) を検索し、見つかった場合は削除する必要があると思います。Re: 列のリストから列名を取得する<< Get Column Names と << Get Column Group の両方から返されるものは、JMP リストです。これらは大まかに値の配列と考えることができます。リストの使用については、「スクリプト ガイド」セクションを参照してください。
以下は、2 つのリスト間の比較をチェックし、両方のリストに共通する列名をチェックし、それらをキー リストのリストから削除するコードの変更です。Contains 関数が機能するにはリテラル文字列が必要であることに注意してください。そのため、<
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/semiconductor capability.jmp" );
column list = dt << Get Column Names( Continuous, string );
key list = dt << Get Column Group( "Processes" );
Show( "complete list", key list );
For( i = N Items( key list ), i >= 1, i--,
If( Contains( column list, Char( key list[i] ) ),
key list = Remove( key list, i, 1 )
)
);
Show( "final list", key list );
この例では、グループ内のすべての要素が数値列であるため、キー リストには値が含まれなくなります。