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

2017.12.25

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

はじめに

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

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

当アドベントカレンダーの最終エントリとなります!

  • 使用する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

SIZE()

概要

パーティション内の行数を返します。たとえば、次のビューには四半期ごとの売上高が示されています。日付パーティション内には 7 行があるため、日付パーティションの Size() は 7 になります。

  • 指定した表計算の計算範囲内の、行数をカウントする関数です。

使ってみた

SIZE()

全部「12」となっています。この表は2017年の月別に売上を出している表になりますが、「表(横)」で計算しているので、ちょうど行数としては12月分あるので、値は「12」が返っています。

どういう時に使う?

  • 上記の例では、値は決まりきっていますが、計算によって行数が変動するような場合、一定行数算出されるデータだけをフィルタリングする際等に使用できます。

参考文献

SCRIPT_BOOL

概要

指定された式からブールの結果を返します。式は実行中の外部サービス インスタンスに直接渡されます。 R 式では、パラメーターに .argn (先頭にピリオド) を使用してパラメーターを参照します (.arg1、.arg2、など)。 Python 式では、_argn (先頭にアンダースコア) を使用します。

SCRIPT_INT

概要

指定された式から整数の結果を返します。式は実行中の外部サービス インスタンスに直接渡されます。 R 式では、パラメーターに .argn (先頭にピリオド) を使用してパラメーターを参照します (.arg1、.arg2、など)。 Python 式では、_argn (先頭にアンダースコア) を使用します。

SCRIPT_REAL

概要

指定された式から実際の結果を返します。式は実行中の外部サービス インスタンスに直接渡されます。 R 式では、パラメーターに .argn (先頭にピリオド) を使用してパラメーターを参照します (.arg1、.arg2、など)。 Python 式では、_argn (先頭にアンダースコア) を使用します。

SCRIPT_STR

概要

指定された式から文字列の結果を返します。式は実行中の外部サービス インスタンスに直接渡されます。 R 式では、パラメーターに .argn (先頭にピリオド) を使用してパラメーターを参照します (.arg1、.arg2、など)。 Python 式では、_argn (先頭にアンダースコア) を使用します。

  • その名の通り、指定したスクリプトに式を渡す関数です。
  • R言語などの、外部サービスを利用して得た結果が返ります。
  • 上記4つの関数の違いは、返ってくる結果の型です。

使ってみた

今回は、下記のエントリを参考に、R連携したワークブックを開いてみます。

R言語をインストールし、R連携ができるようになったら、下記からR連携を使用しているサンプルのTableauワークブックをダウンロードしてみます。 * http://www.tableausoftware.com/sites/default/files/blog/r_kmeans_0.twbx

SCRIPT_INT(
'set.seed(42);result <- kmeans(data.frame(.arg1,.arg2,.arg3,.arg4), 3);result$cluster;',
SUM([Petal length]), SUM([Petal width]),SUM([Sepal length]),SUM([Sepal width]))

このワークブックは、「Iris」というR言語に付属しているデータセットに対して、Kmeans法というクラスター分析を行っているものです。そのKmeansを行うにあたり、R言語での処理を行っています。

どういう時に使う?

  • RやPyton等を使った、非常に高度なデータ分析を行う場合、この関数は必須となります。

参考文献

TOTAL(expression)

概要

表計算パーティションで指定された式の合計を返します。

  • 指定した表計算の計算範囲内の、値を合計する関数です。

使ってみた

どういう時に使う?

  • 帳票系のビューを作成する際、「総計」みたいな値を作成する場合に使用できると思います。

参考文献

Window系関数

概要

当アドベントカレンダーの中で、集計関数というものを紹介してきましたが、その集計関数を、指定した表計算の範囲内で行うものがWindow系関数です。 範囲が変わるだけで、関数の内容自体は同じですので、WINDOW関数については、該当関数の過去エントリへのリンクを貼る形で紹介します。 WINDOW関数の特徴として、引数に範囲を指定できます。ここにFIRST関数等を入れることで、色々な範囲で計算を行うことが可能です。

WINDOW_AVG(expression, [start, end])

WINDOW_CORR(expression1, expression2, [start, end])

WINDOW_COUNT(expression, [start, end])

WINDOW_COVAR(expression1, expression2, [start, end])

WINDOW_COVARP(expression1, expression2, [start, end])

WINDOW_MEDIAN(expression, [start, end])

WINDOW_MAX(expression, [start, end])

WINDOW_MIN(expression, [start, end])

WINDOW_PERCENTILE(expression, number, [start, end])

WINDOW_STDEV(expression, [start, end])

WINDOW_STDEVP(expression, [start, end])

WINDOW_SUM(expression, [start, end])

WINDOW_VAR(expression, [start, end])

WINDOW_VARP(expression, [start, end])

おわりに

本エントリにて、当アドベントカレンダー「Tableauの関数を全て試してみる」は終了です!ありがとうございました! これだけ関数を紹介しておいてアレですが、Tableauを使用するコツみたいなものとして、標準機能でできることは標準機能で行うというものがあります。何でもかんでも計算フィールドを作らないようにした方が、構成もシンプルになりますし、パフォーマンスも良い場合が多いです。

それでは、皆様よいお年を!!