小数点を切り捨て計算したいが表示はしたい

kintone小数点問題について考えてみたいと思います。

kintoneで数値データを扱う際「小数点」まで必要かどうか悩むときがあるかもしれません。

例えば、体温を数値として記録する場合、36.0℃と36.9℃を小数点以下を切り捨てしてどちらとも36℃にすることは・・・どうなんでしょう

36.0℃と36.9℃を同じ扱いにはできないので、小数点以下を切り捨てしない!!

そうした場合、とある問題が生じました・・・

20分=1単位として計算した

計算上小数点がでちゃう計算式を用いるとします。

計算結果数値を小数点以下切り捨てた数値を合計した集計値が欲しい!!

医療介護業界では小数点以下の単位数を請求できるサービスはほぼありませんので、計算結果2.4単位でも2単位しか請求できません。

kintoneでそういった小数点切り捨ての合計値を算出することと、小数点を表示することの混在が可能かどうか、対応策を色々と考えてみました。

通常計算Ver

サービス提供時間を「終了時刻-開始時刻」で計算し、kintoneの時間計算の答えは秒としてでるので

20分を1単位として考えた場合 終了時刻-開始時刻/(60×20)=単位数 という計算式で単位数が求められます。

例として、10:00にサービス提供を開始し10:48にサービスを終了した場合

10:48-10:00=2880秒

2880秒÷1200=2.4単位サービスを提供したことになります。

しかし、医療介護業界では小数点以下の単位数を請求できるサービスはほぼありません(0では?)

なので、計算上2.4単位でも提供した実績としては2単位となります。

上記の画像では合計で6単位提供したことになるのですが、集計すると7.2単位提供したことになり、後々の計算がくるってきます。

では、フィールドの設定で小数点以下の表示桁数を設定してみるとどうなるでしょうか?

表示桁数調整Ver

kintoneではいくつかのフィールドで小数点以下の表示桁数設定が可能です。

小数点以下の表示桁数を0に設定すると・・・単位数Bは2ってなってる!!と喜んではいけません。

表示は2となっていますが、表示の桁数を切り捨てにしているのであって数値自体は2.4のままなんです。なので、集計で単位数Bを合計すると7と表示されます。7.4の小数点切り捨てで7と表示。

本来は2.4単位でも2単位の提供となるルール

2.4単位を3人に提供してもルール上は6単位提供にしたいので、今回の方法も没となりました。

高度な設定で小数部の桁数を切り捨てる

冒頭で書いた通り、小数点以下をアプリ内にあるすべてのフィールドで切り捨てていいのであればこの方法でOKかと思います。

今回作成したkintoneアプリでは、単位数以外に体温も入力したい

となると、36.5と入力した体温のデータですが、高度な設定で小数部の桁数を0にしてしまうと36.0と表示されます。この方法も没となりました。

通常
設定後

Customineで切り捨て数値を新しくセット

色々な方法も試しましたが全て没

困ったときはCustomineの出番ではないでしょうか!!

やることは簡単で、単位数Cというフィールドに2.4という計算結果の小数点以下を切り捨てた数値を新しくセットするカスタマイズを作るだけ(たった2行↓)

単位数Cが2と表示されています。後は合計して6単位となっていれば今回の目的は達成ですが・・・

6単位と表示されています。成功ですね!!!

簡単なことだと思ったが標準ではできないことが多い

こんな簡単なことできるだろう(方法はあるのかもしれないが、僕の頭では無理だった)

新しい方法や、アップデートによってkintoneはどんどん便利になるので、この記事をもしかしたらアップした瞬間に対応策が提案されるかもしれません。

ただ、これ以外にも一杯kintone標準機能や連携サービスを駆使しても対応できない案件は多々存在するでしょう。

「できないからそれを考えるのが楽しい」

そろそろヤバいかもしれません・・・笑

PR

シェアどうぞ宜しくお願い致します

株式会社 MOVEDにJOIN

kintoneの導入支援

キンボウズが実際にkintone導入支援を致します。そのほか色々と・・・

詳しくはMOVED公式ページ