見出し画像

Tableau 表計算 TOTAL関数と、合計表示機能について

今回のテーマはTableauの表計算「TOTAL」と、アナリティクスペイン及び上部「分析」メニューにある合計機能について書こうと思います。この記事はTableau Version 2021.1を利用して書かれています。

合計の機能は、下図部分にあります。

画像1

今、サンプルスーパーストアのデータで、下図のように地域毎の合計(売上)を見るVizを作成しました。

画像5

ここで、2つの計算式を作成します。

一つ目は表計算WINDOW_SUMを利用し、SUM(売上)をさらに合計したものです。WINDOW_SUMと名付けました。

画像3

もう一つは、表計算TOTAL関数を用い、SUM(売上)をTOTALしたものです。TOTALと名前を付けました。

画像4

TOTAL関数はあまり馴染みないかもしれませんので、ここで、TOTAL関数の説明文を確認すると

画像5

このように「指定された式の合計を返します。」となっています。
つまりSUM(売上)をさらに合計するものと、解釈出来そうです。(注:実際は違いますが、この先で解説します。)

先ほど作ったVizに、作成した2つの計算式「WINDOW_SUM」「TOTAL」を合わせて表示したいと思います。

画像14

メジャーネーム、メジャーバリューを用い合計(売上)とWINDOW_SUMを棒グラフで重ね(スタックマークはオフ)、TOTALは2重軸で円でプロットしました。
WINDOW_SUMとTOTALの表計算設定「次を使用して計算」は地域に設定しています。つまり
青:合計(売上)    =                SUM(売上)
薄い緑:WINDOW_SUM  =   WINDOW_SUM(SUM(売上))
オレンジ:TOTAL  =              TOTAL(SUM(売上))
です。

当然ながら、WINDOW_SUMは全地域でのSUM(売上)を、さらに合計しているので大きな値となりチャート上で右の方にあります。
また、TOTAL(SUM(売上))も売上TOTALしており、WINDOW_SUMと一致しています。

ここに、さらにアナリティクスペインから合計を加えてみましょう。

画像7
画像8

上図のようになりますが、最下段の総計の行にはWINDOW_SUM、TOTALはない方が分かりやすいので非表示にしておきます。非表示にする方法は、WINDOW_SUM、TOTALのピルを右クリックし、「次を使用して合計(自動)」→非表示に変更です。
すると、

画像9

これで完成です。
赤枠部分を見ると、WINDOW_SUM、TOTAL、最下段の総計、すべて同じ値で一致しています。
どれも、全ての売上を合計しているので当然です。この事に疑問を感じる事はないと思います。
このように、Vizには何らかのメジャーの合計を表示していて、TOTAL関数でも、アナリティクス合計機能でも、元のメジャーの合計のさらなる合計を表示しようとする場合は、特に気にせずTOTAL関数、合計機能を利用して何ら問題は発生しません。

ここからの話題は、これまでTOTAL関数や合計機能を利用してもやもやを感じた事のある方や、Tableauの事を深く理解しておきたい方向けです。

では、次に上図のViz作成過程で、SUM としていた部分をすべて AVGに変更したいと思います。

メージャーバリューの合計(売上) は 平均(売上)に。
計算式「WINDOW_SUM」は名前を「WINDOW_AVG」に変え、WINDOW_AVG(AVG(売上))に。

画像10

計算式「TOTAL」も下記、AVG利用に変更します。

画像12

すると、Vizは下図のようになります。

画像16

青:平均(売上)    =                AVG(売上)
薄い緑:WINDOW_AVG  =         WINDOW_AVG(AVG(売上))
オレンジ:TOTAL  =                     TOTAL(AVG(売上))
最下段が総計
です。
はたしてこのような分析ニーズがあるかは置いておいて、このVizを確認すると、
・青色棒グラフは、各地域のレコードの売上の平均を示している。
・薄い緑「WINDOW_AVG」は各地域の平均(売上)を、さらに全地域で平均した値となっている。つまり平均の平均
・オレンジ色の円「TOTAL」は、TOTAL(AVG(売上))で計算されているが、明らかにAVG(売上)を合計したものではない
・最下段の行、総計と書いている部分も、明らかに上の各地域毎の平均(売上)を合計したものではない事が分かる。そしてオレンジのTOTALと一致している。

このような状況かと思います。

では、このオレンジの円「TOTAL」と、最下部の総計部分が何を表しているか考えてみます。
もう一度、TOTAL関数の説明を確認すると、

