★★:まあある

本記事ではある時点から現在までの経過時間を計算する方法を紹介します!
テーブルごとの着席時刻から、着席時間をリアルタイムに表示する場合などに利用できます。

経過時間といったデータは時々刻々と変化するため、CSVやデータベースで値を保持しておくことは現実的ではありません。
MotionBoard側で計算を行うことで、リアルタイムに経過時間を把握することができます。

カスタム項目でGETTIME関数を使おう

カスタム項目を使って、日時項目から現在時刻までの経過時間を表す項目を新しく作ってみましょう。
その際に使えるのがGETTIME関数です。

カスタム項目とは?

元のデータソースにはない項目を新しく作る機能です。計算式を組み込むことも可能です。
設定方法はデータソース編集画面にて[追加項目作成]→[カスタム項目]にチェックします。
その後、新しく作る項目の名前やデータの型(文字/数値/日付/日時)及び計算式を設定します。


よくある使い方としてこんなものがあります。
・税抜きの金額に税率を掛けて「税込み金額」という項目を作る。
・性・名の2つ項目を結合して「氏名」という項目を作る。
・”2022/08/02”から”08”の部分だけ抽出して「月」という項目を作る。

参考:カスタム項目で使用できる関数

GETTIME関数とは?

1970年1月1日 0時0分0秒 から指定した日時までのミリ秒の値を取得する関数です。
日時を指定しなければ現在までのミリ秒の時間を取得できます。
以下にGETTIME関数の指定例をいくつか紹介します。

【日時を指定しない場合】・・・現在までの経過時間を取得
計算式:GETTIME()

【日時を指定する場合】・・・2022/08/02 09:00:00 までの経過時間を取得
計算式:GETTIME("2022/08/02 09:00:00","YYYY/MM/DD JJ:NN:SS")

【項目名を指定する場合】
計算式:GETTIME([着席時刻])

【システム変数を指定する場合】
計算式:GETTIME("${日時}","YYYY/MM/DD JJ:NN:SS")

参考:GETTIME関数

ある時刻から現在までの時間を取得する

GETTIME関数を使って、ある時刻から現在までの時間を取得する場合の計算式は以下のようになります。
計算式:( GETTIME() - GETTIME([日時項目]) ) /1000
ここで、「ミリ秒」を「秒」に変換するため /1000 をしています。

上記の計算式をつかって新しく項目を作ることで、現在時刻までの経過時間を表示することができます!

まとめ

カスタム項目とGETTIME関数を使ってある時刻から現在までの経過時間を表現する方法を紹介しました。
さらに、時間の表示方法を時分秒に変更する方法をこちらの記事で紹介しています。
見やすい形式で経過時間を表示する際はこちらも参考にしていただければと思います!

参考:経過時間を時:分:秒で時刻表示したい!【320秒→05:20】