今回はTableauの表計算における「次を使用して計算」の意味を解説する。
表計算とは通常の関数と違い、表やグラフで表示した値をさらに計算する関数のことだ。
この表計算を使いこなすためには「次を使用して計算」を理解する必要があるが、初心者には理解がなかなか難しい。
- 「表横の表って何を指している?」
- 「表とペインって何が違う??」
- 「横と下だと計算の順番がどう変わる?」
などと私は初心者の頃、この機能の意味が全く理解できず、すごく戸惑った記憶がある。
本記事では上記のような疑問を1つずつ潰しながら「次を使用して計算」をなるべくわかりやすく解説していきたい。
表計算の「次を使用して計算」とは?
表計算の「次を使用して計算」は表計算の計算範囲と計算の方向を指定するためのものだ。
実際に「次を使用して計算」をクリックすると上画像のような選択肢が表示されるはずだ。
- 表(横)
- 表(下)
- 表(横から下へ)
- 表(下から横へ)
- ペイン(横)
- ペイン(下)
- ペイン(横から下へ)
- ペイン(下から横へ)
- セル
- ディメンション名(ビューで使用されているもの)
※ビューによっては一部の選択肢がない場合や、表(下から横へ)などが表示されている場合もあるかもしれない。
上記選択肢の中で、表やペインが表計算の計算範囲を指している。
そして、(横)や(下)などが表計算の計算方向を指定している。
ちなみにディメンション名(例えば、カテゴリやサブカテゴリなど)を指定すると表計算の範囲や計算方向を直接ディメンション名で明示出来る。
ただ、私は個人的にはあまり使わない&初心者にはやや難解なので本記事では割愛する。
表計算の計算範囲
表計算の計算範囲は「どの範囲を対象として(表全体なのか、ペイン内なのか)計算するのか?」を指定している部分だ。
具体的には下記が指定できるが、私が実務で使うのは表とペインの2つがほとんどだ。
- 表
- ペイン
- セル
- ディメンション名(ビューに追加されているもの)
表とペインとセルの範囲の違いは下記の通りだ。
計算範囲:表
計算範囲で表を選択した場合は下記の赤枠のように表全体が計算対象となる。
計算範囲:ペイン
ペインはディメンションによって分割されたセクションの1つのことだ。
下記の例の場合、カテゴリごとにセクションが分割されている。
そのため、表計算の計算範囲でペインを指定した場合、1つ1つのカテゴリが計算範囲となる。
計算範囲:セル
最後にセルだ。
セルはExcelをイメージしてもらえばわかりやすい。
表計算の計算範囲でセルを選択した場合、下記のようにビュー上の各値1つ1つが範囲となる。
これが表計算の計算範囲となる。
計算範囲でセルを指定することはほぼないので、初心者の方は表とペインをまず覚えておこう。
表計算の計算方向
次に表計算の計算方向について説明する。
表計算の計算方向は「どの方向に向かって計算をするか?」という指定だ。
指定した計算範囲(例えば、表やペイン)の中の値をどの順番で計算するかを指定するのが計算方向の指定だ。
具体的には下記が指定できるが、よく使うのは横 or 下の2つだ。
- 横
- 下
- 横から下へ
- 下から横へ
- セル
- ディメンション名
計算方向をそれぞれ ①横、②下、③横から下へ、④下から横へ ⑤セル と指定した結果が下記だ。
※計算範囲は全て表に設定
1つずつ具体的に確認していこう。
表計算の計算範囲は表で統一し、各計算方向の指定によりどんな違いが生じるかを見ていきたい。
計算方向:横
計算方向を横に指定した場合は下記のように左の値から右に向かって順に計算される。
上記の売上の合計の累計は簡易表計算の累計を使用して、売上フィールドの各値を累計するものだ。
左から右に向かって売上が累計され、次の顧客区分(次の行)に移ったら売上累計の計算がリセットされる。
計算方向:下
計算方向を下に指定した場合は下記のように上から下に向かって順に計算される。
上表の場合、カテゴリの各値ごと(列ごと)に売上が累計されている。
上から下に計算され、次のカテゴリ(次の列)に変わったら売上累計の計算がリセットされる。
計算方向:横から下へ
計算方向に、横から下へ、を指定した場合は下記のように計算される。
計算方向が横や下の場合は他の行や列に変わる場合、売上累計の計算がリセットされていた。
しかし、計算方向に横から下へを選択した場合は計算の仕方が異なる。
上記のようにまず左から右に売上が計算されていくが、次の行(次のペイン)に移っても計算がリセットされない。
次の行に移る際は、前の行の最後の値と次の行の最初の値が合計されて売上累計が計算される。
そして、また左から右に向かって計算が続いていく。
計算方向:下から横へ
計算方向に、下から横へ、を指定する場合は下記の通りだ。
横から下へ、を指定した場合はまず左から右に向かって(行方向に)計算され、下の行に移って計算が続いていた。
一方、下から横へ、を指定した場合はまず上から下に計算され、次に右の列に移って計算が続く。
横から下へ、を指定した場合と同様に次の列に移動しても計算はリセットされない。
上記例のように、左側の列の一番下の値と次の列の一番上の値が計算されて売上の累計が表示される。
計算方向:セル
最後に計算方向でセルを指定した場合は下記となる。
計算方向でセルを指定した場合、売上と売上累計の値が全く同じになっている。
セルを指定した場合は表計算の計算範囲が表ではなく、セルに変わる。
言い換えると、計算範囲も計算の方向もセルという指定になる。
そのため、そのセルの値(例えば、顧客区分=小規模事業者&カテゴリ=家具の値)だけを対象に売上累計が計算される。
前の値と対象の値を累計しているのではないため、売上の値と売上累計の値は全く一緒になるのだ。
計算方向の指定により計算結果が変わる
このように計算方向の指定により、同じ計算範囲(例えば、表やペイン)でも計算結果が異なってくる。
そのため、計算範囲と同じく、表計算の計算方向の理解は非常に重要なのだ。
次を使用して計算を理解するにはINDEX関数を使う
前述したように表計算において計算範囲と計算方向の理解がめちゃくちゃ大切だ。
この計算範囲と計算方向を理解するには表計算関数の1つであるINDEX関数を活用するのがおすすめだ。
INDEX関数とは指定した範囲内において、行や列に番号を振ってくれる関数だ。
下記のように表計算の計算範囲と計算方向に応じて番号を振ってくれる。
売上の累計や前月差などを表計算で指定した場合、数値が複雑でどの値とどの値が計算されているかがわからなくなる時がある。
その場合はINDEX関数を使って計算範囲と計算方向が実際どうなっているのかを確認すると頭を整理することが出来る。
INDEX関数については下記記事で詳しくまとめているので、是非参考にして欲しい。
【Tableau】INDEX関数とは?意味や使い方、活用シーンをわかりやすく解説!
まとめ
今回は初心者が躓きやすい表計算の次を使用して計算の意味について解説した。
LODと同様で、この「次を使用して計算」の指定による挙動を明確に理解出来れば、Tableauで出来ることが劇的に広がっていくはずだ。
表計算関数については下記を参考にして欲しい。
【Tableau】RANK関数とは?使い方を分かりやすく解説
【Tableau】INDEX関数とは?意味や使い方、活用シーンをわかりやすく解説!
【Tableau】WINDOW_SUM関数とは?使い方をわかりやすく解説!