Tableau勉強復習ノート④集計・非集計

お疲れ様です。
本日はtableauで理解しておくべき概念の一つ集計・非集計について、勉強したことを自分の言葉でまとめていきます。
下記のブログを参考にさせていただきました。
https://note.com/ritz_tableau/m/mfdf3fef70e46

非集計計算

行レベル計算とも言われる。
[利益]/[売上]
これは[何万行もある利益の中の一つのレコード]/[同じく何万行もある売上の中の一つのレコード]という計算をしています。
私はtableauを触っていて、行レベル計算を使っていると意識していなかったです。直感的に集計・非集計の違いは判断しづらいので、理解を避けてきたのかもしれません。
Ord3 Q6,7での問題でも、集計・非集計の違いについて触れていたのかと後で気が付きました。

集計計算

普段通りにメジャーを列か行シェルフにドロップしすると、合計(売上)などと表示されます。
ここですでに集計計算されている状態です。
これも特に意識せずに使っていました。

サンプルスーパーストアで利益率を出したときのように、
sum([利益])/sum([売上])
のような計算式は具体的に何を行なっているか考えていきます。
利益ごとで合計を出す。②売上ごとで合計を出す。
①/②を出す。
この集計計算というものは、行シェルフや列シェルフ、マーク(色、サイズ、テキスト、詳細)、ページに置かれたディメンション(カテゴリ、サブカテゴリなど)を切り口として集計して計算されたデータを分けます、という意味の計算式となります。
使用するディメンションによって計算結果をtableauが自動で変えてくれる。

「使用するディメンションによって計算結果をtableauが自動で計算結果を変えてくれる」とはどういうことなのか

ディメンションを都道府県サブカテゴリを選んでいれば、どの行の利益、売上を計算するかもtableauが自動で変更して、都道府県ごとの利益/都道府県ごとの売上サブカテゴリごとの利益/サブカテゴリごとの売上を抜き出して計算してくれている。
この切り口(サブカテゴリ、「都道府県」と「サブカテゴリ」の組み合わせ)のことをtableauでは「粒度」(Level of Detail=LOD)と呼んでいる。

集計計算されたメジャーについて

集計計算されたメジャーはシェルフに置くと、集計(利益率) と表示される。すでに集計計算されているので、合計(売上)、平均(売上)などのような計算はしていないという意味。

集計計算 計算方法の種類について

全部で12種類
合計、平均、中央値、カウント、カウント(個別)、最小値、最大値
標準偏差、標準偏差(母集団)、分散、分散(母集団)、百分位

数字ではない文字列や日付でも、集計計算を使うことが出来る。
全部で4種類。これらを選ぶと文字列や日付がメジャーになる。
最小値(MIN)、最大値(MAX)、カウント(COUNT)、カウント(個別)(COUNTD)

ATTR(属性)とはどんな集計方法なのか

これらの集計計算のほかに、「ATTR」という集計計算があります。

「ATTR」=属性
粒度に従ってデータを切り分ける→②対象の粒度に含まれる値を見る
 全て共通の値の場合→その値を返す
 複数の値が含まれている→「*」マークを返す

「計算フィールドの作成」で出てくるエラーについて

①関数で集計されたメジャー/行レベルのメジャーで計算式を作ることはできない  (例)SUM([利益])/[売上]
集計と非集計で計算式を作成できない。
集計と集計、非集計と非集計で合わせてあげる。

②[利益率]などのすでに集計計算されているメジャーを、改めて集計することはできない。
AVG([利益率]) はエラーで返ってくる。

ATTR(属性)でエラー回避
IF [カテゴリ]="家電" THEN [利益率] END
利益率は集計カテゴリは非集計なのでエラー。

ATTR関数を使うことで両方集計計算にしてエラーを回避する。
IF ATTR([カテゴリ])="家電" THEN [利益率] END

普段tableauを触っていて、特に何も考えずに利益率を出してり計算フィールドで計算式を組んだりしていたので、tableauがここまでややこしいことをやっていたのかと今更ながら驚いてしまいました…。
DATASaber Ord課題でATTR(属性)を扱ったことがありましたが、自分でVizを作成する際に使っていなかったのですっかり忘れていました。
どんなことをしている関数かを理解はできても、どんな風に使うと効果的ななのか正直まだイメージできません。
まだまだ勉強していいこうと思います。

本日は以上です。
最後まで読んでいただきありがとうございます。




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