集計関数をまとめて学ぼう!
下記を参考にしています。
集計関数の前提知識
まず前提知識から。
この関数の集計および非集計の引数を混在させることはできません。
集計関数を扱うにあたって大切なポイントが2つあります。
①集計と非集計を一緒にできない
②集計ずみの項目をさらに集計できない
①は↓のような場合です。
SUM( [個数] )+[個数]
エラーが起きます。
なぜなら片方が集計しているのに、もう片方が集計されていないからです。
なんとのことやと思うかもですがこれは表の性質を考えるとわかりやすいです。
都道府県 | 個数 | 売上 |
---|---|---|
東京都 | 1 | 100 |
東京都 | 4 | 500 |
大阪府 | 7 | 800 |
大阪府 | 2 | 300 |
集計関数というのはその列全体を計算対象に入れます。
対象に非集計の状態は個別に見ていきます。
東京目線で見た時に、SUM([個数])は5個ですが、[個数]単体でみると1個と4個がありどちらを優先すべきかわからなくなります。
つまり計算不能になるわけです。
この関数の集計および非集計の引数を混在させることはできません。
↑のエラーが出ます。
集計と非集計では計算結果も変わる
上記エラーに付随してなんですが、集計と非集計では計算結果が変わってしまうことも覚えておきましょう。
例えば
SUM([売上])/SUM([個数])
この場合は東京目線では600÷5が計算され、120となります。
一方で
[売上])/[個数]
集計関数なしの場合は個別に計算となります。
100÷1+500÷4=225
結果が変わってしまうのです。
割合などを出す場合は特に気を付けて!
○○への引数(集計関数)は既に集計であり、さらに集計することはできません。
集計関数は2回できません。
難しいそうですが、実は簡単。
単純に意味がないってことです。
SUM( [個数] )とSUM(SUM( [個数] ))って一緒ですよね。
意味ないからするなってことです。
集計関数の基礎編
よく使うものだけピックアップ!
SUM (サム)
MAX(マックス)
MIN(ミン)
AVG(アベレージ)
MEDIAN(メジアン)
COUNT(カウント)
COUNTD(カウントディー)
SUM (サム)
合計を算出できます。
SUM( [個数] )
ポイントは3つ
SUM( [個数] )という計算式で、個数合計という計算式を作ったとして
そのあとにSUM( [個数合計] )とすることはできません。
前提知識で言ってたやつだね。
MAX(マックス)
最大値が求められます。
日付とかで結構便利です。
MAX([日付])
これで一番新しい日付が表示されます。
式のすべてのレコードの中から最大値を返します。式が文字列値の場合は、アルファベット順で並べたときに最後になる値が返されます。
https://help.tableau.com/current/pro/desktop/ja-jp/calculations_calculatedfields_aggregate_create.htm
MIN(ミン)
最小値が求められます。
MIN([日付])
一番古い日付が出ます。
AVG(アベレージ)
平均を算出できます。
AVG([個数])
式内のすべての値の平均を返します。AVG に使用できるのは数値フィールドだけです。NULL 値は無視されます。
https://help.tableau.com/current/pro/desktop/ja-jp/calculations_calculatedfields_aggregate_create.htm
このNULL値を無視する点が意外と厄介で、データによっては母数にNULLの場合でも含めたい場合もあります。
IFやLOD計算、ZNなどをつかってうまく計算しましょう。
AVG(ZN([個数]))
MEDIAN(メジアン)
中央値を算出してくれます。
中央値はデータを大きい順番に並べてた時の真ん中の値です。
MEDIAN([人口])
日本人的にはメジアンですが、発音的なミディアンが正しいぽいです。
COUNT(カウント)COUNTD(カウントディー)
個数を数える関数です。
COUNTとCOUNTDの違いは重複を許すかどうかです
COUNTは重複関係なしでただ数えます。
COUNTDは重複を省いて数えます。
COUNT([顧客ID])
COUNTD([顧客ID])
DはDistinctのDだよ!
つづく
他にも偏差値のもとになる標準偏差とかもありますが、使わないので省いてます!
第3回は文字列関数です。
コメント