リスト値を列に配置する方法いくつかの操作の結果、テーブル内の行数のサイズのリストが得られました。
新しい列を作成し、これらの値をこの列に配置したいと考えています。
JSL リファレンスには、これが機能するはずであると記載されています。
dt = New Table( "My Data");
dt << New Column( "Last Name", Character, Values( {"Smith", "Jones",
"Anderson"} ) );
その列に入れたいリストは、実際にはリストのリストです。 Eval(names) を実行すると、{{"John"}、{"Jim" }、{"Jane"}} のような結果が得られます
列に入れる一次元リストを作成するにはどうすればよいですか?
ありがとう!
Re: 列にリスト値を配置する方法ジム、
最初のリスト (すでにリストになっている) の項目を新しいリスト (これも 1 つの項目リストの形式で) に取り込むだけではないでしょうか。
とにかく、リストがすでに形成されているときにそれと戦う方法を見つけることができませんでしたが、次のようにしました。
リストのリストを圧縮するループには、次のようなものがあります。
for(t=1, t<=NItems(....)....
......
names[t] = someFunctionThatSpitsSingleNameLists[i][j];
);
私はこれをします:
names[t] = Item(2,Char(someFunctionThatSpitsSingleNameLists[rowTool][rowcurrentReplacementDate]), "\!"");
"{"Jim"}" のような単一の名前リストを評価し、Jim だけを取り出して names[t] リストに入れます。
Re: 列にリスト値を配置する方法続いて@txnelson post...何度も同じ状況に陥ったので、実際にこれを行うための小さな関数を作成しました。 これにより、たとえば 2 レベルの深さのリストのリストが「平坦化」されます。
Flatten2DList = Function( {list_arg},
{DefaultLocal},
NewList = {};
For( i = 1, i <= N Items( list_arg), i++,
For( j = 1, j <= N Items( list_arg[i] ), j++,
Insert Into( NewList, list_arg[i][j] );
);
);
NewList;
)Re: 列にリスト値を配置する方法コードは機能しますが、問題は、リスト「Origlist」が単なる単一のリストではなく、リストのリストであることです。これは、スクリプトでリストを定義する方法です。したがって、問題は、リストのリストをデータテーブルに取得する方法です。
Re: 列にリスト値を配置する方法無視
Re: 列にリスト値を配置する方法これで済むはずです:
Names Default To Here( 1 );
origlist = {{"John"}, {"Jim"}, {"Jane"}};
newlist = {};
For( i = 1, i <= N Items( origlist ), i++,
Insert Into( newlist, origlist[i] )
);
dt = New Table( "My Data" );
dt << New Column( "Last Name", Character, Values( newlist ) );