
概要 📖 – 行と列を並べ替える
Reorder DATは、入力テーブルの行または列を、反転・複製・入れ替え・指定順といった方法で並べ替えて出力する DATです。Reorder で行と列のどちらを対象にするかを決め、Method で並べ替え方法 (反転 / 名前または番号での複製・入れ替え / 指定順) を選び、Before / After / Order で具体的な対象を指定します。
主な用途 🎯
- Table DAT の行や列を指定した順序に並べ替えて、後段の表示・参照を整える
- CHOP to DAT や File In DAT で取り込んだテーブルの列順を入れ替え、外部フォーマットに合わせて出力する
- 名前またはインデックス指定で特定の行・列を別位置へ複製し、テーブルを再構成する
- Reverse モードで行や列の並びを反転させ、ランキング表示や逆順ログを作る
- In Specified Order モードで必要な列だけを順序付きで取り出し、Delete Unspecified で残りを切り捨てて列の抽出・絞り込みを行う
データフロー 🔄
入力: テーブル DAT
↓
Reorder で行・列のどちらを対象にするか決定
↓
Method で並べ替え方法 (反転 / 複製 / 入れ替え / 指定順) を選択
↓
Before / After / Order で対象の行・列を指定
↓
Delete Unspecified で指定外の行・列の扱いを決定
↓
出力: 並べ替え後のテーブル DAT
初心者の方は、以下日本語書籍も手元にあると安心です。

