בטבלה הבאה מופיעה הרשימה המלאה של סוגי הנתונים, עם כמה עמודות שיעזרו לכם להבין את הייצוג של כל סוג ב-Google Health API, וגם את ההיקף שבו כל אחד מהם זמין.
שדות של סוגי נתונים
טבלת סוגי הנתונים של Google Health API כוללת כמה עמודות של שדות, כדי לעזור לכם להבין את הייצוג והדרישות של כל סוג נתונים. העמודות האלה הן:
| שדה | תיאור |
|---|---|
dataType |
המזהה שמופרד במקפים (לדוגמה, active-minutes) שמשמש בכתובות ה-URL של נקודות הקצה. |
פרמטר filter |
המזהה מופרד על ידי קווים תחתונים (לדוגמה, active_minutes) ומשמש כערך של פרמטר המסנן dataType בבקשות לאוסף נתונים יומי ובבקשות לאוסף נתונים. |
| סוג הרשומה | מציין את המבנה והפורמט של הנתונים המתועדים. מאחורי הקלעים, זה תואם לייצוג המשאבים של נקודות הנתונים. הערכים האפשריים הם:
|
| הפעולות הזמינות | רשימה של ה-API methods שנתמכות בסוג הנתונים (למשל list, create ו-rollUp). |
| היקף | היקפי ההרשאות הנדרשים של OAuth כדי לגשת לסוג הנתונים. |
| תמיכה בתגובה לפעולה מאתר אחר (webhook) | מציין שסוג הנתונים תומך בהתראות בזמן אמת באמצעות תגובות לפעולה מאתר אחר (webhook) כשנתונים חדשים מסונכרנים. |
| תמיכה באפסים אמיתיים | מציין שסוג הנתונים תומך ברישום ערכי אפס מפורשים כדי להבדיל בין ערך אפס פעיל (כמו אפס דקות פעילות) לבין נתונים חסרים או לא מתועדים. |
| רזולוציית האחסון | מרווח הזמן המינימלי לדגימה או לשמירה של נקודות על הגרף (לדוגמה, דקה אחת ל-steps). בסיכומים, זהו הערך המינימלי המומלץ של windowSize כדי להבטיח צבירה אחידה בלי פריטי מידע מלאכותיים במרווחי משנה. |
| מכשירים תואמים | רשימה שניתן להרחיב של מכשירים פיזיים שיכולים לתעד את סוג הנתונים הזה ולסנכרן אותו עם Google Health API (באמצעות אפליקציית Fitbit). |
| סוג הנתונים | פעולות זמינות |
היקף |
|---|---|---|
|
אנרגיה פעילה שנשרפה
dataType:
active-energy-burnedfilter parameter: active_energy_burned
סוג הרשומה: אינטרוולים
רזולוציית אחסון: דקה אחת
|
list, reconcile, rollup, dailyRollup | .activity_and_fitness.readonly.activity_and_fitness.writeonly |
|
דקות פעילות
dataType:
active-minutesfilter parameter: active_minutes
סוג הרשומה: אינטרוולים
רזולוציית אחסון: דקה אחת
מכשירים תואמים
|
list, reconcile, rollup, dailyRollup | .activity_and_fitness.readonly.activity_and_fitness.writeonly |
|
דקות טווח דופק
dataType:
active-zone-minutesfilter parameter: active_zone_minutes
סוג הרשומה: אינטרוולים
רזולוציית אחסון: דקה אחת
מכשירים תואמים
|
list, reconcile, rollup, dailyRollup | .activity_and_fitness.readonly.activity_and_fitness.writeonly |
|
רמת הפעילות
dataType:
activity-levelfilter parameter: activity_level
סוג הרשומה: אינטרוולים
|
רשימה, התאמה | .activity_and_fitness.readonly.activity_and_fitness.writeonly |
|
Altitude
|
list, reconcile, rollup, dailyRollup | .activity_and_fitness.readonly.activity_and_fitness.writeonly |
|
רמת סוכר בדם
dataType:
blood-glucosefilter parameter: blood_glucose
סוג הרשומה: דוגמה
|
list, get, reconcile, rollup, dailyRollup | .health_metrics_and_measurements.readonly.health_metrics_and_measurements.writeonly |
|
אחוז שומן בגוף
dataType:
body-fatfilter parameter: body_fat
סוג הרשומה: דוגמה
מכשירים תואמים
|
list, get, reconcile, rollup, dailyRollup, create, update, batchDelete | .health_metrics_and_measurements.readonly.health_metrics_and_measurements.writeonly |
|
קלוריות בטווח הדופק
dataType:
calories-in-heart-rate-zonefilter parameter: calories_in_heart_rate_zone
סוג הרשומה: אינטרוולים
רזולוציית אחסון: דקה אחת
|
rollup, dailyRollup | .activity_and_fitness.readonly.activity_and_fitness.writeonly |
|
טמפרטורת הגוף
dataType:
core-body-temperaturefilter parameter: core_body_temperature
סוג הרשומה: דוגמה
|
list, get, reconcile, rollup, dailyRollup | .health_metrics_and_measurements.readonly.health_metrics_and_measurements.writeonly |
|
שונות קצב הלב היומית
dataType:
daily-heart-rate-variabilityfilter parameter: daily_heart_rate_variability
סוג הרשומה: יומי
מכשירים תואמים
|
רשימה, התאמה | .health_metrics_and_measurements.readonly.health_metrics_and_measurements.writeonly |
|
טווחי דופק יומיים
dataType:
daily-heart-rate-zonesfilter parameter: daily_heart_rate_zones
סוג הרשומה: יומי
|
רשימה, התאמה | .health_metrics_and_measurements.readonly.health_metrics_and_measurements.writeonly |
|
רמת החמצן בדם מדי יום
dataType:
daily-oxygen-saturationfilter parameter: daily_oxygen_saturation
סוג הרשומה: יומי
מכשירים תואמים
|
רשימה, התאמה | .health_metrics_and_measurements.readonly.health_metrics_and_measurements.writeonly |
|
קצב הנשימה היומי
dataType:
daily-respiratory-ratefilter parameter: daily_respiratory_rate
סוג הרשומה: יומי
מכשירים תואמים
|
רשימה, התאמה | .health_metrics_and_measurements.readonly.health_metrics_and_measurements.writeonly |
|
הדופק היומי במנוחה
dataType:
daily-resting-heart-ratefilter parameter: daily_resting_heart_rate
סוג הרשומה: יומי
מכשירים תואמים
|
רשימה, התאמה | .health_metrics_and_measurements.readonly.health_metrics_and_measurements.writeonly |
|
סטיות יומיות בטמפרטורת השינה
dataType:
daily-sleep-temperature-derivationsfilter parameter: daily_sleep_temperature_derivations
סוג הרשומה: יומי
מכשירים תואמים
|
רשימה, התאמה | .health_metrics_and_measurements.readonly.health_metrics_and_measurements.writeonly |
|
צריכת החמצן המרבית (VO2 max) היומית
dataType:
daily-vo2-maxfilter parameter: daily_vo2_max
סוג הרשומה: יומי
מכשירים תואמים
|
רשימה, התאמה | .activity_and_fitness.readonly.activity_and_fitness.writeonly |
|
מרחק
dataType:
distancefilter parameter: distance
סוג הרשומה: אינטרוולים
רזולוציית אחסון: דקה אחת
מכשירים תואמים
|
list, reconcile, rollup, dailyRollup | .activity_and_fitness.readonly.activity_and_fitness.writeonly |
|
אק"ג (ECG)
dataType:
electrocardiogramfilter parameter: electrocardiogram
סוג הרשומה: סשן
מכשירים תואמים
|
list | .ecg.readonly |
|
פעילות גופנית
dataType:
exercisefilter parameter: exercise
סוג הרשומה: סשן
מכשירים תואמים
|
list, get, reconcile, create, update, batchDelete | .activity_and_fitness.readonly.activity_and_fitness.writeonly |
|
קומות
|
reconcile, rollup, dailyRollup | .activity_and_fitness.readonly.activity_and_fitness.writeonly |
|
אוכל
|
list, get | .nutrition.readonly.nutrition.writeonly |
|
יחידת מידה של אוכל
dataType:
food-measurement-unitfilter parameter: food_measurement_unit
סוג הרשומה: אוכל
מכשירים תואמים
|
list, get | .nutrition.readonly.nutrition.writeonly |
|
דופק
dataType:
heart-ratefilter parameter: heart_rate
סוג הרשומה: דוגמה
רזולוציית אחסון: שנייה אחת
מכשירים תואמים
|
list, reconcile, rollup, dailyRollup | .health_metrics_and_measurements.readonly.health_metrics_and_measurements.writeonly |
|
שונות קצב הלב
dataType:
heart-rate-variabilityfilter parameter: heart_rate_variability
סוג הרשומה: דוגמה
מכשירים תואמים
|
רשימה, התאמה | .health_metrics_and_measurements.readonly.health_metrics_and_measurements.writeonly |
|
גובה
|
list, get, reconcile, create, update, batchDelete | .health_metrics_and_measurements.readonly.health_metrics_and_measurements.writeonly |
|
יומן מאזן הנוזלים
dataType:
hydration-logfilter parameter: hydration_log
סוג הרשומה: סשן
|
list, get, reconcile, rollup, dailyRollup, create, update, batchDelete | .nutrition.readonly.nutrition.writeonly |
|
התראות על הפרעת קצב (AFib)
dataType:
irregular-rhythm-notificationfilter parameter: irregular_rhythm_notification
סוג הרשומה: סשן
|
list | .irn.readonly |
|
מחזור הווסת
dataType:
menstrual-periodfilter parameter: menstrual_period
סוג הרשומה: אינטרוולים
|
create, update, batchDelete | .reproductive_health.writeonly |
|
שינוי אווירה
|
create, update, batchDelete | .mindfulness.writeonly |
|
יומן תזונה
dataType:
nutrition-logfilter parameter: nutrition_log
סוג הרשומה: סשן
מכשירים תואמים
|
list, get, reconcile, rollup, dailyRollup, create, update, batchDelete | .nutrition.readonly.nutrition.writeonly |
|
בדיקת ביוץ
|
create, update, batchDelete | .reproductive_health.writeonly |
|
רמת החמצן בדם
dataType:
oxygen-saturationfilter parameter: oxygen_saturation
סוג הרשומה: דוגמה
רזולוציית אחסון: דקה אחת
מכשירים תואמים
|
רשימה, התאמה | .health_metrics_and_measurements.readonly.health_metrics_and_measurements.writeonly |
|
סיכום השינה: קצב הנשימה
dataType:
respiratory-rate-sleep-summaryfilter parameter: respiratory_rate_sleep_summary
סוג הרשומה: דוגמה
מכשירים תואמים
|
רשימה, התאמה | .health_metrics_and_measurements.readonly.health_metrics_and_measurements.writeonly |
|
ריצה – צריכת חמצן מרבית (VO2 max)
dataType:
run-vo2-maxfilter parameter: run_vo2_max
סוג הרשומה: דוגמה
מכשירים תואמים
|
list, reconcile, rollup, dailyRollup | .activity_and_fitness.readonly.activity_and_fitness.writeonly |
|
תקופת חוסר פעילות
dataType:
sedentary-periodfilter parameter: sedentary_period
סוג הרשומה: אינטרוולים
מכשירים תואמים
|
list, reconcile, rollup, dailyRollup | .activity_and_fitness.readonly.activity_and_fitness.writeonly |
|
חיישני טמפרטורת העור
v4beta
dataType:
skin-temperature-sensorsfilter parameter: skin_temperature_sensors
סוג הרשומה: דוגמה
מכשירים תואמים |
list | .health_metrics_and_measurements.readonly.health_metrics_and_measurements.writeonly |
|
שינה
dataType:
sleepfilter parameter: sleep
סוג הרשומה: סשן
מכשירים תואמים
|
list, get, reconcile, create, update, batchDelete | .sleep.readonly.sleep.writeonly |
|
השלבים
dataType:
stepsfilter parameter: steps
סוג הרשומה: אינטרוולים
רזולוציית אחסון: דקה אחת
מכשירים תואמים
|
list, reconcile, rollup, dailyRollup | .activity_and_fitness.readonly.activity_and_fitness.writeonly |
|
נתוני בריכות שחייה
dataType:
swim-lengths-datafilter parameter: swim_lengths_data
סוג הרשומה: אינטרוולים
מכשירים תואמים
|
list, reconcile, rollup, dailyRollup | .activity_and_fitness.readonly.activity_and_fitness.writeonly |
|
תסמינים
|
create, update, batchDelete | .logged_symptoms.writeonly |
|
זמן בטווח הדופק
dataType:
time-in-heart-rate-zonefilter parameter: time_in_heart_rate_zone
סוג הרשומה: אינטרוולים
רזולוציית אחסון: דקה אחת
|
list, reconcile, rollup, dailyRollup | .activity_and_fitness.readonly.activity_and_fitness.writeonly |
|
סה"כ קלוריות
dataType:
total-caloriesfilter parameter: total_calories
סוג הרשומה: אינטרוולים
רזולוציית אחסון: דקה אחת
מכשירים תואמים
|
rollup, dailyRollup | .activity_and_fitness.readonly.activity_and_fitness.writeonly |
|
צריכת החמצן המרבית (VO2 max)
dataType:
vo2-maxfilter parameter: vo2_max
סוג הרשומה: דוגמה
מכשירים תואמים
|
רשימה, התאמה | .activity_and_fitness.readonly.activity_and_fitness.writeonly |
|
משקל
dataType:
weightfilter parameter: weight
סוג הרשומה: דוגמה
מכשירים תואמים
|
list, get, reconcile, rollup, dailyRollup, create, update, batchDelete | .health_metrics_and_measurements.readonly.health_metrics_and_measurements.writeonly |
מגבלות על שאילתות
כששולחים שאילתות לגבי נקודות על הגרף, סיכומים או סיכומים יומיים מה-API, חשוב לזכור את המגבלות הבאות:
- דרישות סינון: סוגי נתונים מסוימים שנגזרים לקריאה בלבד, כמו
total-calories, דורשים מסנן שמציין את שעת ההתחלה של המרווח (באמצעות זמן פיזי או אזרחי). - מגבלות על טווח השאילתות: נקודות קצה של צבירת נתונים מצטברים ונתונים מצטברים יומיים אוכפות מגבלות מקסימליות על טווח השאילתות, בהתאם לסוג הנתונים:
- טווח שאילתה מקסימלי של 14 ימים ל-
calories-in-heart-rate-zone, ל-heart-rate, ל-active-minutesול-total-calories. - טווח שאילתות מקסימלי של 90 ימים לכל סוגי הנתונים האחרים.
- טווח שאילתה מקסימלי של 14 ימים ל-
- גודל חלון הסיכום: כשמפעילים את נקודת הקצה
rollUp, משך הזמן שלwindowSizeחייב להיות לפחות שנייה אחת ("1s"). משכי זמן של פחות משנייה נדחים עםINVALID_ARGUMENT. בנוסף, צריך לבחור ערך שלwindowSizeששווה לרזולוציית האחסון הבסיסית של סוג הנתונים או גדול ממנה (למשל"60s"לסוגי נתונים עם מרווחים של דקה אחת, כמוstepsו-distance) כדי למנוע חלוקה לא שווה בין מרווחי המשנה. לפרטים, ראו חלון סיכום ורזולוציית אחסון.
סוגי נתונים יומיים לעומת סוגי נתונים של מרווחי זמן
לגבי מדדים פיזיולוגיים מסוימים, כמו שונות בקצב הלב (HRV) או רמת החמצן בדם (SpO2), Google Health API מספק שני סוגי נתונים נפרדים: גרסה יומית וגרסת מרווח זמן. חשוב להבין את ההבדל כדי לבחור את המדד שמתאים לתרחיש לדוגמה שלכם:
יומי: סיכום אחד שנצבר מראש לכל היום. כדאי להשתמש בזה כדי לראות מגמות כלליות ומרכזי בקרה יומיים, וכך לחסוך בעיבוד.
מרווח: מדידות מפורטות ברזולוציה גבוהה שמתבצעות לאורך היום. אפשר להשתמש בזה כדי ליצור תרשימים של תנודות במהלך היום או לבצע ניתוח מעמיק, שעה אחר שעה.
זמינות הנתונים
הנתונים של המשתמשים מתעדכנים רק אחרי שהם מסנכרנים את מנהל המעקב אחר פעילות או מזינים נתונים חדשים באופן ידני באפליקציית Google Health. מכשיר Fitbit ואפליקציית Google Health יכולים להסתנכרן באופן אוטומטי כל 15 דקות כשאפליקציית Google Health פתוחה במכשיר הנייד, לשניהם יש חיבור נתונים פעיל והם נמצאים בטווח של Bluetooth. אם המשתמש עוקב אחר פעילות באמצעות MobileTrack, MobileTrack מסתנכרן כל שעה כל עוד האפליקציה פתוחה.
שליחת שאילתות לגבי נתונים היסטוריים
אחד מהיתרונות העיקריים של Google Health API הוא היכולת לעקוב אחרי הביצועים של המשתמש ולנטר את המדדים החיוניים שלו לאורך זמן. אתם יכולים לשלוח שאילתות על נתוני משתמשים עד למועד שבו הם תועדו. ה-API לא מטיל מגבלות או הגבלות על כמות הנתונים ההיסטוריים שהאפליקציה יכולה לצרוך.
עם זאת, שאילתות על נתונים היסטוריים עדיין כפופות למגבלות הקצב הרגילות. כדי לנהל את יציבות המערכת ולמנוע עומס יתר, Google Health API משתמש בחלוקה אוטומטית לדפים עם גודלי דפים ספציפיים לנקודות קצה. שימו לב לגבולות ולהתנהגות הבאים:
- חלוקה אוטומטית לדפים: אם אתם שולחים שאילתה על טווח נתונים ארוך, ה-API יחזיר רק את הדף הראשון של התוצאות עד למגבלת גודל הדף של נקודת הקצה הזו, יחד עם
nextPageToken. כדי לבקש את הדפים הבאים, צריך להשתמש ב-nextPageToken. - גודלי דפים משתנים: מגבלות המכסה תלויות בנקודת הקצה ובסוג הנתונים. ברוב סוגי הנתונים, גודל הדף מוגבל ל-10,000 לכל היותר.
עם זאת, בסוגי נתונים מסוימים כמו
exerciseו-sleep, גודל הדף המקסימלי וגודל ברירת המחדל מוגבלים ל-25. לדוגמה, אם לקוח מבקש את כל נתוני השינה מ-10 השנים האחרונות, ה-API עדיין יחזיר רק 25 רשומות שינה בדף הראשון. - הגבלות על טווחי תאריכים של אוסף נתונים: בנקודות קצה של אוסף נתונים וצבירת נתונים (כמו
rollUpו-dailyRollUp), טווחי התאריכים של השאילתות מוגבלים בהתאם לסוג הנתונים:- טווח מקסימלי של 14 ימים ל-
calories-in-heart-rate-zone,heart-rate,active-minutesו-total-calories. - טווח מקסימלי של 90 ימים לכל שאר סוגי הנתונים באוסף.
- טווח מקסימלי של 14 ימים ל-
בהתאם לנפח הנתונים ההיסטוריים שהאפליקציה צריכה, כדי לאחזר את כל מערך הנתונים צריך לעבור בין הדפים ברצף. חשוב לזכור את זה כשמתכננים את תהליך סנכרון הנתונים של האפליקציה.
כדי להבטיח ביצועים אופטימליים ולמנוע שגיאות ב-API, כדאי לפעול לפי ההנחיות הבאות כששולחים שאילתות לגבי נתונים היסטוריים:
סנכרון נתונים בשלבים (הפעלה חמה לעומת הפעלה מההתחלה)
- טעינה ראשונית "חמה": מאחזרים ומעבדים רק את הנתונים מ-7 עד 14 הימים האחרונים במהלך רצף הטעינה הראשי. כך המשתמשים רואים את הנתונים מיד, בלי לחכות לשאילתות ארוכות.
- טעינה "קרה" ברקע: אחרי שהממשק הראשי נטען, מעבירים את השליפה של נתונים היסטוריים ישנים יותר לתהליך ברקע או לתור אסינכרוני עם עדיפות נמוכה יותר.
חלוקת שאילתות לצבירת נתונים
- בגלל שבנקודות הקצה של צבירת הנתונים וצבירת הנתונים היומית יש מגבלה על טווח התאריכים המקסימלי (14 או 90 ימים, בהתאם לסוג הנתונים), צריך לפצל שאילתות גדולות של צבירת נתונים היסטוריים למרווחים קטנים יותר, בתוך המגבלות האלה.
- כדאי להריץ את שאילתות המשנה האלה באצווה או ברצף בצורה בטוחה, כדי לא לחרוג ממגבלות ההרצה בו-זמנית ולשמור על אינדיקטורים יציבים של התקדמות בממשק המשתמש.
שימוש באוספים נתונים שנצברו מראש
כדאי לשנות את המבנה של לוחות הבקרה של הסקירה הכללית ושל תרשימי המגמות, כך שישתמשו בנקודות קצה מסכמות שנצברו מראש (כמו DailyRollUpDataPoints). כך תוכלו לצמצם באופן משמעותי את התקורה של המחשוב בקצה העורפי ואת זמן ההעברה ברשת ללקוח.
טיפול בשגיאות עמיד (ניסיונות חוזרים חכמים)
- הטמיעו טיפול קפדני בהשהיה מעריכית לפני ניסיון חוזר (exponential backoff) כשאתם נתקלים במגבלות קצב (
429 Too Many Requests) ובזמן קצוב לתפוגה של שער השרת (504 Gateway Timeout). אף פעם אל תנסו שוב לשלוח מיד מטען ייעודי (payload) גדול שנכשל. ניסיונות חוזרים מיידיים מכפילים את העומס בקצה העורפי ומחמירים את הפגיעה במערכת.
גישה של צד שלישי
מכשירי Fitbit לא יכולים לתקשר ישירות עם אפליקציות או שירותים של צד שלישי. המכשירים האלה מיועדים לתקשר ולהסתנכרן רק עם אפליקציית Google Health.
המכשיר מסנכרן נתונים באופן אוטומטי במהלך היום, בכל פעם שאפליקציית Google Health פתוחה, או כל 15 דקות אם ה-Bluetooth פועל והאפליקציה פועלת ברקע. בסיום תהליך הסנכרון, הנתונים זמינים לשירותי צד שלישי דרך Google Health API.
סינון לפי איכות ותוקף הנתונים
כדי לספק מדדי בריאות מהימנים בלי לדרוש סינון רעשים מותאם אישית בצד הלקוח, Google Health API מאמת את נתוני הטלמטריה של החיישנים ומוציא מדידות לא חוקיות לפני החזרת התגובות:
- לרמת החמצן בדם ברמת הדקה (
oxygen-saturation), ה-API מחזיר רק קריאות מאומתות ומסיר דקות שסומנו כלא חוקיות בגלל תנועת זרוע, התאמה רופפת לפרק כף היד או ציון מהימנות של חיישן מתחת ל-50%, וגם את 3 הדקות לפני ואחרי קריאה לא חוקית וקטעים חוקיים מבודדים קצרים מ-4 דקות. לכן, יכול להיות שהכיסוי ברמת הדקה יהיה דליל וצפויים פערים. פרטים נוספים זמינים במאמר סינון SpO2 ברמת הדקה ותוקף הנתונים.
מרחק – רגיל
מרחקי התרגילים, כמו elevationGainMillimeters, נמדדים במילימטרים כיחידה הסטנדרטית מהסיבות הבאות:
- שמירה על דיוק הנתונים: הסיבה הכי חשובה לשימוש במילימטרים היא כדי לוודא שלא נאבד את הדיוק בנתונים שאנחנו קוראים ומספקים. שימוש ביחידה קטנה כמו מילימטרים מאפשר לנו לייצג מידות ברמת דיוק גבוהה.
- סטנדרטיזציה: מילימטרים הם יחידת המידה הסטנדרטית בשירותים שלנו. העקביות הזו עוזרת להבטיח חוויה אחידה למפתחים שמשתמשים בחלקים שונים של ה-API.
- תמיכה רחבה במערכות מדידה: שימוש ביחידת בסיס כמו מילימטרים מאפשר למפתחים להמיר בקלות לכל יחידה אחרת, בין אם הם עובדים עם מערכות מדידה מטריות, אימפריאליות או אחרות.
אורכי יום משתנים
הטיפול בזמן על ידי Health API נותן עדיפות לזמן של המשתמש כדי להביא בחשבון אורכי יום משתנים שנגרמים על ידי שעון קיץ או נסיעות. כל נקודת נתונים נשמרת עם חותמת זמן פיזית ב-UTC ועם הפרש השעות מ-UTC שהיה פעיל בזמן האירוע. כך המערכת יכולה:
- ממפים את האירוע לרגע פיזי מדויק.
- מתקנים את השעה לפי ההקשר המקומי של המשתמש לצורך צבירה.
שעון קיץ
כששעון הקיץ מסתיים, הזזת השעון שעה אחורה גורמת לכך שהיום האזרחי נמשך 25 שעות, והאוסף של אותו תאריך יכיל נתונים של 25 שעות. במעבר לשעון קיץ, היום האזרחי נמשך 23 שעות, והשעה חוזרת לשעון רגיל.
נסיעות
נסיעה בין אזורי זמן יכולה לגרום לשינויים משמעותיים עוד יותר במשך הזמן הפיזי של יום אזרחי אחד.
משתמשים בנקודת הקצה dailyRollUp כדי להתאים בין אזורי זמן שונים. המערכת משייכת באופן אוטומטי את הנתונים ליום הקלנדרי שבו הם תועדו לפי השעון המקומי של המשתמש, וכך "מחברת" את היום למרות השינויים באזורי הזמן. לפרטים נוספים ולעיון בדוגמאות, ראו צבירה לאורך ימים קלנדריים במדריך בנושא נתונים נצברים.