Tableauの関数を全て試してみる〜表計算関数編その2〜 #tableau

2017.12.23

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

はじめに

こんにちは。DI部のtama@奈良県です。

当エントリはTableau Functions Advent Calendar 2017の23日目のエントリです。 昨日のエントリはTableauの関数を全て試してみる〜表計算関数編その1〜でした。

今回も引き続き表計算関数について見ていきます。

  • 使用するTableauのバージョンは一貫して10.4.1です。
  • 各関数の説明で引用しているのは、Tableauの公式リファレンスからの引用です。
  • TableauHelp 関数

目次

検証環境

作業環境

  • MacOS High Sierra 10.13.1
  • Tableau 10.4.1

使用データ

  • (原則)Tableau付属のサンプルスーパーストア
  • (場合によって)関数グラフ描画用データ
  • -1〜1の範囲で、0.01毎に値が並んでいるデータ
  • 上記の値をディメンション「X軸」とし、その上に色々な関数をプロットする。
  • 参考:Tableau 関数グラフの描画 | Developers.IO

RANK(expression, ['asc' | 'desc'])

概要

パーティション内の現在の行に対して標準の競争ランクを返します。同一の値には同一のランクが割り当てられます。昇順または降順を指定するには、オプションの'asc' | 'desc'因数を使用してください。既定では降順です。 この関数を使用すると、値のセット (6、9、9、14) は (4、2、2、1) とランク付けされます。 Null はランキング関数では無視されます。これらには番号が付けられておらず、百分位値のランク計算のレコード総数に含まれません。 異なるランキング オプションの詳細については、ランク計算を参照してください。

  • 指定した値をランク付けする関数です。
  • 同一の値があった場合は、どちらにも同じランクをつけます。
  • 同一ランクが合った場合、その分次の値はスキップされます。

値のセット (6、9、9、14) は (4、2、2、1) とランク付けされます。

使ってみた

売上のランキングを出してみます。

RANK(sum([売上]))

どういったランキングになるかは、その表の構成と表計算の方向によります。 下記画像はメーカー×年のクロス集計表ですが、ここに上記の関数式を入れています。表計算の方向は「表(下)」にしているので、各年別の、メーカー売上ランキングといった形となりました。

どういう時に使う?

  • 購買金額や購買回数など、ランキングを出したい場面は、分析においてたくさんあると思います。そのような時はRANK関数を使用するといいでしょう。

参考文献

RANK_DENSE(expression, ['asc' | 'desc'])

概要

パーティション内の現在の行に対して密度の高いランクを返します。同一の値には同一のランクが指定されますが、数列にギャップは挿入されません。昇順または降順を指定するには、オプションの'asc' | 'desc'因数を使用してください。既定では降順です。 この関数を使用すると、値のセット (6、9、9、14) は (3、2、2、1) とランク付けされます。 Null はランキング関数では無視されます。これらには番号が付けられておらず、百分位値のランク計算のレコード総数に含まれません。 異なるランキング オプションの詳細については、表計算のタイプ: ランクを参照してください。

  • ランクの付け方がRANK関数とは異なります。
  • 同一の値があった場合は、どちらにも同じランクをつけます。
  • 同じランクをつけたからといって、次のランク数値をスキップするということはしません。

値のセット (6、9、9、14) は (3、2、2、1) とランク付けされます。

使ってみた

RANK_DENSE(SUM([売上]))

どういう時に使う?

  • 購買回(何回目に買ったか)など、ランクの数値を飛ばすわけにはいかないものの場合はこの関数を使用するといいと思います。

参考文献

RANK_MODIFIED(expression, ['asc' | 'desc'])

概要

パーティション内の現在の行に対して変更された競争ランクを返します。同一の値には同一のランクが割り当てられます。昇順または降順を指定するには、オプションの'asc' | 'desc'因数を使用してください。既定では降順です。 この関数を使用すると、値のセット (6、9、9、14) は (4、3、3、1) とランク付けされます。 Null はランキング関数では無視されます。これらには番号が付けられておらず、百分位値のランク計算のレコード総数に含まれません。 異なるランキング オプションの詳細については、表計算のタイプ: ランクを参照してください。

  • ランクの付け方がRANK関数とは異なります。
  • 同一の値があった場合は、どちらにも同じランクをつけます。
  • 同一ランクが合った場合、その分次の値はスキップされます。RANK関数との違いは、スキップするランク値です。(値の大きい方に寄る)

値のセット (6、9、9、14) は (4、3、3、1) とランク付けされます。

使ってみた

RANK_MODIFIED(SUM([売上]))

どういう時に使う?

  • 購買金額や購買回数など、ランキングを出したい場面は、分析においてたくさんあると思います。そのような時はRANK関数を使用するといいでしょう。

参考文献

RANK_PERCENTILE(expression, ['asc' | 'desc'])

概要

パーティション内の現在の行に対して百分位値のランクを返します。昇順または降順を指定するには、オプションの'asc' | 'desc'因数を使用してください。既定では昇順です。 この関数を使用すると、値セット (6、9、9、14) は (0.25、0.75、0.75、1.00) とランク付けされます。 Null はランキング関数では無視されます。これらには番号が付けられておらず、百分位値のランク計算のレコード総数に含まれません。 異なるランキング オプションの詳細については、表計算のタイプ: ランクを参照してください。

  • 「その値は、全体の何%目か」というランクをつける関数です。
  • 全体というのは、例のごとく表計算の方向の設定によります。

値セット (6、9、9、14) は (0.25、0.75、0.75、1.00) とランク付けされます。

使ってみた

RANK_PERCENTILE(SUM([売上]))

どういう時に使う?

  • 「表内のデータの○○%以内を確認したい」といった場面で使用することになるかと思います。

参考文献

RANK_UNIQUE(expression, ['asc' | 'desc'])

概要

パーティション内の現在の行の一意のランクを返します。同一の値に異なるランクが指定されます。昇順または降順を指定するには、オプションの'asc' | 'desc'因数を使用してください。既定では降順です。 この関数を使用すると、値のセット (6、9、9、14) は (4、2、3、1) とランク付けされます。 Null はランキング関数では無視されます。これらには番号が付けられておらず、百分位値のランク計算のレコード総数に含まれません。 異なるランキング オプションの詳細については、ランク計算を参照してください。

  • ランクの付け方がRANK関数とは異なります。
  • 同一の値があった場合でも、同じランクはつけません。必ず順位付けします。(一意のランクをつける)

使ってみた

RANK_UNIQUE(SUM([売上]))

どういう時に使う?

  • 「○○データのTOP10」など、ランクのダブりを許さない表を作成するときに使用すると良いと思います。

参考文献

おわりに

引き続き表計算関数を見てきました。同じランク付する関数でも、ランクの付け方によって色々な種類の関数があるので、分析の種類に応じて使い分けてください。

次回はtamaによる「Tableauの関数を全て試してみる〜表計算関数編その3」です。お楽しみに。