浮動小数データ(および10進数データ)の取り扱い精度について(前編:Tableauの場合)

浮動小数データ(および10進数データ)の取り扱い精度について(前編:Tableauの場合) | Tableau-id Press -タブロイド-

一般に何らかの数値データ処理を行うソフトでは必ず「取り扱い可能な数値範囲と精度」が存在し、それを基に各種計算処理において有効範囲や有効桁数を考慮しておく必要があります。TableauやAlteryxにおいても当然ながら数値に関する範囲と精度の問題が存在します。

しかしながらそれぞれ本家のリファレンスマニュアルを参照してもあまり情報が掲載されておりません。そこで今回は実験を行いつつ、範囲と精度に関するお話をいたします。

先に基礎情報として、

*「浮動小数データ」(例えば”float型”とか”Double型”とか呼ばれるもの)
*「10進数データ」(例えば”decimal型”と呼ばれるもの)

がコンピュータ内でどのように扱われているかの話につきまして。この辺りはネット上に多数文献が存在しておりますのでそちらをご参照ください。

例)
演算誤差の正体 – IEEE 754 浮動小数点数の仕組み(日経PC21より)
固定精度の数値(IBM Knowledge Centerより)

次にTableauの場合について。Tableauオンラインヘルプより。
データ型:NUMBER

「Tableau 内の数値は、整数または浮動小数点数のいずれかです。」

10進数型のデータ形式は元々持ち合わせていません。

この辺りは設計思想によるもの(注1)と思われます。ただ、取り扱い可能な数値範囲や、浮動小数の有効桁数については記載がありません。
(注1:Tableauはその目的用途としてデータ分析・データビジュアライズに主眼を置いたソフトであり、会計処理を行うソフトではない。)

そこで実際に値を入れて確認してみましょう。上記のとおり10進数型データは取り扱いされていないため、浮動小数と整数で見てみることにします。


結果として浮動小数、整数共、符号付き64bit(注2)で扱われており、

浮動小数:1.7E +/- 308 (有効桁数:15 桁)
整数:-9,223,372,036,854,775,808~9,223,372,036,854,775,807

となります。
(注2:検証は64bit版Tableau(Ver.9.1.2)にて行いました。
32bit版につきましては手近に適当な環境が無かったため未確認ですが、符号付き32bitになっている可能性があります。該当環境の方はご注意を。)

次回はAlteryxの場合についてお送りします。

Tableau_id執筆者:戸崎 茂雄(Shigeo Tosaki)