Sort DAT 完全ガイド | 使い方・パラメータ解説【TouchDesigner】

※当サイトにはプロモーションリンクが含まれます。

Sort DAT のテーブル並べ替え機能を示す図

記事更新の通知はXでアナウンス٩(๑❛ᴗ❛๑)
@maru6o6をフォロー

概要 📖 – セル値で行や列を並べ替え

Sort DATは、入力テーブルの行または列を、指定した列・行の値を基準に文字順・数値順・ランダムで並べ替えて出力する DATです。Sort で行と列のどちらを並べ替えるかと基準の指定方法を決め、Name または Index で基準となる列・行を指定し、Order で並べ替えの種類 (文字順 / 数字混じり / 数値順 / ランダム) を選びます。

主な用途 🎯

  • Table DATFile In DAT で取り込んだテーブルを指定した列の値を基準に並べ替える
  • スコアやタイムのランキング表を数値の大小で昇順・降順に並べ替えて表示する
  • アルファベット順数字混じりの自然順で名前リスト・ファイル名リストを整列する
  • Unique Output重複する行や列を取り除き、一意なテーブルに整える
  • Random モードでテーブルをシャッフルし、ランダムな抽選・出題順を作る

データフロー 🔄

入力: テーブル DAT

Sort で行・列のどちらを並べ替えるか + 基準の指定方法を決定

Name / Index で基準となる列・行を指定

Order で並べ替えの種類 (文字 / 数字混じり / 数字 / ランダム) を選択

Ignore Case / Preserve First / Unique Output / Reverse Output で挙動を調整

出力: 並べ替え後のテーブル DAT

Tips

初心者の方は、以下日本語書籍も手元にあると安心です。

まる。
まる。

実際の案件事例まで踏み込んで紹介されていて、効率よくスキルアップするなら必携の二冊です!


パラメータ解説 ⚙️

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 🎲

OrderRandom のときに使う乱数シード:

  • Seed 値: Seed (乱数シード) — OrderRandom のときに使われる乱数の種。同じ値なら同じシャッフル結果が再現される

Ignore Case .ignorecase 🔡

文字順の並べ替えで大文字・小文字の区別を無視するトグル:

  • Ignore Case トグル: Ignore Case (大文字小文字を無視) — OrderAlphabetical または 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 ExtensionCustom Extension のときに適用される拡張子:

  • Custom Extension 文字列: Edit/View Extensioncustom のときに使用される任意のファイル拡張子

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 をオンにすることで高得点が先頭に来る降順表示にする。

  1. Table DAT で名前列とスコア列を持つテーブルを用意
  2. Sort DAT を後段に配置し、SortRows (Specify Column Name) に設定
  3. Name にスコア列の名前を入力し、OrderNumbers に設定
  4. Reverse Output をオンにして高得点を先頭に並べる
  5. 後段の 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 にすると、全セルが一致する重複行だけがまとめられる。

  1. File In DAT で CSV を読み込み、テーブル化する
  2. Sort DAT を続け、SortRows (Specify Column Name)OrderAlphabetical に設定
  3. Unique OutputEntire Rows/Cols にして重複行を取り除く
  4. 後段の 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」のような自然順を実現できる。

  1. Table DAT で 1 行目に見出しを持つテーブルを保持
  2. Sort DAT を後段に配置し、SortRows (Specify Column Index) に設定
  3. Index に基準にする列番号を入力し、OrderAlphabetical with Numbers に設定
  4. Preserve First をオンにして見出し行を先頭に固定する
  5. Select DAT で必要な行・列範囲のみ下流に渡す

Example 4: 抽選用にシャッフル 🎲

Table DAT → Sort DAT (Rows, Specify Column Index, Random, Seed) → Table DAT

出題順や抽選の当選順をランダムに決めたいとき、テーブルの行を Random モードでシャッフルする用途。Seed を固定すれば同じシャッフル結果を再現でき、Seed を変えるたびに別の並びが得られる。

  1. Table DAT でシャッフル対象の行を持つテーブルを用意
  2. Sort DAT を続け、SortRows (Specify Column Index)OrderRandom に設定
  3. Seed の値を変えて望むシャッフル結果を選ぶ
  4. 後段の 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 🎯


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 や範囲外になっていないか確認する。無効なインデックスだと並べ替えられない
  • SortPreserve Input Order 系になっていないか確認する。このモードは入力順を維持し並べ替えを行わない

❌ Problem: 数字が思った順に並ばない
✅ Solution:

  • OrderAlphabetical だと数字も文字として ASCII 順に並ぶため、Numbers に切り替える
  • 「item2 → item10」のような文字と数字が混在する値は Alphabetical with Numbers を使うと自然順になる
  • Numbers モードでは文字を含むセルは 0 として扱われる仕様であることを確認する

❌ Problem: 見出し行まで並べ替えられてしまう
✅ Solution:

  • Preserve First をオンにして先頭の行または列を並べ替え対象から外す
  • Preserve First が固定するのは Sort が Rows なら先頭行、Columns なら先頭列である点を確認する
  • 見出しと中身を分けて扱いたい場合は前段で Select DAT を併用し範囲を切り分ける

❌ Problem: 重複行が取り除けない
✅ Solution:

  • Unique OutputOff になっていないか確認する
  • 基準セルだけで判定するなら Single Row/Col、全セル一致で判定するなら Entire Rows/Cols を選ぶ
  • 行・列全体が完全に一致していないと Entire Rows/Cols では重複とみなされない点を確認する

参考資料 📚

その他 🔗

公式リソース 📖

この記事はLLMと共に内容を執筆、更新しています。
最新バージョンとの項目差異など、情報の不一致を見つけた心優しい方はXもしくはInsta、メールなどよりサイト管理者までご連絡ください😎


まる。

お仕事のご依頼はDM又はメールにて。
━━━━━━━━━━━━━━━━━
Python/Touchdesigner/M5Stackをこよなく愛すフルスタックエンジニア。
専門は生理心理学、趣味はヨガやサウナ、EMS電気風呂などヘルスケア全般。
脳波や筋電、心拍を中心とした生体情報のセンシング&インタラクティブアートづくりがライフワーク。

普段はワントゥーテンという会社で空間演出エンジニアをしています。
リファラル採用お繋ぎできますので、我こそはという尖った方は経歴と希望職種添えてDMください(エンジニア以外、営業職等もOK)。
ご飯行きましょう。

↓日常垢
Instagram:@malmal0v0

まる。をフォローする
その他の記事はこちら
Math Combine POP 完全ガイド | 使い方・パラメータ解説【TouchDesigner】
ZED Select TOP 完全ガイド | 使い方・パラメータ解説【TouchDesigner】
ZED POP 完全ガイド | 使い方・パラメータ解説【TouchDesigner】
Window COMP 完全ガイド | 使い方・パラメータ解説【TouchDesigner】
Widget COMP 完全ガイド | 使い方・パラメータ解説【TouchDesigner】

タイトルとURLをコピーしました