Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
お世話になっております。
Windows版のQlik senseを利用しているユーザーです。
以下にどちらも1を返すことを想定してしている数式があります。
(1):Floor(10/10,1)
(2):Floor(100000000000/100000000000,1)
(1)は正しく1を返しますが、(2)は0を返します。
対応として以下のように1つめのFloor関数の桁を下げ2重にすることで対応することは可能です。
Floor(Floor(100000000000/10000000000,1)/10,1)
このような桁数の限界はヘルプには見当たりませんでした、このような桁数の限界等の仕様はどこから確認することが可能でしょうか?
仕様に関わる話になりますのでテクニカルサポートに問い合わせてください
I could imagine that the following will be helpful:
Qlikエンジンでは数値は64bit浮動小数点(IEEE 754)で処理されますので、必ず誤差が発生します。
[Decimal Values In Qlik Sense And QlikView]
https://community.qlik.com/t5/Official-Support-Articles/Decimal-Values-In-Qlik-Sense-And-QlikView-Ju...
ですので、例えば
Floor(10/10,1)
Floor(100000000000/100000000000,1)
を
Floor(Round(10/10,1),1)
Floor(Round(100000000000/100000000000,1),1)
のように誤差を考慮して調整することで、どちらも1にすることは可能でしょう。
参考情報としては、Qlikが実装しているFloor関数の処理は、例えばExcelのそれとは内部的に違う実装になっているなどの仕様(R&Dの回答)になっているため、誤差を考慮した数式が必要になります。