【AlteryxTips】Designerで計算結果が合わない時に見る話
フォーミュラツールやフィルターツールでまれにどうしても計算結果があわないケースがあるのですが、今回はその回避方法(注意点)のお話です。
コンピュータを使う以上、割り切れない数とかで計算誤差が出たり、というのは避けられようのない話ではあるので、正しく使い方を理解して使うことが重要です。
なお、本現象は英語版コミュニティでも稀にしか報告されない現象です。小数点を含む値で出る傾向はありますが、小数点を含む値であれば必ず出る現象ではありません。
現象
まず、今回の現象が起きるデータとして、テキスト入力に「0.0225」という数値を入れてみます(自動判定で「Double」型として認識されます)。
これをフォーミュラツールで比較すると・・・
データプレビューで「False」と出ています。[data]という項目の中身は0.025なのですが・・・。
差分を取ってみると・・・
何やら誤差のようなものが出ています。
回避方法
直接式に数値を入力するとこのようなことが発生するので(基本的には整数値だと発生しないと思いますが)、テキスト入力ツールもしくはユーザ定数を使います。
テキスト入力ツールの場合:compareという項目を作りました。
ユーザ定数の場合:ユーザ定数にcompareという項目を作りました。
結果としては、以下のように比較することで、見事一致しました(要するに、差分なし)。
サンプルワークフローダウンロード
DirectInputSample fa-download
※Alteryx Designer 2020.4.5.12471 時点の情報です