Kleara · ライブラリ
重なる掃除カレンダーの書き出しで予定の重複を防ぐ
重なり合う4週間の掃除カレンダー2つには、共通の予定が21件あります。2つ目のファイルを読み込む前に識別子と日付を比べ、作業を二重に数えないようにしましょう。
重なったファイルで二重に数えてしまう理由
同じキッチンと寝室の予定表から、今4週間分の掃除カレンダーを保存し、2週間後にもう1つ保存したとします。2つのファイルは一部の日が重なるので、いくつかの回は両方に入っています。両方の行数を足すと、予定されている作業量を多く見積もることになります。
Klearaのカレンダーファイルの予定には、部屋、やること、部屋の中での順番、日付からなる識別子が付いています。たとえば kitchen.taskSink.0.2026-11-10@kleara.vomcore.com です。同じ回なら、どちらのファイルでも識別子は同じです。
例の2つのファイル
1つ目のファイルは2026年10月26日から11月22日までで、予定は46件です。2つ目は11月9日から12月6日までで44件です。両方に出てくる識別子が21あり、異なる回は69になります。同じ予定表を42日間まとめて展開したときとちょうど同じ数です。
共通の予定は、両方のファイルが対象とする2週間、11月9日から22日の間にあります。どれも終日の予定で、開始 20261109 のあとの終了日 20261110 は1日を意味し、2日分の作業ではありません。
2つ目のファイルを読み込む前に確認する
- まず日付範囲を比べます。少しでも重なっていれば、共通の予定がある可能性が高いと考えてください。
- タイトルではなく識別子を比べます。「キッチン: シンク磨き」というタイトルの予定が2件あっても、日付が違えば別の回です。
- カレンダーのアプリが2回目の読み込みをどう扱ったかを見るまで、元の1つ目のファイルは残しておきます。既知の識別子で予定を更新するか複製を加えるかは、アプリによって違います。
- まったく重ならないようにしたいなら、2つ目の範囲を1つ目が終わった翌日から始めてください。
識別子の限界
識別子が表すのはやることと日付で、予定表の版ではありません。2回のダウンロードの間に頻度を変えていると、ある回は日付と識別子がそのままで、それ以降の日付だけが変わることがあります。やることの設定も比べてください。
プランナーのプレビューは常に、選んだ開始日から28日間を対象にし、計算のたびに開始日を配分し直します。そのため、違う開始日でつくったファイルでは、同じやることの日付が一致するとは限りません。アプリ自体はカレンダーを書き出さず、進行中の予定表を1つ持ち続けます。
予定された作業の延べ件数
| A, B | 予定された作業の延べ件数 |
|---|---|
| |A| | 46 |
| |B| | 44 |
| |A ∩ B| | 21 |
| |A ∪ B| | 69 |
結果
| UID | DTSTART | DTEND |
|---|---|---|
| kitchen.taskMop.1.2026-10-26@kleara.vomcore.com | 20261026 | 20261027 |
| kitchen.taskSink.0.2026-10-26@kleara.vomcore.com | 20261026 | 20261027 |
| bedroom.taskVacuum.1.2026-10-27@kleara.vomcore.com | 20261027 | 20261028 |
| kitchen.taskTrash.2.2026-10-27@kleara.vomcore.com | 20261027 | 20261028 |
| bedroom.taskDust.2.2026-10-28@kleara.vomcore.com | 20261028 | 20261029 |
| kitchen.taskDishwasher.3.2026-10-28@kleara.vomcore.com | 20261028 | 20261029 |
| bedroom.taskSheets.0.2026-10-29@kleara.vomcore.com | 20261029 | 20261030 |
| kitchen.taskSink.0.2026-10-29@kleara.vomcore.com | 20261029 | 20261030 |
| kitchen.taskFridge.4.2026-10-30@kleara.vomcore.com | 20261030 | 20261031 |
| kitchen.taskTrash.2.2026-10-30@kleara.vomcore.com | 20261030 | 20261031 |