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

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

Reorder DAT のテーブル行・列並べ替え機能を示す図

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

概要 📖 – 行と列を並べ替える

Reorder DATは、入力テーブルの行または列を、反転・複製・入れ替え・指定順といった方法で並べ替えて出力する DATです。Reorder で行と列のどちらを対象にするかを決め、Method で並べ替え方法 (反転 / 名前または番号での複製・入れ替え / 指定順) を選び、Before / After / Order で具体的な対象を指定します。

主な用途 🎯

  • Table DAT の行や列を指定した順序に並べ替えて、後段の表示・参照を整える
  • CHOP to DATFile In DAT で取り込んだテーブルの列順を入れ替え、外部フォーマットに合わせて出力する
  • 名前またはインデックス指定で特定の行・列を別位置へ複製し、テーブルを再構成する
  • Reverse モードで行や列の並びを反転させ、ランキング表示や逆順ログを作る
  • In Specified Order モードで必要な列だけを順序付きで取り出し、Delete Unspecified で残りを切り捨てて列の抽出・絞り込みを行う

データフロー 🔄

入力: テーブル DAT

Reorder で行・列のどちらを対象にするか決定

Method で並べ替え方法 (反転 / 複製 / 入れ替え / 指定順) を選択

Before / After / Order で対象の行・列を指定

Delete Unspecified で指定外の行・列の扱いを決定

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

Tips

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

まる。
まる。

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


パラメータ解説 ⚙️

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 (指定外を削除) — MethodIn 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 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: 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 をオンにすると、列挙しなかった余計な列も同時に切り落とせる。

  1. File In DAT で CSV を読み込み、ヘッダ行付きのテーブルを取得
  2. Reorder DAT を後段に配置、reorderColumnsmethodIn Specified Order by Name に設定
  3. Order に出力したい列名を望む順番で列挙
  4. 不要な列を落としたい場合は Delete Unspecified をオンにする
  5. File Out DAT で整形後のテーブルを書き出す

Example 2: ランキング表を逆順に反転 🔃

Sort DAT → Reorder DAT (Rows, Reverse) → Table DAT

Sort DAT で昇順に並べたスコアテーブルを、Reorder DAT の Reverse モードで行ごと反転させ、降順 (上位から下位) のランキング表に変える用途。Sort DAT 側で並べ替えの基準を作り、Reorder DAT は純粋に並び方向の反転だけを担当させると役割が明確になる。

  1. Sort DAT でスコア列を基準に昇順ソート
  2. Reorder DAT を続け、reorderRowsmethodReverse に設定
  3. 行の並びが反転し、降順 (上位スコアが先頭) のテーブルになることを確認
  4. 後段の Table DAT でセル参照可能な状態にする

Example 3: 特定の 2 列を入れ替える 🔁

Table DAT → Reorder DAT (Columns, Swap by Names) → Select DAT

テーブル内の特定 2 列だけを入れ替えたいとき、Reorder DAT の Swap by Names モードで From と To に列名を指定する用途。番号ではなく名前で指定するため、上流で列が増減しても狙った列を確実に入れ替えられる。

  1. Table DAT で対象テーブルを保持
  2. Reorder DAT を後段に配置、reorderColumnsmethodSwap by Names に設定
  3. Before に一方の列名、After にもう一方の列名を指定
  4. 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 テキスト化する前に、列構成を送信フォーマットへ揃えられる。

  1. CHOP to DAT でチャンネル値をテーブル化
  2. Reorder DAT を続け、reorderColumnsmethodIn Specified Order by Name に設定
  3. Order に残したい列名だけを必要な順番で列挙
  4. Delete Unspecified をオンにして、列挙していない列を削除
  5. 後段の 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 🎯


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 UnspecifiedMethodIn Specified Order by Name または In Specified Order by Index のときのみ有効
  • 他の Method (Reverse / Replace / Swap) では本トグルは無効になる
  • 残したい行・列を Order に列挙し、列挙外を削除する設計になっているか確認

❌ Problem: 指定順モードで列が想定外の位置に残ってしまう
✅ Solution:

  • Order に列挙していない行・列は、削除しない限り入力順で末尾に追加される仕様であることを確認
  • 末尾の余分な行・列を消したい場合は Delete Unspecified をオンにする
  • 順序を完全に制御したい場合は、出力したい全行・全列を Order に明示的に列挙する

❌ Problem: 行を並べ替えたいのに列が並べ替えられてしまう
✅ Solution:

  • Reorder パラメータが RowsColumns のどちらになっているか確認
  • 行 (横方向の並び) を対象にするなら Rows、列 (縦方向の並び) を対象にするなら Columns を選択
  • テーブルの軸そのものを入れ替えたい場合は Reorder ではなく Transpose DAT を検討

参考資料 📚

その他 🔗

公式リソース 📖

この記事は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をコピーしました