
Tableau 8つのハードルを越える㉙「表計算 その5 表計算の設定の理解 後編」

こんにちは。
前回に続き、表計算の「次を使用して計算」設定の解説です。
前号「表計算 その4」は下記になります。
この記事では、2018年版のサンプルスーパーストアデータを用いています。
本記事で利用しているTableauワークブックを下記に掲載しています。
https://public.tableau.com/app/profile/satoshi.ganeko/viz/2_v2019_1_16235686652070/sheet0
再び、前号で作成した数量のクロス集計表に戻ります。

これは、列に、カテゴリと顧客区分
行に、地域と出荷モード
をおき、テキストで数量合計を表示しています。(地域は3つにフィルターしています。)
このVizで、マークテキストの合計(数量)を全体に対する割合に変更してみます。

すると

このように数字が%になります。
しかし、どの範囲を足すと、100%になるか・・とても分かりにくいです。
この時、「次を使用して計算」は、
デフォルト設定の

「表(横)」になっています。
つまり

このクロス集計表の横方向に通して合計したものが、100%となっています。
「次を使用して計算」の設定項目を見ると、表(横)、表(下)、表、ペイン(横)・・セルと多くの選択肢があります。また、その下には「カテゴリ」「出荷モード」「地域」「顧客区分」と具体的にディメンション名が書かれている部分もあります。

これら、全ての意味についてここで説明する事はやめておきますが、大別すると
・上部「表(横)」~「セル」までの選択肢は、作成中のVizの左右上下の位置関係をイメージしながら、表計算の計算方向や範囲を設定する選択肢です。
・一方、下部「カテゴリ」~「顧客区分」と具体的にディメンション名を選ぶ部分は、表計算の計算方向や範囲を、直接ディメンション名で明示する選択肢です。
どちらを使うかは好みによりますが、列、行のみでなくマークの色、詳細などにディメンションを置いている場合は、縦や横というイメージが湧きにくくなるので、最初からディメンション名を明示した方がすっきりする。という感想を個人的には持っています。
試しに、いくつか設定を変更してみましょう。



(なお「ペイン」とは、列と行のディメンションで区切られたまとまりの中で一番小さめのまとまり、そんなイメージです。Vizを作っている最中に線で四角く囲まれている部分です。)
Vizに利用しているディメンションが多いと、行いたい表計算を実施させるため、さらに細かい設定を行う必要が出てきます。
そういう場合は、下図、表計算の設定から行います。

この設定画面の、「特定のディメンション」で設定を行うと、どういった方向、範囲で表計算させるかをきめ細かく設定出来ます。
少し複雑ですが、一つ例を挙げます。
下図は、家具と家電の、2017年から2018年の月別売上を示したVizです。

こちらの、Vizを、各カテゴリの中で、2017年1月から2018年12月まで、累計を計算するVizに変えたいと思います。左から累計して、カテゴリが家具から家電にかわったらリセットして累計しなおす。そんな計算です。
そこで、合計(売上)を簡易表計算「累計」にすると

このように、家具の2017年1月から家電の12月まで、左から右にずっと累計したVizになります。
これを、家具から家電になったところで、リセットし累計しなおすVizにするためには、「表計算の編集」で

このように設定します。
特定のディメンションを選び、上からオーダー日の年、オーダー日の月と並べて、この二つにチェックを入れます。
これで、月にそって累計し、年がかわってもそのまま累計していく。カテゴリが変わったらリセットした累計を計算しなおす。
という設定になります。
結果は下図になります。

最初は、混乱することもりますが、この「次を使用して計算」の設定を様々な表計算に共通する説明文で表現すると
「〇〇」を利用して表計算 とは
「〇〇」は変わっても、ひとまとまりに扱う
そのまとまりの中で計算をする
「〇〇」以外がかわったらリセットする
このように表現出来ると思います。
例えば下図、全体の割合計算で「○○」にカテゴリを当てはめると

カテゴリが変わっても(家具→家電→事務用品となっても)、ひとまとまりに扱い合計を求め
そのまとまりの中で、各%を計算する。
「カテゴリ」以外 、つまり地域が変わった場合には、リセットするので
もう一度0から足して全体を求めていく。
こんな、表現となります。
しかしながら、表計算を利用する上で一番大事な事は、一発で思い通りの設定を出来る事ではなく、自分の設定が間違っていないか、常に確認する事だと思います。
ここからは、その確認に使える方法をいくつかご紹介いたします。再び、冒頭のクロス集計表の例を利用します。
①表計算の編集での黄色いガイド
「表計算の編集」から、詳細な設定をしている時は、設定中に表計算の方向、範囲となっている部分が黄色に塗られます。

