行と列を入れ替える
表を 90 度回転させ、行と列を入れ替えます。 列が横にずらりと並んだ小さな表を、縦長にして読みやすくするときに使います。
入出力
| ポート | 内容 |
|---|---|
| 入力データ | データ |
| 出力データ | 行と列を入れ替え、すべての値を文字列にしたデータ |
Spark エンジンでは動きません。
設定項目
- 入れ替え後の1行目を列名として扱う
- 既定は off。on にすると、入れ替えたあとの 1 行目を列名にして、その行自体は消します。
変換のしかた
元の列名は消えずに、いちばん左の列に入ります。 ここが読み違えやすいところです。
入力
| 項目 | 値 |
|---|---|
| 売上 | 1200 |
| 原価 | 800 |
| 利益 | 400 |
「入れ替え後の1行目を列名として扱う」が off のとき
出力
| 列1 | 列2 | 列3 | 列4 |
|---|---|---|---|
| 項目 | 売上 | 原価 | 利益 |
| 値 | 1200 | 800 | 400 |
- 列名は
列1列2… と、左から順に振り直されます - 1 列目には元の列名(
項目値)が値として入ります - 元の 3 行が 3 つの列(
列2列3列4)になり、元の列名を入れる列1が増えて 4 列になります
「入れ替え後の1行目を列名として扱う」が on のとき
出力
| 項目 | 売上 | 原価 | 利益 |
|---|---|---|---|
| 値 | 1200 | 800 | 400 |
- 1 行目が列名になり、その行は消えます
- 1 列目の名前は元の 1 列目の名前(
項目)です。中身は残りの元の列名(値)です - 列名にする行に空欄があると、その列名は
<NA>になります
出力の大きさ
| 見るところ | 入れ替え後 |
|---|---|
| 列数 | 元の行数 + 1(1 列目に元の列名が入るため) |
| 行数 | 元の列数。「入れ替え後の1行目を列名として扱う」が on なら 1 つ減ります |
上限は決めていません。 行数の多いデータをそのまま入れ替えると列が膨大になるので、先に先頭/末尾からn行選択などで減らしてから使ってください。
型について
入れ替えると、すべての列が文字列になります。 入れ替え前に全列を文字列に変えてから回転させるので、数値も日付も文字列として並びます。元は行ごとに型が揃っていたものが、入れ替え後は 1 列に違う型の値が並ぶためです。
数値や日付として扱いたい列は、入れ替えたあとに列の型変更で戻してください。
よく使う例
1. 1 行だけの集計結果を縦にする
お題 — 全体集計の結果が横に並んでいて読みにくい
入力
| 売上合計 | 原価合計 | 粗利 |
|---|---|---|
| 1200 | 800 | 400 |
設定 — 「入れ替え後の1行目を列名として扱う」は off
出力
| 列1 | 列2 |
|---|---|
| 売上合計 | 1200 |
| 原価合計 | 800 |
| 粗利 | 400 |
項目名と値が 2 列に並び、縦に読めます。データ集計で「キー列を指定する」を off にして作った 1 行のデータと相性がよい形です。
2. 項目名と値の表を 1 行にする
お題 — 「項目 / 値」の 2 列の表を、項目名を列名にした 1 行にしたい
入力
| 項目 | 値 |
|---|---|
| 売上 | 1200 |
| 原価 | 800 |
設定 — 「入れ替え後の1行目を列名として扱う」を on
出力
| 項目 | 売上 | 原価 |
|---|---|---|
| 値 | 1200 | 800 |
左端に 項目 という列が残ります。要らなければ列選択/削除で外してください。
3. 入れ替えたあとに数値に戻す
お題 — 入れ替えた表で、そのまま計算を続けたい
入力
| 項目 | 1月 | 2月 |
|---|---|---|
| 売上 | 1200 | 1400 |
設定 — 「入れ替え後の1行目を列名として扱う」を on にしたあと、列の型変更で 1200 1400 の入る列を数値型にする
出力
| 項目 | 売上 |
|---|---|
| 1月 | 1200 |
| 2月 | 1400 |
型を戻すまでは文字列なので、合計も平均も掛かりません。
4. 出力する形を整える
お題 — 取引先に渡す帳票の形に合わせたい
入力
| 項目 | 値 |
|---|---|
| 売上 | 1200 |
出力 — 入れ替えで 列1 列2 になった列名を、渡す相手の様式に合わせて付け直した表