実際の案件事例まで踏み込んで紹介されていて、効率よくスキルアップするなら必携の二冊です!
パラメータ解説 ⚙️
Reorder Page 📋
Reorder .reorder 🔀
行と列のどちらを並べ替えの対象にするかを決めるメニューパラメータ
| 項目 | 内部名 | 説明 |
|---|---|---|
| Rows | .row |
行 (横方向の並び) を並べ替えの対象にする |
| Columns | .col |
列 (縦方向の並び) を並べ替えの対象にする |
Method .method 🎛️
テーブルをどのように並べ替えるかを指定するメニューパラメータ
| 項目 | 内部名 | 説明 |
|---|---|---|
| Reverse | .reverse |
Reverse (反転) — 行または列の並び順を逆にする |
| Replace by Names | .replacenames |
Replace by Names (名前で複製) — From で指定した行・列を To で指定した行・列にコピー。対象は名前で指定する |
| Replace by Indices | .replaceindices |
Replace by Indices (番号で複製) — From で指定した行・列を To で指定した行・列にコピー。対象は番号 (インデックス) で指定する |
| Swap by Names | .swapnames |
Swap by Names (名前で入れ替え) — From で指定した行・列と To で指定した行・列を入れ替える。対象は名前で指定し、入れ替えは累積的に適用される |
| Swap by Indices | .swapindices |
Swap by Indices (番号で入れ替え) — From で指定した行・列と To で指定した行・列を入れ替える。対象は番号で指定し、入れ替えは累積的に適用される |
| In Specified Order by Name | .specifyname |
In Specified Order by Name (名前で指定順) — 行・列を名前で指定した順番にコピー。リストにない行・列は入力順で末尾に追加される。同じ行・列を複数回指定すると複製される |
| In Specified Order by Index | .specifyindex |
In Specified Order by Index (番号で指定順) — 行・列を番号で指定した順番にコピー。リストにない行・列は入力順で末尾に追加される。同じ行・列を複数回指定すると複製される |
Before .before ↩️
複製・入れ替えの元となる行・列を指定する:
- Before 指定:
Before(コピー・入れ替え元) — 複製または入れ替えの元となる行・列を指定する。Replace/Swap系のMethodで使用される
After .after ↪️
複製・入れ替えの先となる行・列を指定する:
- After 指定:
After(コピー・入れ替え先) — 複製または入れ替えの先となる行・列を指定する。Replace/Swap系のMethodで使用される
Order .order 🔢
指定順モードで取り出す行・列の順序を列挙する:
- Order 指定:
Order(取り出し順) — コピーする入力行・列の順序を列挙する。In Specified Order系のMethodで使用され、ここに並べた順番でテーブルが再構成される
Delete Unspecified .delete 🗑️
In Specified Order 系モード時に、Order に列挙されていない行・列を削除するトグル:
- Delete Unspecified トグル:
Delete Unspecified(指定外を削除) —MethodがIn Specified Order by NameまたはIn Specified Order by Indexのときのみ有効。Orderに列挙していない行・列をすべて削除する。列の抽出・絞り込みに利用する
Common Page 🔧
Language .language 📝
DAT が動作するスクリプト言語の決定方法
| 項目 | 内部名 | 説明 |
|---|---|---|
| Input | .input |
入力 DAT のスクリプト言語を使用 |
| Node | .node |
この DAT 自身のスクリプト言語を使用 |
Edit/View Extension .extension 📄
外部エディタに公開するファイル拡張子の選択
| 項目 | 内部名 | 説明 |
|---|---|---|
| dat | .dat |
汎用的なファイル拡張子 dat を使用 |
| From Language | .language |
DAT のスクリプト言語に応じた拡張子を自動選択 |
| Custom Extension | .custom |
Custom Extension で指定したカスタム拡張子を使用 |
Custom Extension .customext 🔤
Edit/View Extension が Custom Extension のときに適用される拡張子:
- Custom Extension 文字列:
Edit/View Extensionがcustomのときに使用される任意のファイル拡張子
Word Wrap .wordwrap 🔁
ノード表示でのワードラップ (折り返し) の有効化
| 項目 | 内部名 | 説明 |
|---|---|---|
| Input | .input |
入力 DAT の Word Wrap 設定を継承 |
| On | .on |
Word Wrap を有効化 (ノード上の長い行を折り返し表示) |
| Off | .off |
Word Wrap を無効化 (折り返さずそのまま表示) |
実践アイデア 💡
Example 1: CSV の列順を整える 📑
File In DAT → Reorder DAT (Columns, In Specified Order by Name) → File Out DAT
読み込んだ CSV テーブルの列順が出力先フォーマットと食い違っているとき、Reorder DAT の In Specified Order by Name モードで必要な列名を望む順番に並べ替えてから書き出す基本フロー。Delete Unspecified をオンにすると、列挙しなかった余計な列も同時に切り落とせる。
- File In DAT で CSV を読み込み、ヘッダ行付きのテーブルを取得
- Reorder DAT を後段に配置、
reorderをColumns、methodをIn Specified Order by Nameに設定 Orderに出力したい列名を望む順番で列挙- 不要な列を落としたい場合は
Delete Unspecifiedをオンにする - File Out DAT で整形後のテーブルを書き出す
Example 2: ランキング表を逆順に反転 🔃
Sort DAT → Reorder DAT (Rows, Reverse) → Table DAT
Sort DAT で昇順に並べたスコアテーブルを、Reorder DAT の Reverse モードで行ごと反転させ、降順 (上位から下位) のランキング表に変える用途。Sort DAT 側で並べ替えの基準を作り、Reorder DAT は純粋に並び方向の反転だけを担当させると役割が明確になる。
- Sort DAT でスコア列を基準に昇順ソート
- Reorder DAT を続け、
reorderをRows、methodをReverseに設定 - 行の並びが反転し、降順 (上位スコアが先頭) のテーブルになることを確認
- 後段の Table DAT でセル参照可能な状態にする
Example 3: 特定の 2 列を入れ替える 🔁
Table DAT → Reorder DAT (Columns, Swap by Names) → Select DAT
テーブル内の特定 2 列だけを入れ替えたいとき、Reorder DAT の Swap by Names モードで From と To に列名を指定する用途。番号ではなく名前で指定するため、上流で列が増減しても狙った列を確実に入れ替えられる。
- Table DAT で対象テーブルを保持
- Reorder DAT を後段に配置、
reorderをColumns、methodをSwap by Namesに設定 Beforeに一方の列名、Afterにもう一方の列名を指定- Select DAT で必要な列範囲のみ下流に渡す
Example 4: 必要な列だけを順序付きで抽出 🎯
CHOP to DAT → Reorder DAT (Columns, In Specified Order by Name, Delete Unspecified=On) → Convert DAT
CHOP 値をテーブル化した後、Reorder DAT の In Specified Order by Name モードで出力に残したい列だけを順番に列挙し、Delete Unspecified をオンにして残りを切り捨てる用途。後段の Convert DAT で CSV テキスト化する前に、列構成を送信フォーマットへ揃えられる。
- CHOP to DAT でチャンネル値をテーブル化
- Reorder DAT を続け、
reorderをColumns、methodをIn Specified Order by Nameに設定 Orderに残したい列名だけを必要な順番で列挙Delete Unspecifiedをオンにして、列挙していない列を削除- 後段の Convert DAT で CSV / TSV テキストにシリアライズ
関連オペレータ 🔗
類似機能OP 🔍
- Sort DAT — セル値を基準に行・列を並べ替える DAT。Reorder が手動指定なのに対し Sort は値ベースの自動ソート
- Transpose DAT — 行と列を入れ替える DAT。テーブルの軸そのものを転置する点が Reorder と異なる
組み合わせ推奨OP 🔄
- Table DAT — 並べ替え元の代表的なソース、並べ替え後の格納先
- Sort DAT — 値で並べてから Reorder で反転・抽出する二段構え
- Select DAT — Reorder 後に必要な行・列範囲を抽出
- Convert DAT — 列順を整えた後に CSV / TSV テキストへシリアライズ
- File In DAT — ディスク上の CSV / TSV を読込み、Reorder で列順を整える
- File Out DAT — 並べ替え後のテーブルをディスクに書き出す
- CHOP to DAT — CHOP 値をテーブル化した後 Reorder で列構成を整える
前処理・後処理DAT 🎯
- 前処理: Table DAT、File In DAT、Convert DAT、Sort DAT、Merge DAT
- 後処理: Select DAT、Convert DAT、Transpose DAT、File Out DAT、Table DAT
Info CHOP情報 📊
Reorder DAT は Info CHOP による詳細情報取得に対応しています。num_rows / num_cols で並べ替え後テーブルのサイズを、total_cooks / cook_time / cpu_time で実行統計を参照でき、列抽出後のサイズ確認や、入力テーブル変化時の再評価タイミング判定に利用できます。
DAT 固有情報 📋
num_rows: DAT の行数num_cols: DAT の列数type: DAT の型 (table / text)is_table: テーブル形式の場合 1、テキスト形式の場合 0
汎用オペレータ情報 🔄
total_cooks: プロセス開始からのクック回数cook_time: 最後のクック時間 (ミリ秒)cook_frame: 最後にクックされたフレーム番号warnings: 警告数errors: エラー数
トラブルシューティング ⚠️
よくある問題と解決策 🔧
❌ Problem: Before / After / Order を設定しても並べ替えが変化しない
✅ Solution:
Methodと各パラメータの対応を確認する。ReverseではBefore/After/Orderは使われないReplace/Swap系ではBefore(元) とAfter(先) を、In Specified Order系ではOrderを使う- 名前指定モード (
by Names) では存在する行・列名を、番号指定モード (by Indices) では有効なインデックスを入力しているか確認
❌ Problem: Delete Unspecified をオンにしても列が削除されない
✅ Solution:
Delete UnspecifiedはMethodがIn Specified Order by NameまたはIn Specified Order by Indexのときのみ有効- 他の
Method(Reverse/Replace/Swap) では本トグルは無効になる - 残したい行・列を
Orderに列挙し、列挙外を削除する設計になっているか確認
❌ Problem: 指定順モードで列が想定外の位置に残ってしまう
✅ Solution:
Orderに列挙していない行・列は、削除しない限り入力順で末尾に追加される仕様であることを確認- 末尾の余分な行・列を消したい場合は
Delete Unspecifiedをオンにする - 順序を完全に制御したい場合は、出力したい全行・全列を
Orderに明示的に列挙する
❌ Problem: 行を並べ替えたいのに列が並べ替えられてしまう
✅ Solution:
ReorderパラメータがRowsとColumnsのどちらになっているか確認- 行 (横方向の並び) を対象にするなら
Rows、列 (縦方向の並び) を対象にするならColumnsを選択 - テーブルの軸そのものを入れ替えたい場合は Reorder ではなく Transpose DAT を検討
参考資料 📚
その他 🔗
- TouchDesigner Wiki — DAT 概要
- TouchDesigner Wiki — Category:DATs
- TouchDesigner Wiki ホーム
- TouchDesigner 公式 Forum
- Facebook — TouchDesigner Help Group
公式リソース 📖
- TouchDesigner公式ドキュメント – Reorder DAT
- Sort DAT(値ベースの並べ替えに併用)
- Transpose DAT(行と列の転置)
- Table DAT(並べ替え元・格納先)

