
概要 📖 – 行と列を入れ替える
Transpose DATは、入力テーブルの行と列を丸ごと入れ替え、縦横の軸を転置して出力する DATです。元のテーブルの 1 行目が出力の 1 列目に、1 列目が 1 行目に移ります。縦持ち・横持ちの切り替えや、後段オペレータが前提とする行列方向への変換に使います。
主な用途 🎯
- Table DAT の行と列を丸ごと入れ替え、縦持ち・横持ちのデータ形式を切り替える
- CHOP to DAT で縦に並んだチャンネル値を横並びの 1 行に転置し、後段の参照を簡単にする
- File In DAT で読み込んだ CSV の軸を転置し、外部フォーマットの行列方向に合わせて整える
- ヘッダが先頭列に入ったテーブルを転置し、列見出しを先頭行へ移して扱いやすくする
- Sort DAT や Select DAT が前提とする行方向の並びへ、列方向のデータを転置して渡す
データフロー 🔄
入力: テーブル DAT
↓
Transpose で行と列を入れ替え (元の 1 行目が 1 列目に、1 列目が 1 行目になる)
↓
出力: 行と列が転置されたテーブル DAT
初心者の方は、以下日本語書籍も手元にあると安心です。

実際の案件事例まで踏み込んで紹介されていて、効率よくスキルアップするなら必携の二冊です!
パラメータ解説 ⚙️
Common Page 🔧
Language .language 📝
Language (動作言語) — DAT が動作するスクリプト言語の決定方法
| 項目 | 内部名 | 説明 |
|---|---|---|
| Input | .input |
入力 DAT のスクリプト言語を使用 |
| Node | .node |
この DAT 自身のスクリプト言語を使用 |
拡張子の選択 .extension 📄
Edit/View Extension (編集・表示拡張子) — 外部エディタに公開するファイル拡張子の選択
| 項目 | 内部名 | 説明 |
|---|---|---|
| dat | .dat |
汎用的なファイル拡張子 dat を使用 |
| From Language | .language |
DAT のスクリプト言語に応じた拡張子を自動選択 |
| Custom Extension | .custom |
Custom Extension で指定したカスタム拡張子を使用 |
カスタム拡張子 .customext 🔤
Edit/View Extension が Custom Extension のときに適用される拡張子:
- Custom Extension 文字列:
Edit/View Extensionがcustomのときに使用される任意のファイル拡張子
Word Wrap .wordwrap 🔁
Word Wrap (折り返し) — ノード表示でのワードラップの有効化
| 項目 | 内部名 | 説明 |
|---|---|---|
| Input | .input |
入力 DAT の Word Wrap 設定を継承 |
| On | .on |
Word Wrap を有効化 (ノード上の長い行を折り返し表示) |
| Off | .off |
Word Wrap を無効化 (折り返さずそのまま表示) |
実践アイデア 💡
Example 1: 縦持ちCHOP値を横並びに 🔀
CHOP to DAT → Transpose DAT → Table DAT
CHOP to DAT で取り込んだチャンネル値が縦 1 列に並んでいるとき、Transpose DAT で行と列を入れ替えて横並びの 1 行に変換する基本フロー。後段でセルを横方向に参照したいときに、軸を転置するだけで扱いやすくなる。
- CHOP to DAT でチャンネル値をテーブル化 (縦方向に値が並ぶ)
- Transpose DAT を後段に配置し、入力を接続するだけで行と列が入れ替わる
- 縦 1 列だった値が横 1 行に転置されることを確認
- 後段の Table DAT でセル参照可能な状態にする
Example 2: CSVの軸を入れ替える 🔄
File In DAT → Transpose DAT → File Out DAT
読み込んだ CSV テーブルの行と列の向きが出力先フォーマットと食い違っているとき、Transpose DAT で軸を転置してから書き出す用途。1 行目に並んでいた見出しを 1 列目へ移したい、といった縦横の切り替えをオペレータ 1 個で完結できる。
- File In DAT で CSV を読み込み、テーブルを取得
- Transpose DAT を後段に配置し、行と列を転置
- 元の 1 行目が 1 列目に移っていることを確認
- File Out DAT で転置後のテーブルを書き出す
Example 3: 転置してから値でソート 📊
Table DAT → Transpose DAT → Sort DAT
列ごとに並んだデータを行ベースで並べ替えたいとき、Transpose DAT で先に軸を入れ替え、行方向の並びにしてから Sort DAT に渡す用途。Sort DAT は行を基準に並べ替えるため、列方向のデータは一度転置しておくと狙ったソートが行える。
関連オペレータ 🔗
類似機能OP 🔍
- Reorder DAT — 行・列を指定順に並べ替える DAT。Transpose が軸そのものを転置するのに対し、Reorder は並び順を変える
- Sort DAT — セル値を基準に行を並べ替える DAT。転置と組み合わせて列方向データの並べ替えに使う
組み合わせ推奨OP 🔄
- Table DAT — 転置元の代表的なソース、転置後の格納先
- CHOP to DAT — 縦に並んだチャンネル値をテーブル化し、Transpose で横並びに変換
- File In DAT — ディスク上の CSV / TSV を読込み、Transpose で軸を整える
- File Out DAT — 転置後のテーブルをディスクに書き出す
- Sort DAT — 転置で行方向に揃えた後、値を基準に並べ替える
- Select DAT — 転置後に必要な行・列範囲を抽出
- Convert DAT — 転置で軸を整えた後に CSV / TSV テキストへシリアライズ
前処理・後処理DAT 🎯
- 前処理: Table DAT、File In DAT、CHOP to DAT、Reorder DAT、Merge DAT
- 後処理: Sort DAT、Select DAT、Convert DAT、File Out DAT、Table DAT
Info CHOP情報 📊
Transpose 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:
- Transpose はすべてのセルを機械的に入れ替えるため、元の 1 行目は 1 列目に移ることを確認する
- ヘッダの扱いを整えたい場合は、転置の前後に Reorder DAT を入れて行・列順を調整する
- 見出しだけを別扱いしたい場合は Select DAT で範囲を切り出してから転置する
❌ Problem: 転置しても出力が変化しない
✅ Solution:
- 入力 DAT が正しく接続されているか確認する (入力が空だと転置結果も空になる)
- 入力が 1 行 1 列など正方形に近い場合、転置しても見た目が変わりにくいので
num_rows/num_colsをInfo CHOPで確認する - 上流のテーブルが実際にクックされているか、Table DAT 等のソース側を確認する
❌ Problem: 行数と列数が大きく食い違いパフォーマンスが重い
✅ Solution:
- 転置前に Select DAT で必要な行・列範囲だけに絞り込む
- 毎フレーム転置する必要がなければ、入力が変化したときのみクックされる構成にする
- 巨大なテーブルは Convert DAT での文字列化など、後段処理の負荷もあわせて見直す
参考資料 📚
その他 🔗
- TouchDesigner Wiki — DAT 概要
- TouchDesigner Wiki — Category:DATs
- TouchDesigner Wiki ホーム
- TouchDesigner 公式 Forum
- Facebook — TouchDesigner Help Group
公式リソース 📖
- TouchDesigner公式ドキュメント – Transpose DAT
- Reorder DAT(行・列の並べ替えに併用)
- Table DAT(転置元・格納先)
- Sort DAT(転置後の値ベース並べ替え)

