1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Tableauで最頻値を計算

Posted at

はじめに

顧客データを使用して一番人数の多い年齢を表示する等、Tableauで最頻値を計算したい場合があると思います。
合計・平均・最大値等はTableauのデフォルトの集計機能で計算ができますが、最頻値の計算はできませんのでTableauで実装する方法をご紹介いたします。
今回紹介する方法では表計算・FIXEDを使用しないため、フィルター・ビューの形式等への配慮があまり必要ない点で有用です。

使用するデータソース

画像①.png

目的

人数が最も多い年齢を表示する計算フィールドを作成
画像②.png
ディメンションを配置すると、その値ごとに最も人数の多い年齢を表示
画像④.png

実装

「最多年齢」フィールドを作成

{ INCLUDE [年齢]:
    IF COUNTD([顧客No]) = MAX(
        { EXCLUDE [年齢]: MAX(
            { INCLUDE [年齢]: COUNTD([顧客No]) }
        )}
    )THEN MAX([年齢]) END
}

3~5行目

INCLUDEを用いて年齢ごとの人数をカウントした後、その中で最大値を計算しています。
※3行目のEXLCUDEは1行目のINCLUDEを打ち消すために使用しています。

3         { EXCLUDE [年齢]: MAX(
4             { INCLUDE [年齢]: COUNTD([顧客No]) }
5         )}

1~7行目

年齢ごとに人数をカウントし、その値と3~5行目で計算した値を比較しています。
値が一致すればその年齢が最も人数の多い年齢であるとわかるため、[年齢]を返します。

1 { INCLUDE [年齢]:
2     IF COUNTD([顧客No]) = MAX(
3~5      年齢ごとの人数の最大値   
6     )THEN MAX([年齢]) END
7 }

終わりに

[年齢]を他のフィールドと入れ替えれば年齢以外でも活用できます。
ご活用いただければ幸いです。

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?