定時実行される表と、自分で伸びる日付
日が抜けない日報には、自分で伸びる日付の表が要ります。datetime の本当の引数(2 つ、単位は秒、最小 3600)、現在のデスクトップ版では動かないという事実、代わりの手、そしてスケジューラーがデスクトップ版でどこまで働くか。
このマニュアルの日本語は解説文です。アプリの画面表示は英語のため、メニュー名・ボタン名・エラーメッセージは画面どおり英語で表記し、スクリーンショットも英語画面のものを使っています。
問題
日ごとに集計すると、受注のなかった日は集計表に現れません。グループ化の値は明細から来るのに、明細にその日の行がないからです。日報、勤怠、点検の巡回はどれも「ゼロでもいいから 1 日 1 行」を必要とします。
datetime:自分で伸びる日付の列
新しい表の**1 列目(インデックス列)**にこう書きます。
datetime("2026-01-01 00:00:00", 86400)
引数は 2 つ。アプリ内の関数ヘルプがはっきり書いています —— Datetime: generate a time record at regular intervals from the start time to the current time:
- 開始時刻、タイムスタンプ形式。
"2018-10-05 00:00:00"はその日の 0 時から始まります。計算時に秒は無視されるので、8:05:30は8:05:00として扱われます。 - 間隔、単位は秒。
3600が 1 時間、86400が 1 日。最小は 3600 で、それより小さい値は 3600 として扱われます。つまり 1 分に 1 行は作れません。
開始時刻から現在まで、間隔ごとに 1 行ずつ生成し、明日になれば 1 行増えます。これが「定時実行される表」です。取り込むものはなく、エンジンが時計に合わせて伸ばします。
datetime は Formulas の時間の分類に出てきませんし、関数ヘルプにも名前だけで説明がありません —— 上の引数はデータエンジン自身の関数ドキュメントから取ったものです。2026-09-03 に macOS 0.0.9 のまっさらなインスタンスで実測:この数式をインデックス列に置いて 2 分待っても 0 行のままでした。現在のデスクトップ版では動きません。 以下は設計意図として読んでください。手順書としてではありません。いま本当に日の抜けない日付表が必要なら、日付の列を自分で作って取り込むのが確実です(Excel で日付をドラッグして Import → Upload file)。効果は同じで、ときどき継ぎ足す手間があるだけです。
データをぶら下げる
骨格ができたら、残りの列は条件付き集計で明細を引き寄せます。
AC2 = countif(AA2, AC1 = AA9) その日の受注件数(AA9 は明細の日付列。先に同じ書式に揃えておく)
AC3 = sumif(AA6, AC1 = AA9) その日の金額
AC4 = if(AC2 = 0, "データなし", "") データのない日も 1 行あり、そう書ける
この表に折れ線グラフを作ってダッシュボードに載せれば、データのない日で途切れず連続した曲線になります。
時間で動く自動化
Data Arrival Time は姿を変えた定時ジョブです。エンジンが時計に従って日付の列を見張ります。datetime の表と組み合わせれば「毎日 9 時」のような周期的な動作が作れます —— 表が毎日 1 行増え、その新しい行が Data Added の自動化を発火させます。
デスクトップ版でのスケジューリング
- 系列を前へ進めることも、時間トリガーを発火させることも、エンジンのスケジューラーの仕事です。アプリが閉じている間は何も進みません。 開き直すと系列は現在まで追いつきますが、その間に発火すべきだった自動化が改めて発火することはありません。
- 0.0.7 より前のデスクトップ版にはバグがあり、スケジューラーの cron が 2099 年に設定されていたため、定時の処理が一度も走りませんでした。0.0.7 で修正済みです(更新履歴にあります)。現在のビルドではスケジューラーは本当に動いています —— エンジンの設定は
jarvis.resource.task.scheduler.cron=*/1 * * * * *、1 秒に 1 回です —— したがって上の実測が意味するのは、datetimeの経路そのものが動いていないということであって、スケジューラーが眠っているということではありません。 - チーム版のエンジンはクラウドにあり、24 時間進み続けます。