👋

Tableauの集計関数のパフォーマンスと使い方

2022/06/14に公開

Tableauの集計関数は、Tableauのパフォーマンスに影響を与えます。
影響が小さいことも多いですが使用頻度も多いので、パフォーマンスを意識して作りこんでいくのがいいと思います。
そこで、各集計関数のパフォーマンスの影響などをまとめたいと思います。

Tableauの集計関数

Tableauの集計関数とはデータを集計するために利用する関数で、以下のような関数が存在します。
https://help.tableau.com/current/pro/desktop/ja-jp/calculations_calculatedfields_aggregate_create.htm

この中でよく利用するのが、以下の関数かと思います。

  • MAX
  • MIN
  • SUM
  • AVG
  • COUNT
  • COUNTD

集計関数の種類によってパフォーマンスが異なるので、このあたりの使い方をまとめたいと思います。

上記の集計関数のパフォーマンスは
MAX, MIN > SUM, COUNT > AVG >> COUNTD
の順に遅くなっていくかと思います。

COUNTDは特に遅くなるので多用する場合は注意が必要です。
場合によっては、LOD表現のFIXEDを使った方が速い場合もあります。パフォーマンスを少しでも向上させたい場合は、COUNTDとFIXEDを使った方法とを比較してみるといいでしょう。

使う機会がないATTR関数

Tableauをずっと使ってきていままでも全く使うことがなかったのが、ATTR関数です。実はこの関数は、Tableauを触っているとでてくる属性() と表示されるものです。

ATTR関数は全ての値が一致している場合はその値を返して、他の値も存在する場合は*で表示される特殊な関数です。

基本的はMAX関数で代用できますし、パフォーマンス的にもMAX関数の方がよいのでATTR関数の使用は避けて、MAX関数に置き換えましょう。

同じ値が入ったカラムから1つの値を取り出す方法としてのMAX関数

集計の粒度の都合上、同じ値が入ったカラムから1つの値を取り出す必要がある場合には基本的にはMAX関数を使用しています。

MIN関数でもいいのですがNULLの値がある場合にMAX関数の方がイメージがつきやすいという理由でMAX関数を利用するようにしています。
さらに、必要な際にはMIN関数というように決めていて、このようなルールを自分の中で作っておくことで後で計算フィールドを見返す際に読みやすくなります。

文字列カラムでMAX関数はよく使います。Tableauの別名の3パターンの方法とパフォーマンス の記事でFIXEDと一緒にMAX関数を使ってパフォーマンスを向上させる方法をまとめています。

まとめ

Tableauの集計関数のパフォーマンスについてまとめました。LOD表現と一緒に集計関数も使いますので、集計関数のパフォーマンスの順番を意識して作りこんでいくのがいいと思います。

他のTableau関連の記事はこちら

Discussion