開いているテーブルをテーブル名でソートする方法<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />一度に複数のテーブルを開いています。開いたら、1からN Table()までのすべての開いているテーブルをループ処理し、各テーブルへの参照をリストに格納します。ただし、開いている各テーブルをループ処理するときに、テーブルがメモリ内でどのように配置されているかはわかりません。一番下の行、私は私のリストのエントリをテーブル名に従ってソートしたいと思います。開いているテーブルをリストに保存する前にソートする方法はありますか?あるいは、別の観点から言えば、私のリスト内のテーブル参照をソートするための最善の方法は何でしょうか(それらが私のリストにランダムな順序で格納されていると仮定した場合)。
再:テーブル名で開いているテーブルをソートする方法開いた後にテーブルをソートしないでください。
開く前にテーブル名を並べ替えます。テーブル名をリストとして取得して、そこで作業することができます。リストがソートされたら、それらを順番に開いて処理します。
このスクリプトでは: https://community.jmp.com/t5/JMP-Scripts/Combine-multiple-txt-or-csv-files/ta-p/24083
ディレクトリ内の1つのファイルタイプすべてのリストを取得してから、ファイルを順番に開きます。 これは、個々のファイルが大きい場合、または何千ものファイルがある場合に非常に役立ちます。
再:テーブル名で開いているテーブルをソートする方法これを行うには、列の値順序付けプロパティを使用します。 これが一例です。
sort_order_list = {"XXX", "AAA", "DDD", "GGG", "YYY", "QQQ"};
dt = New Table( "Untitled 15", Add Rows( 6 ),
New Column( "To Be Sorted", Character, "Nominal",
Set Values( {"AAA", "DDD", "GGG", "QQQ", "XXX", "YYY"} )
)
);
column(dt, "To Be Sorted") << set property("Value Ordering", sort_order_list);
今列を並べ替えるときソートするリスト内の項目の順序でソートされます。
再:テーブル名で開いているテーブルをソートする方法残念ながら、私はあなたが何を求めているのか理解できていません。
最初の文字列値myList = {"alpha"、"gamma"、"beta"}とテーブル "My Table"があり、各セルにこれらの3つの値の1つを持つ "Vals"という列があるとします。。
「My Table」をソートして、「alpha」の付いたすべての行が最初に来て、「beta」の付いたすべての行が最後になり、「gamma」の付いたすべての行がその間に来るようにしますか。
再:テーブル名で開いているテーブルをソートする方法昇順または降順ではなく、リスト内の値でテーブルを並べ替えるにはどうすればよいですか。
リストに一意の列値があるとします。リスト内の値の順序は昇順または降順です。 どのように私はテーブルをソートするためにこのリストを使うことができますか?
前もって感謝します。
RAM
再:テーブル名で開いているテーブルをソートする方法ありがとう。私は前にこれについて考えたはずです。私は以前にリストをソートしようとしましたが、テーブル名だけを含んでいました。
再:テーブル名で開いているテーブルをソートする方法文字列ではなくデータテーブル参照のリストが必要な場合の代替手段は次のとおりです。
openTables = {};
For(i = 1, i <= N Table(), i++,
Insert Into(openTables, Data Table(i))
);
Sort List Into(openTables);
// Refer directly to table, e.g.
openTables[1] << Bring Window to Front;
再:テーブル名で開いているテーブルをソートする方法すみません、私はかなり気の利いた 'Sort List Into()' 'を見落としていました。明らかに私は自分自身を 'Help> Scripting Index'で熟知する必要があります。
だから、はい、あなたはすることができます:
// Build the sorted list
openTables = {};
for(t=1, t<=NTable(), t++, InsertInto(openTables, DataTable(t) << getName));
SortListInto(openTables);
// Manipulate (Close) each table in this list
for(t=1, t<=NItems(openTables), t++, Close(DataTable(openTables[t]), NoSave); Wait(1));
再:テーブル名で開いているテーブルをソートする方法@Ian、テーブル名がソートされてopenTablesリストに格納された後、テーブルを参照するにはどうすればいいですか?例えば、これは可能ですか?
(a = 1、a <= N Table()、a ++、
tmpDT =データテーブル(openTables) ;
// ....
;
別に、これはリストの内容をソートするために同じことをするでしょうか?
リストを(openTables)にソートする。
について、
クリス
csoon1 wrote:I am opening multiple tables at once. Once opened, I loop through all open tables from 1 to N Table() and store the references to each table on a list. However as I loop through each open table, I am not sure how it is arranged in the memory. Bottom line, I want the entries on my list to be sorted according to the table name. Is there a way for me to sort the open tables before storing them to a list? Or to put it in a different angle, what's the best way to sort the table references inside my list (if assuming they are stored on my list at a random order)?
再:テーブル名で開いているテーブルをソートする方法これが一つの方法です:
openTables = {};
for(t=1, t<=NTable(), t++, InsertInto(openTables, DataTable(t) << getName));
dt = NewTable("Invisible", NewColumn("Table Name", Character, Values(openTables)), Invisible);
dt << Sort(By("Table Name"), Ascending, ReplaceTable);
openTables = Column(dt, "Table Name") << getValues;
Close(dt, NoSave);