
概要 📖 – セル値で行や列を並べ替え
Sort DATは、入力テーブルの行または列を、指定した列・行の値を基準に文字順・数値順・ランダムで並べ替えて出力する DATです。Sort で行と列のどちらを並べ替えるかと基準の指定方法を決め、Name または Index で基準となる列・行を指定し、Order で並べ替えの種類 (文字順 / 数字混じり / 数値順 / ランダム) を選びます。
主な用途 🎯
- Table DAT や File In DAT で取り込んだテーブルを指定した列の値を基準に並べ替える
- スコアやタイムのランキング表を数値の大小で昇順・降順に並べ替えて表示する
- アルファベット順や数字混じりの自然順で名前リスト・ファイル名リストを整列する
- Unique Output で重複する行や列を取り除き、一意なテーブルに整える
- Random モードでテーブルをシャッフルし、ランダムな抽選・出題順を作る
データフロー 🔄
入力: テーブル DAT
↓
Sort で行・列のどちらを並べ替えるか + 基準の指定方法を決定
↓
Name / Index で基準となる列・行を指定
↓
Order で並べ替えの種類 (文字 / 数字混じり / 数字 / ランダム) を選択
↓
Ignore Case / Preserve First / Unique Output / Reverse Output で挙動を調整
↓
出力: 並べ替え後のテーブル DAT
初心者の方は、以下日本語書籍も手元にあると安心です。