上図の例では、出荷モード、顧客区分が「次を使用して計算」で設定されているので、出荷モード、顧客区分が変わっていてもひとまとまりに扱っています。その範囲が黄色く塗られています。
*補足
粒度となっているディメンションが、列、行ではなくマークにある場合には、この方法を利用しても確認しづらいです。
②一緒に表計算のIndex()関数を表示してみる。
Index()関数は表計算の一種で、表計算の範囲内で順々に1から番号をふり、リセットされる部分では再び1に戻るという関数です。
これをVizの中にラベルで表示してみます。オレンジ色がIndex()です。

上図では、簡易表計算の合計(数量)△、Index()△、両方とも「次を使用して計算」は「表(横)」になっています。数量の%を見ても、どの範囲が100%かぱっとは分かりませんが、オレンジ色のIndex()を見れば、横方向に1から9まで増え、次の段になると1から振り直されているのが分かります。
これを見ると、「横方向と通して、ひとまとまりになっているな」という事が分かります。
次に少々難解で、普通はしなさそうな設定ですが、
「次を使用して計算」を「地域」にしてみました。

もはや、%の数字を見ても、どこを合計すると100%になるか、全く分からなくないですか?
そもそも、表の作り方が間違っていると言っても良いでしょう。
ただ、同じ設定で振られたIndex()を見ると
地域が変わるところで、1、2、3と増えているのが分かります。
つまり、この設定は、あるカテゴリ、顧客区分、出荷モード、の中で、地域が違ってもひとまとまりにとらえ合計し100%とし、地域毎の%を計算しています。
このようにIndex()関数は、表計算設定の確認に使えます。
注意点は、メジャーの表計算の設定と同じように、Index()も設定してあげる必要がある事です。これを忘れると両者が別々の設定で表示されてしまいます。
*補足
Index()の代わりにRUNNING_SUM(MIN(1)) を使う方法も良く利用されます。
③合計、小計機能での確認
クロス集計表で合計の割合を使っている場合は、合計、小計の機能も使えます。
画面上部の、分析のメニューから、合計→「行の総計の表示」「列の総計の表示」「全ての小計を追加」を行います。

すると、

このように、各%の数字の小計および、総計を求めた数字が表示されます。
上記の例では、「次を利用して計算」を「ペイン」としてあります。
(繰り返しになりますが「ペイン」とは、列と行のディメンションで区切られたまとまりの中で一番小さめのまとまり、そんなイメージです。Vizを作っている最中に線で四角く囲まれている部分です。)
このVizでの小計を見てみると、赤丸の部分が100%となっています。
これで、赤い四角の範囲がひとまとまりにされていて、合計100%になっているな、と理解できます。
以上、前号とあわせ表計算の設定の話をしてまいりました。
使い初めはとっつきにくさを感じるかもしれませんが、色々試し確認しながら利用していれば自然と慣れてきて、使い道のアイデアも湧いてくると思います。是非、恐れずにご利用頂きたいと思います。
「表計算 その6」は下記になります。
ご精読ありがとうございます。
*連載記事すべてへのリンクは、こちらのマガジンにまとめています。
By ritz_Tableau
2020-2023 Tableau Zen Master | 2019-2021,2023 Tableau Public Ambassador |2021 certified as Tableau Certified Professional | DATA Saber
X(Twitter) : @ritz_Tableau
Tableau Public : https://public.tableau.com/profile/satoshi.ganeko#!/
*記事の中に不正確な点などありましたら、是非、X(Twitter) Direct Messageでお知らせ下さい。よろしくお願いします。m(__)m

おことわり
当記事のコンテンツについて、商用利用でない場合は許可なく転載して頂いて構いません。(ハードル画像および他のサイトから引用している画像は除く)
転載の際は、当記事へのリンクを掲載し転載であることを明記してください。商用利用の場合は許可なく転載しないで下さい。
当記事のコンテンツについて、可能な限り正確な情報を掲載するよう努めていますが、誤情報が含まれたり、情報が古くなっている可能性があります。当記事に掲載された内容、および、当記事からリンクやバナーによって移動したサイトに掲載された内容によって生じた、損害等の一切の責任を負いかねますのでご了承ください。よろしくお願いします。