Tableauの関数一覧をリンク集のような形でまとめてみた。
関数の区分けはなるべくTableau公式ページと合わせている。
「参考にしたい関数をクリックして詳細記事を確認する」
という使い方で活用してもらえれば嬉しい。
こちらに記載した全ての関数について記事はまだ全然書けていないが、これから随時追加していく予定だ。
「こんな関数もあるんだ!」
とTableauの便利な関数を知るきっかけになってもらえれば幸いだ。
数値関数
フィールド内のデータの値を使用して計算することが出来る関数です。
- 対象のフィールドの値の絶対値を返す。前年比成長率など割り算の分母の数値がマイナスにならないように調整したり、損失値の分析等に便利です。
- ACOS
引数で指定した値の逆余弦(アークコサイン)をラジアンで返します。幾何学的計算や三角測量に関連したデータ分析で便利です。
- ASIN
指定された値のアークサインをラジアン単位で返します。SIN関数の逆関数です。幾何学的な計算や三角測量を行う際に特に便利です。
- ATAN
数値の逆正接(アークタンジェント)値を計算するための関数です。入力された値のアークタンジェントをラジアンで返します。地形や建築物の傾斜計算、方向性を示すデータ分析などに便利です。
- ATAN2
2 つの数値 (x と y) の間のアークタンジェント (角度) をラジアンで返します。特定の方向への傾斜や角度を求める場面で便利です。
- CEILING指定した数値と等しい、もしくはその数値以上で最も小さい整数を返します。数値を整数の範囲で丸める必要がある時に便利です。特に、予算が整数で管理される場合に小数点以下を切り上げて整数で扱いたい時などに役立ちます。
- COS指定されたラジアン単位の角度の余弦(コサイン)値を返します。角度に基づく計算を行いたい場合や、周期的な現象を分析する際に便利です。
- COT
指定されたラジアン単位の角度における余切(コタンジェント)値を返します。周期的な挙動や波動関連の問題を解析する際に便利です。
- DEGREES指定されたラジアン単位の角度を度数法(度)に変換して返します。特に三角関数や角度を扱う計算でラジアン単位の結果をより直感的な度数単位に変換したい場合に便利です。
- DIV
二つの数値の整数除算を行い、その除算の結果から小数点以下を切り捨てた整数値を返します。予算計算や割り当て問題、時間管理などの分析で便利です。
- EXP指定した値 で指数関数e(ネイピア数 を底とする指数関数)を累乗した値を返します。経済成長のモデリング( 経済成長率が一定の場合、経済の規模が時間と共にどのように変化するか)や人口増加分析、金融分野での複利計算を行う際に便利です。
- FLOOR指定した数値と等しい、もしくはその数値以下で最も大きい整数を返します。小数点以下を切り捨てた整数にしたい場合に便利です。
- HEXBINX指定したx、y 座標から最も近い六角形のビンの x 座標にマッピングします。郵便番号のような粒度の細かいデータが大量にある場合に隣接するものを適度な粒度にまとめて、地図を見やすくしたい場合などに便利です。
- HEXBINY指定したx、y 座標から最も近い六角形のビンの y 座標にマッピングします。郵便番号のような粒度の細かいデータが大量にある場合に隣接するものを適度な粒度にまとめて、地図を見やすくしたい場合などに便利です。
- LN
指定された数値の自然対数を返します。、人口統計や感染症の拡散など、時間の経過とともに急速に増加する現象を分析する際に便利です。
- LOG
指定した底に基づいて数値の対数を返します。デフォルトでは、底が10の対数(常用対数)を計算しますが、第二引数で任意の底を指定することができます。データのスケーリングを行いたい場合等に便利です。
- MAX集計として利用する場合は指定したフィールドの最大値を返します。比較として利用する場合は指定した2つのフィールドの内、大きい方の値を返します。1つのフィールドの最大値を取得したい場合や2つのフィールド同士の値の比較を行いたい場合に便利です。
- MIN集計として利用する場合は指定したフィールドの最小値を返します。比較として利用する場合は2つのフィールドの内、小さい方の値を返します。1つのフィールドの最小値を取得したい場合や2つのフィールド同士の値の比較を行いたい場合に便利です。
- PI
数値定数 pi (3.14159...) を返します。円、球、円柱などの形状の面積や体積を計算する際などに便利です。
- POWER指定した値を指定した回数掛け合わせた値を返します。対象の値を二乗したり、三乗したりしたい場合に利用します。金融分析や経済成長モデリングなどで指数関数的な成長(増加)を予測したい時などに便利です。
- RADIANS指定した値を度単位からラジアン単位に変換して返します。たとえば、角度が180度の場合、計算結果はπ(約3.14159)ラジアンとなります。三角関数の計算等に便利です。
- ROUND対象の値を指定した桁数に四捨五入して丸めます。桁数を省略する場合は最も近い整数に数値を丸めます。四捨五入して特定の桁数に数値を丸めたい場合に便利です。
- SIGN指定した数値が正の場合は1、負の場合は-1、ゼロの場合は0を返します。数値データを正、負、ゼロのカテゴリーに基づいて分類したい際やダッシュボードで数値の符号に基づいて異なる色を表示したい場合等に便利です。
- SIN引数としてラジアン単位の角度を受け取り、その角度の正弦(サイン)値を返します。特に三角関数計算に用いられ、波形分析や周期的な現象のモデリングを行いたい時に便利です。
- SQRT指定した数値の平方根を計算し、その結果を返します。距離の計算やデータの変換、統計的な分析を行いたい場合に便利です。
- SQUARE指定した数値の二乗を計算し、その結果を返します。データの分布の特性を調べたり、変動の大きさを確認したい際に便利です。
- TAN引数としてラジアン単位の角度を受け取り、その角度の正接(タンジェント)値を計算して返します。特に三角関数の計算に用いられ、幾何学的な問題の解決、波動の分析、傾斜や角度の測定などを行いたい時に便利です。
- 指定したカラムの値がNULLではない場合はそのフィールドの値を返し、NULLの場合に0を返します。NULL を含む可能性のあるフィールドを計算で使用する場合に便利な関数です。平均値の計算や利益率の計算など財務分析を行う際に非常に便利です。
文字列関数
文字列(テキスト)データを操作する関数です。
- ASCII
指定した文字列の最初の文字に対応するASCII(アメリカ標準コード情報交換)値を返します。この関数は、特定の文字や文字列を数値データとして扱いたい場合に便利です。データ入力の際に予期せぬ文字が含まれていないかをチェックしたり、データの並べ替えやフィルタリングを行いたい時に便利です。
- CHAR
指定した数値に対応するASCII文字を返します。数値をASCIIコードとして解釈し、それに該当する文字を出力します。数値データを文字データに変換したい場合や、特定のASCIIコードに基づいて文字を生成する場合に便利です。
- 指定した文字列に特定の文字列が含まれている場合にTRUE、含まれていない場合にFALSEを返します。特定の単語やフレーズがデータ内の文字列フィールドに含まれているかを検出する際に便利です。データのフィルタリング等に便利です。
- 対象の文字列が指定した文字列の末尾で終わっているかどうかを判定し、その条件を満たす場合はTRUEを、満たさない場合はFALSEを返します。特定のファイル拡張子を持つファイル名や特定の語尾を持つデータのみを抽出したい場合などに便利です。
- 対象の文字列において、指定した文字列が最初に出現する位置を検索し、その位置を数値で返します。LEFT関数やMID関数などの他の文字列関数と組み合わることが多く、文字列の中から一部の文字列を取得したい場合などに便利です。
- 対象の文字列において指定した文字列が出現するn番目の位置を検索し、その位置を数値で返します。特定の文字列がテキスト内に複数回出現する場合に、出現頻度を指定できる点がFIND関数と異なります。
LEFT関数やSPLIT関数と組み合わせることが多く、文字列の中から一部の文字列を取得したい場合などに活用します。 - 対象の文字列から指定した文字数を左端から抽出して返します。郵便番号、電話番号、顧客IDなど、特定の形式を持つデータから重要な部分だけを抽出したい場合に便利です。
- 対象の文字列の長さを計算して返します。テキストデータの長さを測定する必要がある場合や、文字列の長さに応じて条件分岐で異なる計算や処理を行いたい場合などに便利です。
- 指定された文字列内のすべての大文字を小文字に変換して返します。テキストデータを正規化したい時や、大文字と小文字を区別せずにデータを一致させる必要がある場合に特に便利です。
- LTRIM
指定した文字列の左端(先頭)にあるすべての空白文字を削除します。データの結合や比較をする際、テキストデータの前処理を行う場合などに便利です。
- 対象の文字列データから、指定した位置から始まるn文字分の文字列を抽出します。シリアル番号の特定のセクションやIDの一部を取り出したい時に便利です。
- PROPER
指定した文字列内の各単語の最初の文字を大文字にし、残りの文字を小文字にして返します。人名、地名、タイトルなどのテキストデータを適切な形式に整形するのに便利です。
- 指定した文字列内で特定の部分文字列を別の文字列に置換します。テキストデータの一部を修正したり、特定の文字を削除したい時などに便利です。
- 対象の文字列から指定した文字数を右端から抽出して返します。ユーザーIDやコードの末尾の部分が重要な情報を含んでおり、それを抽出したい場合に便利です。
- SPACE指定された数のスペース(空白文字)を返します。列見出しの下にあるテキストの位置調整や、テキストベースの表での列の間隔調整など文字列データの整形やフォーマットに便利です。
- 対象の文字列を区切り文字(ハイフン等)で分割し、その分割後の文字列の一部を返します。名前を半角スペースを区切り文字として、性と名に分けたい時やメールアドレスの@以前の値を取得したい時など、文字列の一部からデータを取得したい時に便利です。
- 対象の文字列が指定した文字列で始まるかどうかを判定し、TRUEもしくはFALSEを返します。文字列データのフィルタリングやIF文と組み合わせて条件分岐をする際に便利です。
- 対象文字列の先頭と末尾のすべての空白文字(スペース)を削除します。ユーザー入力からのデータをクリーンアップする際や、データベースからのデータ抽出時に余計なスペースを除去する場合等に便利です。
- 対象の文字列のすべてのアルファベット文字を大文字に変換します。ユーザー入力データを整備したり、小文字と大文字が混じっている文字列を大文字に統一したい時に便利です。
日付関数
日付データを操作する関数です。
- 対象の日付データに指定した年数や月数等を加算または減算して返します。「〇〇」年後や「〇〇」日後などの日付を取得したい場合に便利です。IF関数やDATETRUNC関数と組み合わせて使うことが多いです。
- 二つの日付間の差(期間)を返します。年齢の計算や契約期間の計算、イベントの期間測定などに便利です。
- DATENAME
対象の日付から指定した日付要素(例えば、曜日名や月名)を文字列として返します。ダッシュボード上で曜日名(Monday等)や月名(August等)を表示したい場合や日付データを基にしたカテゴリ分け、フィルタリング、またはグルーピングを行う場合に便利です。。
- DATEPARSE文字列形式の日付を日付型データに変換します。異なる形式で保存されている日付データを標準的な日付形式に統一したい時に便利です。
- 対象の日付データから指定した部分(年、月、日、時間など)を整数値として返します。特定の月や曜日にどのくらいの売上があったかを分析したい場合やトレンド分析を行いたい場合などに便利です。
- 対象の日付データを特定の時間単位まで切り捨てた値を返します。年月日のデータを年月にまとめたい時や、期間ごとのトレンドを分析したい場合に便利です。
- DAY
日付フィールドから「日」の部分を抽出して整数値として返します。特定の日に何かがどれだけ発生したかを調べたり、月内の日付ごとのデータを分析したい場合に便利です。
- ISDATE指定した文字列が有効な日付形式かどうかを判定して、TRUEもしくはFALSEを返します。日付操作や計算を行う前に日付データが適切な形式かどうかをチェックしたい場合やデータセット内で日付形式が一貫していない場合のデータ前処理を行いたい時に便利です。
- ISOQUARTER
指定した日付データのISO8601 週ベースの四半期部分を整数として返します。
※ISO-8601 の最初の 3 つの四半期は常に 13 週です。最後の四半期は、13 週 (短い年) または 14 週 (長い年) のいずれかになります。 - ISOWEEK
対象の日付データのISO8601 週ベースの週を整数で返します。
※週ベースの ISO-8601 暦では、すべての週は月曜日から始まり、正確に 7 日間あります。1 つの週が複数の年にまたがることを許容するグレゴリオ暦とは異なり、各週は 1 つの年に属します。長い年は 53 週、短い年は 52 週となります。 - ISOWEEKDAY対象の日付データのISO8601 週ベースの曜日を整数で返します。
- ISOYEAR対象の日付データのISO8601 週ベースの年を整数で返します。
- MAKEDATE指定した年、月、日から構成される日付値を返します。数値として入力された年、月、日のデータを1つの日付データ型として結合したい場合に便利です。
- MAKEDATETIME
指定した日付と時刻を組み合わせた日付時刻の値を返します。この関数は、MySQL 互換の接続 ( MySQL および Amazon Aurora) でのみ使用可能。日付と時間が別々のフィールドに格納されている場合に、これらを組み合わせて時系列データの分析を行う等の活用シーンが考えられます。
- MAKETIME
指定した時刻、分、秒の値 から構成される日付値を返します。Tableau は時刻のデータ型をサポートしておらず、日付時刻のみをサポートしているため、返される値は日付時刻となります。個別に保存されている時間要素(時、分、秒)を結合して、一つの時間データとして扱いたい場合に便利です。
- MONTH対象の日付データ の月部分を整数(1~12)で返します。上半期と下半期の条件分岐をIF文と組み合わせて行いたい場合等に便利です。
- NOW現在の日付と時刻を返します。現在時刻をダッシュボードに表示させたい場合等に便利です。
- QUARTER対象の日付データの四半期を整数(1~4)で返します。特定の四半期のデータだけを表示したい場合にIF文と組わせて利用する等の活用シーンが考えられます。
- 現在の日付を返します。DATETRUNC関数と組み合わせて対象データが当月かを判定するフラグを作成するなど、今日や今月、今年を基準としたフィルタリングをしたい場合に便利です。
- WEEK対象の日付データの週番号を整数で返します。結果として1から53までの整数値が返されます。週単位での集計を行いたい場合に便利です。
- YEAR対象の日付データの年を整数で返します。
例えば、YEAR(#2024-06-27#) の場合、2024 という整数を返します。
対象のデータ型は日付型でないとエラーになる点は注意が必要です。
年ごとに条件分岐をして処理を変えたい場合等に便利です。
型変換関数
データの型を変換する関数です。
- DATE
対象の数値、文字列、日付時刻型のデータを日付型に変換します。
例えば、"2024-01-01"のように文字列型で日付の値が格納されているOrderDataフィールドをTableau上で日付型に変換したい場合はDATE(OrderDate) という形で指定して変換します。
データベースで文字列型として格納されている日付データをTableau上で日付型に変換したい場合にとても便利です。 - DATETIME対象の数値、文字列、日付型のデータを日付時刻型に変換します。
例えば、DATETIME("April 30, 2024 07:59:00") という形で文字列型の値を指定すると、2024/04/30 7:59:00 という日付時刻型の値に変換します。 - FLOAT
- INT
- MAKELINE
- MAKEPOINT
- STR
パススルー関数(RAWSQL)
直接SQLクエリを埋め込んでデータソースに対してカスタムクエリを実行するための関数です。Tableau で認識されていないカスタム データベース関数がある場合は、パススルー関数を使用してこれらのカスタム関数を呼び出すことができます。
- RAWSQL_BOOL
- RAWSQL_DATE
- RAWSQL_DATETIME
- RAWSQL_INT
- RAWSQL_REAL
- RAWSQL_SPATIAL
- RAWSQL_STR
- RAWSQLAGG_BOOL
- RAWSQLAGG_DATE
- RAWSQLAGG_DATETIME
- RAWSQLAGG_INT
- RAWSQLAGG_REAL
- RAWSQLAGG_STR
ユーザー関数
特定のユーザーまたはユーザーグループに関連するデータのみを表示したり、異なるユーザーが異なるデータビューを見ることができるようにするための関数です。
- FULLNAME
- ISFULLNAME
- ISMEMBEROF
- ISUSERNAME
- USERDOMAIN
- USERNAME
- USERATTRIBUTE
- USERATTRIBUTEINCLUDES
表計算関数
ビューに表示された値をもとにして計算を行う関数です。
- FIRST
- INDEX
- LAST
- LOOKUP
- MODEL_EXTENSION_BOOL
- MODEL_EXTENSION_INT
- MODEL_EXTENSION_REAL
- MODEL_EXTENSION_STRING
- MODEL_PERCENTILE
- MODEL_QUANTILE
- PREVIOUS_VALUE
- RANK
- RANK_DENSE
- RANK_MODIFIED
- RANK_PERCENTILE
- RANK_UNIQUE
- RUNNING_AVG
- RUNNING_COUNT
- RUNNING_MAX
- RUNNING_MIN
- RUNNING_SUM
- SIZE
- SCRIPT_BOOL
- SCRIPT_INT
- SCRIPT_REAL
- SCRIPT_STR
- TOTAL
- WINDOW_AVG
- WINDOW_CORR
- WINDOW_COUNT
- WINDOW_COVAR
- WINDOW_COVARP
- WINDOW_MEDIAN
- WINDOW_MAX
- WINDOW_MIN
- WINDOW_PERCENTILE
- WINDOW_STDEV
- WINDOW_STDEVP
- WINDOW_SUM
- WINDOW_VAR
- WINDOW_VARP
空間関数
エリアや空間の分析をする関数です。
- AREA
- BUFFER
- DISTANCE
- INTERSECTS
- MAKELINE
- MAKEPOINT
- LENGTH
- OUTLINE
- SHAPETYPE
予測モデリング関数
表計算を活用して、データのように操作、視覚化、エクスポートできる予測をすばやく生成できる関数です。
- MODEL_PERCENTILE
- MODEL_QUANTILE
LOD表現
データの集計粒度を自由に変えることができる関数です。
- FIXED
- INCLUDE
- EXCLUDE
その他関数(BigQuery固有)
Google BigQuery接続時にのみ利用できる特有の関数です。
- DOMAIN
- GROUP_CONCAT
- HOST
- LOG2
- LTRIM_THIS
- RTRIM_THIS
- TIMESTAMP_TO_USEC
- USEC_TO_TIMESTAMP
- TLD
その他関数(正規表現)
正規表現に関係する関数です。
- REGEXP_REPLACE
- REGEXP_MATCH
- REGEXP_EXTRACT
- REGEXP_EXTRACT_NTH