ecoslymeです。
BIツールとして非常に優秀なTableau(タブロー)ですが、エクセルの使い方と大きく異なります。
エクセルでできることが、意外とTableauだとできないことがあります。
その中で特に一番要望がありそうな項目として、「表に計算行を追加・挿入」があります。
そこでこの記事では、Tableauで表(ビュー)の下の行に数式を追加・挿入する方法(IIF関数)をご紹介します。
関数のIIF関数を使用して行の追加を行いますが、めちゃくちゃ汎用性が高く、この方法を覚えていれば多くの場面で利用できると思います。
なお、IIF関数ではなく、ATTRを利用した方法は以下の記事でご紹介しています。
今回の方法と結果は似ていますが、できることが異なってきたりします。
ecoslymeです。 BIツールとして非常に優秀なTableau(タブロー)ですが、慣れるに従いエクセルと大きく異なる点に気づいてきました。 エクセル(Excel)では、「右の列や下の行[…]
操作前と操作後
(元データ)
⇓
Tableauのビュー(表)で計算行を追加・挿入する方法(IIF関数)
Tableauのビュー(表)で計算行を挿入したい主な例として、以下の例を考えていきたいと思います。
- 表の下に計算行を挿入したい主な例
・「売上」と「売上原価」の勘定項目しかないため、「粗利」の項目を追加したい
・「貢献利益」や「営業利益」といった勘定が無いので追加したい
存在しない行を計算することによって、無理やり行を生み出す方法です。
なお非常に地道な作業になり労力はかかりますが、非常にシンプルな方法であり作成したワークブックを誰かに引き継ぐ場合でも、後継者の人は計算式を見れば理解できるものです。
これからご紹介する、IIF関数はTableauを利用する人は必須で身につけるべきスキルです。
ですが、横軸(列)は年月などの推移くらいしか入れられません。計画比、前年比などを列項目に追加できません。
以下が元データとします。
<元データ>
エクセルの元データは以下のような形をしています。
売上、売上原価の金額がありますが、粗利(売上+売上原価)の金額がありません。
<Tableauでの見え方>
Tableauを上のデータ(エクセル)と接続し、Tableauで一般的に作成する表のフォームへと変換します。
計算フィールドで、以下の数式を入力してください。
- 売上
上記数式を入力すると、「売上」のメジャーが追加されており、横に並べてみると勘定項目が「売上」にしか数字が入っていないことがわかります。
数式の意味として、元データの勘定項目の列について「売上」と書かれていれば、その「金額」のみを抽出してくるものになります。
売上原価、販売費などの勘定項目は全て “0” へと変換されます。
これを全ての勘定項目について行ってください。
つまり、以下の計算フィールドを作成してください。(複製で作ると早いです)
メジャーの名前 | 計算式 |
売上 | IIF([勘定項目]=”売上“,[金額],0) |
売上原価 | IIF([勘定項目]=”売上原価“,[金額],0) |
販売費 | IIF([勘定項目]=”販売費“,[金額],0) |
一般管理費 | IIF([勘定項目]=”一般管理費“,[金額],0) |
営業外収益 | IIF([勘定項目]=”営業外収益“,[金額],0) |
営業外費用 | IIF([勘定項目]=”営業外費用“,[金額],0) |
特別利益 | IIF([勘定項目]=”特別利益“,[金額],0) |
特別損失 | IIF([勘定項目]=”特別損失“,[金額],0) |
法人税等 | IIF([勘定項目]=”法人税等“,[金額],0) |
上記対応ができたら、Tableauは以下の画面のようにメジャーが生成されていることになります。
なお、作成したPL勘定項目の計算フィールドは、分かりやすくグループ化からフォルダを作成してひとまとめにしました。
これで下準備は完成です。
「売上」と「売上原価」の勘定項目しかない表に「粗利」の項目を追加する
それでは、Tableauの表に行を追加する方法について、具体的な方法をご紹介します。
売上、売上原価の勘定項目しかない表に、「粗利」(=売上+売上原価)の項目を追加します。
それでは手順を説明していきます。
作成手順(事前準備)
上でご紹介した、各勘定項目を全て作成できたら後は簡単です。
粗利の計算フィールドを新たに作成すれば良いだけです。
- 粗利
同様にして、貢献利益から当期純利益の計算フィールドまで作成してみましょう。
メジャーの名前 | 計算式 |
粗利 | [売上]+[売上原価] |
貢献利益 | [粗利]+[販売費] |
営業利益 | [貢献利益]+[一般管理費] |
経常利益 | [営業利益]+[営業外収益]+[営業外損失] |
税引前当期純利益 | [経常利益]+[特別収益]+[特別損失] |
当期純利益 | [税引前当期純利益]+[法人税等] |
結構面倒ですが、ここまでできれば後が非常に楽になります。
グループ化からフォルダを作成して、「段階利益」というフォルダ名にしてまとめています。
作成手順
ようやく、Tableauの表に計算行を追加する下準備が整いました。
まずはディメンションの「メジャーネーム」を正しい順番に並べ替えてみましょう。
一旦Tableau Desktop上の表を全て削除します。
その後、行に「メジャーネーム」を入れてから、メジャー(abcと書かれているところ)に「メジャーバリュー」を入れましょう。
真ん中の下に「メジャーバリュー」の項目が出てきましたので、不要な項目を削除していきましょう。
これで完成です。
勘定項目が1つずつ見えるので、加工がしやすいです。
Tableauの表に「利益率(%)」を追加・挿入する方法
上記で説明した方法の応用を使えば、Tableauの表に「利益率(%)」などの単位が異なる計算フィールドも追加、挿入することができます。
方法は単純で、計算フィールドで「粗利÷売上」を行えば良いだけです。
- 粗利率
割り算をするときは、集計値(sum)を使用しないと数字がおかしくなってしまう場合が多いので、sumを利用しています。
メジャーバリューの項目の「粗利」の下に「粗利率」を挿入しましょう。
なお、単位を%に変更する方法ですが、ディメンション「粗利率」を右クリック ⇨ 既定のプロパティ ⇨ 数値形式 から設定できます。
これで、Tableauの表に単位の違う項目の計算行を追加することができました。
今回は勘定科目が9個しかなかったため、地道にできましたが、勘定項目数が多いと地道に作っていくのは心が折れてしまいますので、ご注意ください。
メリットやデメリット
メリットとしては、項目を一つずつ抜き出してきているので、Tableauの後任者でもメンテナンスがしやすいです。
また行の下に利益率(%)などの、単位の違う計算フィールドを追加・挿入できることです。
デメリットとしては、フィールド数が非常に増えてしまうので、後継者が最初見たときは面食らうでしょう。
また項目数が多ければ、その分地道に計算フィールドを作成する必要があることです。
- Tableau 表に計算行を追加・挿入した表
なお、以下のURLから今回ご紹介したTableauレポートのダウンロードが可能です。
最後に
いかがでしたでしょうか?
今回紹介した方法はPLの勘定項目に限らず、非常に多くの場面で役立つ汎用性の高いスキルになります。
このIIF関数の使い方を知っていれば、Tableauのレポート作成で行き詰まったときに力技でなんとかできる場面が増えてきます。
Tableau社もこの行を挿入できない問題に関しては、恐らく多方面から要望を貰っていると推察します。
今後のTableau社の開発に期待したいです。
「Tableauとはそもそもどんなシステム?」と思われた方は、是非以下の記事もご覧ください。
ecoslymeです。 皆さんは会社の会議の時、出てくる資料はどんな資料ですか?おそらく、パワーポイントでグラフや数字が書かれているものや、エクセルに数字が書かれていて図が挿入されているものが多いのではない[…]