画像13

赤枠部分には、「パーティションに属するすべてのデータベース行の・・」
と書かれています。
つまり、この関数は指定した式を、パーティションの中のすべての行を対象に行った場合の値を返す関数です。パーティションとは、表計算設定「次を利用して計算」で設定した範囲となります。

上記のVizでの、TOTAL(AVG(売上))はAVG(売上)を合計するのではなく、AVG(売上)を表計算で指定した範囲内、つまり全地域の全レコードで行う、という計算式になります。
要するに地域を粒度に加えないでAVG(売上)を行うのと同義です。

同様に、最下部の総計部分、こちらも上の地域毎の平均(売上)を合計しているのではなく、地域で分けず全体で平均(売上)を計算した値です。

もし、行の地域を外し、表計算設定「次を使用して計算」をセルに変えると

画像14

このように、3つの値すべてが一致します。


合計と表現されている機能が、実は合計を計算しているのではない、という事に戸惑いを感じるかもしれません。

TOTALという単語の日本語訳を確認すると、「合計」という言葉の他に「全体の」という訳もあるようです。

なので、TableauでのTOTAL関数、アナリティスペインの合計(=英語版ではTotals)も、「全体での結果」というイメージで理解すれば、戸惑いはないと思います。

補足1
作成したVizの行にカテゴリに置き、アナリティクスの合計機能もしくは上部分析メニューから「すべての小計の追加」を行うと下図になります。

画像18

なお、引き続き、合計、総計部分にはWINDOW_AVG、TOTALの合計は非表示にしています。WINDOW_AVGとTOTALの表計算設定「次を使用して計算」は地域です。
各カテゴリの最下段、小計部分の値は、各カテゴリの中でTOTALの計算を行った結果と一致します。つまり各カテゴリに含まれているレコード全体で、AVG(売上)を行った結果です。粒度に地域を含めず、カテゴリの粒度でAVG(売上)を計算したとも言い換えられます。

ここで、WINDOW_AVG、TOTALの表計算設定「次を使用して計算」を地域+カテゴリにすると

画像19

オレンジのTOTALは、全カテゴリ、全地域、つまりデータ全体のレコードで、平均(売上)を行った結果となります。
そして、最下段、総計と一致します。今度は、粒度に地域とカテゴリ両方とも粒度に含めず、AVG(売上)を計算したとも言い換えられます。

補足2
下図、今回のVizでメジャーバリューとして利用した平均(売上)のメニュー「次を使用して合計(〇〇)」は、デフォルトで「自動」になっています。ここが自動だと、合計、総計部分は売上の集計方法(このVizでは平均)が全体レコードに対する集計方法として適用されます。

画像15

例えば、ここを合計にすると、実は、各地域毎の平均をさらに合計した値になります。つまり、WINDOW_SUM(AVG(売上))と同じ値です。この場合、全レコードに対する合計でなく、各地域毎の平均を合計した値です。

画像16

また、ここを平均にすると各地域毎の平均をさらに平均した値、すなわちWINDOW_AVG(AVG(売上))と同じになります。


ややこしい話になりましたが、結論をまとめると下記、

TOTAL関数は、表計算設定「次を利用して計算」で指定したディメンションを粒度に含めないで集計する計算。
合計機能は、簡易表計算のようなもので、
「次を使用して合計(〇〇)」設定が「自動」の場合、TOTAL関数を利用。
「合計」では WINDOW_SUM
「平均」は WINDOW_AVG
「最小値」は WINDOW_MIN
「最大値」は WINDOW_MAX
を利用した計算

このような説明が出来るかと思います。

以上、TOTAL関数と、合計機能の解説でした。非常に難解であり、説明も難しいです。
繰り返しになりますが、メジャーの合計に対し、TOTAL関数、合計機能を利用してる場合は深く気にする必要はありません。「次を使用して合計(〇〇)」もデフォルトのままで大丈夫です。活用しましょう!

ご精読ありがとうございます。

参考サイト :TRUESTAR社サイト

By ritz_Tableau
Tableau Zen Master | Tableau Public Ambassador |
Tableau Certified Professional | Data Saber
Twitter : @ritz_Tableau
Tableau Public : https://public.tableau.com/profile/satoshi.ganeko#!/
*記事の中に不正確な点などありましたら、是非、Twitter Direct Mailでお知らせ下さい。よろしくお願いします。m(__)m


この記事が気に入ったらサポートをしてみませんか?