Tableauの関数を全て試してみる〜型変換関数編その2〜 #tableau
はじめに
こんにちは。DI部のtamaです。
当エントリはTableau Functions Advent Calendar 2017の13日目のエントリです。 昨日のエントリは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
FLOAT(expression)
概要
引数を浮動小数点数としてキャストします。
- ざっくり言うと、整数を小数に変換する関数です。
使ってみた
「数量」を浮動小数点にしてみましょう。
FLOAT([数量])
値はそのままで、浮動小数点となっていることが確認できました。
どういう時に使う?
- マーケティングや経営等の分析で使用することは、あまり無いと思われます。
- 浮動小数点は扱いに注意が必要な型なので、上記のような積極的に変換する必要はないと思われます。
- Tableauに限った話ではありませんが、浮動小数点の計算は誤差が発生するので、ビジネス系の、数字の誤りが許されないような場合はあまり使用しない方がいいと思います。
参考文献
- 浮動小数点数 - Wikipedia
- 浮動小数点数について本気出して考えてみた - 一から勉強させてください( ̄ω ̄;)
- Tableau 計算のデータ型
- NUMBERの項を参照
- Incorrect Results received When Wrapping Date Field in INT() or FLOAT() Type Conversion Functions | Tableau Software
- FLOAT関数で、日付型を扱った場合のケースについて書かれています。
INT(expression)
概要
引数を整数としてキャストします。引数が式の場合、この関数は結果をゼロに最も近い整数に丸めます。 文字列が整数に変換される場合、この文字列はまず浮動小数点数に変換されてから、丸められます。
- 指定した値を、整数に丸める関数です。
- 引数に指定するのは、計算式でも問題ありません。
使ってみた
丸められているかを確認するため、明らかに割り切れない割り算をINT関数に渡します。
INT関数無しの式も用意して比較すると、たしかに丸められていますね。
どういう時に使う?
- FLOAT関数と逆になりますが、分析上の計算を行う際は、整数値の方が都合がいい場合が多いです。(もちろん丸める数値の範囲を考慮する必要はあります。)
- 例えば、Tableauで二重軸のグラフを作成する際、「軸の同期」をする必要がありますが、FLOAT型のメジャーでは「軸の同期」はできません。
- メジャー バリューを軸として使用しているときに軸を同期できない | Tableau Software
参考文献
- INT 関数 - Office サポート
- INT関数で消費税の小数点以下の値を切り捨てよう! - FMVサポート : 富士通
- Incorrect Results received When Wrapping Date Field in INT() or FLOAT() Type Conversion Functions | Tableau Software
- INT関数で、日付型を扱った場合のケースについて書かれています。
STR(expression)
概要
引数を文字列としてキャストします。
- その概要の通り、文字列に変換する関数です。
使ってみた
本来数値型である「数量」を文字列にします。
STR([数量])
文字列なので、シェルフに持ってきた時、以下のような状態でビジュアライズされます。
どういう時に使う?
- その数値データをディメンションのように扱いたい時(フィルタなど)
- 例えば、「購買回数」という項目があったとして、その購買回数毎にユーザーを分けたい(3回買った人は何人いるか、のようなデータが見たい)となった場合、購買回数をSTR関数で文字列とすれば、ディメンション扱いとなるので、セグメントとして使用することができます。
- メジャー項目の右クリックメニュー「ディメンションに変換」でも同じことができますが…
- 別の計算式で組み合わせると、項目がむやみに増えないのでオススメです。(「購買回数」を求める計算フィールドがある場合など)
参考文献
おわりに
型変換関数については本エントリで終了です。 単独での使用の場合、計算フィールド以外の方法(各種右クリックメニューなど)で代用できることも多いので、他の関数と組み合わせて使ったりするパターンが多いかもしれません。
次回はtamaによるTableauの関数を全て試してみる〜論理関数編その1です。お楽しみに。