- 印刷する
イベントがいつ起こるかを理解することは、どこで起こるかを理解することと同じくらい重要です。Tulipは、インサイトを可能にする強固な時間関数を備えています。
目的
タイムゾーン、日付形式、希望する日付形式など、時間の調整と相互作用は厄介なものです。Tulipは、アプリが既存の標準に準拠することを可能にし、時間の扱い方を理解することは、すべてのアプリビルダーがツールキットに入れるべきことです。
このアプリの仕組み
このアプリは、Tulipソリューションで必要とされる最も一般的な日付操作のほとんどを1ステップで表示します。
ビルトインタイマー
アプリにはいくつかのタイマーが自動的に組み込まれています。これらのタイマーは、トリガーで参照したり、テーブルに保存したりすることができます。
Time spent in appは、アプリが最後に再起動されてからの経過時間、または最後に完了した時点からの経過時間です。完了に関する詳細はこちらこの値は、組み立てやトレーニングのプロセスを完了するために必要な平均時間を追跡するのに便利でしょう。
ステップに費やした時間」は、ユーザーが特定のステップに費やした経過時間を追跡します。このデータを追跡することで、プロセスのどの部分でオペレーターの時間が最もかかっているかを把握することができます。
この時間は、異なるシフトのトリガーロジックを調整したり、アクティビティがいつ起こったかを追跡したりするために使用することができます。
シンプルタイマー
シンプルタイマーは、独自のタイマーを作成する方法を示しています。このテクニックは、内蔵されたタイマーの機能を拡張するのに便利です。例えば、ユーザーが1つのステップやアプリ全体ではなく、特定のステップのセットを通過する時間を追跡したい場合です。
このタイマーのロジックはすべて、各ボタンのそれぞれのトリガーの下に存在します。トリガーの詳細については、こちらの記事を参照してください。
STARTボタンは現在時刻を開始時刻変数にセットします(現在空白の場合)。
STOPボタンは現在時刻をEnd time変数にセットし、start timeとstop timeの間の経過時間を計算する計算をします。これは、トリガーで式を見るのは初めてです。式はトリガーの機能を拡張します。エクスプレッションの詳細については、こちらをご覧ください。
RESETボタンは、Start time、End time、Durationの変数をクリアします。
タイマーベースのトリガー
定期的にロジックを実行することで、Tulipアプリの使用方法をさらに広げることができます。タイマーベースのトリガーはX秒ごとに実行され、任意のトリガーロジックを実行することができま す。
タイマーベースのトリガーはステップレベルで実行されます。つまり、タイマートリガーを作成/表示/編集するには、設定スライドアウトでSTEPタブを選択する必要があります。
この場合、タイマトリガは既存の変数値に1を追加するだけです。
タイムトリガーを変形させる
時刻の表示方法を変更する、2つの時刻を足す、テキストを日付変数に変換する、これらはすべて Tulip で日付時刻を扱うための重要なテクニックです。
時間の足し算は簡単ですが、非常に強力です。例えば、現在の時刻とリードタイムから注文の期限を計算したり、最後に監査が行われた時刻から監査が必要な時刻を計算したりすることができます。
データタイムは、他のデータタイムやインターバルを追加または減算することができます。したがって、このトリガーでは、現在の時刻に追加する前に、ユーザが入力した数値をインターバルに変換する必要があります。この変換はSECONDS_TO_INTERVAL関数で行います。この関数は数値入力を受け取り、それをインターバルに変換します。ユーザーが入力した日単位の時間を秒に変換する必要があるので、60*60*24でこれを行います。この間隔を現在の時刻に加え、変数に格納します。
日付の丸めは、現在時刻を任意の間隔に丸めることができます。ROUNDDATETIMEを使用すると、現在時刻を切り捨て、一日の始まりの時刻を得ることができます。
以下のトリガーは、現在時刻を取得し、直近の日に切り捨てます。この式中の'day'は、希望する期間に置き換えることができます。この関数に関するより詳細な情報は、こちらをご覧ください。
テキストを日付時間に変換することは、生のテキストとしてTulipに転送される独自の日付フォーマットを持つ既存のシステムで作業するときに非常に強力です。
TEXTTODATETIME関数は、テキストとその日付のフォーマットを取り込み、入力テキストをdatetimeオブジェクトに変換します。この関数に '2022-03-01' を渡すとき、'YYYY-MM-DD' を使って、TEXTTODATETIME関数に月が03で日が01であることを伝え、その逆は行わないようにするのです。この文書では、さまざまな日付フォーマットについてより詳しく説明しています。