実際の案件事例まで踏み込んで紹介されていて、効率よくスキルアップするなら必携の二冊です!
パラメータ解説 ⚙️
Sort Page 📋
Sort .sortmethod 🔀
行と列のどちらを並べ替えるか、そして基準をどう指定するかを決めるメニューパラメータ
| 項目 | 内部名 | 説明 |
|---|---|---|
| Rows (Specify Column Name) | .colname |
Rows (Specify Column Name) (列名指定で行を並べ替え) — Name で指定した列の値を基準に行を並べ替える |
| Rows (Specify Column Index) | .colindex |
Rows (Specify Column Index) (列番号指定で行を並べ替え) — Index で指定した列の値を基準に行を並べ替える |
| Rows (Preserve Input Order) | .colpreserve |
Rows (Preserve Input Order) (行の入力順を維持) — 行は並べ替えず入力順のまま保ち、Preserve First / Unique Output / Reverse Output だけを適用する |
| Columns (Specify Row Name) | .rowname |
Columns (Specify Row Name) (行名指定で列を並べ替え) — Name で指定した行の値を基準に列を並べ替える |
| Columns (Specify Row Index) | .rowindex |
Columns (Specify Row Index) (行番号指定で列を並べ替え) — Index で指定した行の値を基準に列を並べ替える |
| Columns (Preserve Input Order) | .rowpreserve |
Columns (Preserve Input Order) (列の入力順を維持) — 列は並べ替えず入力順のまま保ち、Preserve First / Unique Output / Reverse Output だけを適用する |
Name .name 🔤
名前指定モードで基準とする列・行の名前を指定する:
- Name 指定:
Name(基準の名前) —Sortが名前指定モード (列名 / 行名) のときに、並べ替えの基準とする列・行の名前を入力する。一致する名前が見つからない場合、出力は並べ替えられない
Index .index 🔢
番号指定モードで基準とする列・行のインデックスを指定する:
- Index 指定:
Index(基準の番号) —Sortが番号指定モード (列番号 / 行番号) のときに、並べ替えの基準とする列・行のインデックスを入力する。-1や範囲外の値を入れると、出力は並べ替えられない
Order .order 🎛️
並べ替えの種類を指定するメニューパラメータ
| 項目 | 内部名 | 説明 |
|---|---|---|
| Alphabetical | .alpha |
Alphabetical (文字順) — アルファベット順で並べ替える。数字は文字として扱われ、ASCII の文字コード順に並ぶ |
| Alphabetical with Numbers | .alphanum |
Alphabetical with Numbers (数字混じりの自然順) — 文字と数字が混在する値を、数値部分を考慮した自然な順序で並べ替える |
| Numbers | .nums |
Numbers (数値順) — 数値として並べ替える。文字はすべて 0 として扱われ、元の順序が保たれる |
| Random | .random |
Random (ランダム) — テーブルをランダムに並べ替える。下の Seed パラメータの乱数シードを使用する |
Seed .seed 🎲
Order が Random のときに使う乱数シード:
- Seed 値:
Seed(乱数シード) —OrderがRandomのときに使われる乱数の種。同じ値なら同じシャッフル結果が再現される
Ignore Case .ignorecase 🔡
文字順の並べ替えで大文字・小文字の区別を無視するトグル:
- Ignore Case トグル:
Ignore Case(大文字小文字を無視) —OrderがAlphabeticalまたはAlphabetical with Numbersのときに、大文字と小文字を区別せずに並べ替える
Preserve First .preservefirst 📌
先頭の行または列を並べ替えず固定するトグル:
- Preserve First トグル:
Preserve First(先頭を固定) — 先頭の行または列 (Sortが Rows か Columns かに応じる) を並べ替えず、その位置に固定する。見出し行・見出し列を保ったまま中身だけ並べ替えるときに使う
Unique Output .unique 🧹
並べ替え後に重複する行・列を取り除くメニューパラメータ
| 項目 | 内部名 | 説明 |
|---|---|---|
| Off | .off |
Off (重複除去なし) — 重複する行・列をそのまま残す |
| Single Row/Col | .single |
Single Row/Col (基準セルのみで判定) — 並べ替えの基準となる行・列の値だけを見て、重複する行・列を取り除く |
| Entire Rows/Cols | .entire |
Entire Rows/Cols (行・列全体で判定) — 行・列のすべてのセルが一致するものだけを重複とみなして取り除く |
Reverse Output .reverse 🔃
並べ替えた結果の並び順を逆にするトグル:
- Reverse Output トグル:
Reverse Output(出力を反転) — 並べ替えた順序を逆にする。昇順の結果を降順に変えるなど、ランキングの上位・下位を入れ替えるときに使う
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: スコアを降順ランキングに 🏆
Table DAT → Sort DAT (Rows, Specify Column Name, Numbers, Reverse Output) → Table DAT
プレイヤー名とスコアが並んだテーブルを、スコア列の数値を基準に並べ替えて降順ランキング表を作る基本フロー。Order を Numbers にして数値順に並べ、Reverse Output をオンにすることで高得点が先頭に来る降順表示にする。
- Table DAT で名前列とスコア列を持つテーブルを用意
- Sort DAT を後段に配置し、
SortをRows (Specify Column Name)に設定 Nameにスコア列の名前を入力し、OrderをNumbersに設定Reverse Outputをオンにして高得点を先頭に並べる- 後段の Table DAT でランキング表として参照する
Example 2: 重複行を除いて整列 🧹
File In DAT → Sort DAT (Rows, Specify Column Name, Alphabetical, Unique Output=Entire) → Convert DAT
CSV から読み込んだリストをアルファベット順に並べ替えつつ、まったく同じ内容の行を取り除いて一意なテーブルに整える用途。Unique Output を Entire Rows/Cols にすると、全セルが一致する重複行だけがまとめられる。
- File In DAT で CSV を読み込み、テーブル化する
- Sort DAT を続け、
SortをRows (Specify Column Name)、OrderをAlphabeticalに設定 Unique OutputをEntire Rows/Colsにして重複行を取り除く- 後段の Convert DAT で CSV / TSV テキストにシリアライズ
Example 3: 見出し行を残して並べ替え 📌
Table DAT → Sort DAT (Rows, Specify Column Index, Alphabetical with Numbers, Preserve First) → Select DAT
1 行目に見出しを持つテーブルを並べ替える際、見出し行を先頭に固定したまま中身だけを整列させる用途。Preserve First をオンにすると先頭行が動かず、Alphabetical with Numbers で「item2 → item10」のような自然順を実現できる。
- Table DAT で 1 行目に見出しを持つテーブルを保持
- Sort DAT を後段に配置し、
SortをRows (Specify Column Index)に設定 Indexに基準にする列番号を入力し、OrderをAlphabetical with Numbersに設定Preserve Firstをオンにして見出し行を先頭に固定する- Select DAT で必要な行・列範囲のみ下流に渡す
Example 4: 抽選用にシャッフル 🎲
Table DAT → Sort DAT (Rows, Specify Column Index, Random, Seed) → Table DAT
出題順や抽選の当選順をランダムに決めたいとき、テーブルの行を Random モードでシャッフルする用途。Seed を固定すれば同じシャッフル結果を再現でき、Seed を変えるたびに別の並びが得られる。
- Table DAT でシャッフル対象の行を持つテーブルを用意
- Sort DAT を続け、
SortをRows (Specify Column Index)、OrderをRandomに設定 Seedの値を変えて望むシャッフル結果を選ぶ- 後段の Table DAT でシャッフル後の並びを参照する
関連オペレータ 🔗
類似機能OP 🔍
- Reorder DAT — 行・列を手動指定で並べ替える DAT。Sort が値ベースの自動ソートなのに対し Reorder は位置の手動指定
- Transpose DAT — 行と列を入れ替える DAT。テーブルの軸そのものを転置する点が Sort と異なる
組み合わせ推奨OP 🔄
- Table DAT — 並べ替え元の代表的なソース、並べ替え後の格納先
- File In DAT — ディスク上の CSV / TSV を読込み、Sort で値を基準に整列する
- Reorder DAT — Sort で値順に並べた後、Reorder で反転・抽出する二段構え
- Select DAT — Sort 後に必要な行・列範囲を抽出
- Convert DAT — 整列した後に CSV / TSV テキストへシリアライズ
- CHOP to DAT — CHOP 値をテーブル化した後 Sort で値順に整列する
前処理・後処理DAT 🎯
- 前処理: Table DAT、File In DAT、Merge DAT、Convert DAT
- 後処理: Reorder DAT、Select DAT、Transpose DAT、Convert DAT、Table DAT
Info CHOP情報 📊
Sort 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: 並べ替えても順序が変化しない
✅ Solution:
- 名前指定モードでは
Nameに存在する列・行名を入れているか確認する。一致しないと出力は並べ替えられない - 番号指定モードでは
Indexが-1や範囲外になっていないか確認する。無効なインデックスだと並べ替えられない SortがPreserve Input Order系になっていないか確認する。このモードは入力順を維持し並べ替えを行わない
❌ Problem: 数字が思った順に並ばない
✅ Solution:
OrderがAlphabeticalだと数字も文字として ASCII 順に並ぶため、Numbersに切り替える- 「item2 → item10」のような文字と数字が混在する値は
Alphabetical with Numbersを使うと自然順になる Numbersモードでは文字を含むセルは 0 として扱われる仕様であることを確認する
❌ Problem: 見出し行まで並べ替えられてしまう
✅ Solution:
Preserve Firstをオンにして先頭の行または列を並べ替え対象から外すPreserve Firstが固定するのはSortが Rows なら先頭行、Columns なら先頭列である点を確認する- 見出しと中身を分けて扱いたい場合は前段で Select DAT を併用し範囲を切り分ける
❌ Problem: 重複行が取り除けない
✅ Solution:
Unique OutputがOffになっていないか確認する- 基準セルだけで判定するなら
Single Row/Col、全セル一致で判定するならEntire Rows/Colsを選ぶ - 行・列全体が完全に一致していないと
Entire Rows/Colsでは重複とみなされない点を確認する
参考資料 📚
その他 🔗
- TouchDesigner Wiki — DAT 概要
- TouchDesigner Wiki — Category:DATs
- TouchDesigner Wiki ホーム
- TouchDesigner 公式 Forum
- Facebook — TouchDesigner Help Group
公式リソース 📖
- TouchDesigner公式ドキュメント – Sort DAT
- Reorder DAT(手動指定の並べ替えに併用)
- Transpose DAT(行と列の転置)
- Table DAT(並べ替え元・格納先)

