公開日:
こんにちは!サポートチームのちくわです。
前回は、こどもの睡眠時間のデータを、kintoneを使って可視化する、の準備編でした。
それを受けて今回は、前回用意したデータをgusuku Customine(以下、カスタマイン)のカスタマイズでkintoneの別アプリに加工して追加したり、追加したレコードを元にグラフに表示して可視化するといったことを行ったので、その内容をご紹介できればと思います。
使用するサンプルデータ
我が家ではぴよログというアプリで育児記録を行っています。このアプリでは食事や睡眠、排泄をはじめこどもの様々なアクションを記録できます。
前回準備したのは、このアプリにためておいた育児記録データから取得した睡眠についてのデータになります。
その取得したデータをChat-GPTに整形してもらい、kintoneアプリに「ファイルからレコードのデータをアプリに読み込む」機能を用いてcsvファイルを読み込み、kintoneアプリを作成しました。

そしてそのkintoneアプリの各レコードの時刻を「時刻の差を計算する」で計算した結果をセットして用意したのがこちらです。

セットした睡眠時間を合計して別アプリに追加し、1日の睡眠時間を日付ごとに並べたグラフを表示する
前回行おうとしたのは、「セットした睡眠時間を合計して別アプリに追加していくようにして、1日の睡眠時間を日付ごとに並べたグラフを表示する」なのですが、準備で終わってしまったので、今回はこれをメインにやっていきます。
セットした睡眠時間を合計して別アプリに追加する
まず「セットした睡眠時間を合計して別アプリに追加する」ですが、前回の準備編で「寝る」のレコードの時刻から「起きる」のレコード時刻の差を睡眠時間として計算してあります。
これを複数レコードの日付単位で合計し、1日付1レコードとして集計用の睡眠時間集計アプリにレコードを追加したのがこちらです。

使用したカスタマイズはこちらです。

1イベント1レコードの構成である集計元アプリ(kintone_events_sleepwake_only)から「起きる」のレコードを取得して・・あれ・・?

結果的には、この条件でも「起きる」のレコードを取得することにはなるのですが、 ”睡眠時間が0ではないレコードを取得する” なんてなんとなくすぎやしないか・・
ということが頭によぎりました。
結果的にどちらの検索条件でも行いたいことは行えるのですが、これは要件定義が甘いのですよね。ロジック、大事です。
まずは試しに作ってみよう!ができるのがkintoneやカスタマインのいいところなのですが、ある程度方向性みたいなものがないと無駄に迷うことになるのではないかと思います。
ということで・・

仕切り直してカスタマイズを修正しました。
アクション2番で、1イベント1レコードである集計元アプリ(kintone_events_sleepwake_only)から「起きる」のレコードを取得します(取得イメージは以下の画像です)

ここから、日付ごとに睡眠時間を合計したいので、アクション4番では日付フィールドをキーに重複を除去して1日付1レコードのかたまりを取得します(取得イメージは以下の画像です)

1日付1レコードのかたまりが取得できたので、1日付ごとに睡眠時間の合計を出すために、アクション5番では日付フィールドをキーに、1日付ごとのレコードを取得します。
1日付ごとのレコード取得で全行取得できたらそのまとまりの睡眠時間の合計を計算します。
具体的には・・
- 日付が2022-03-01であるレコード(16件)を取得→16件の睡眠時間の合計を計算
- 日付が2022-03-02であるレコード(15件)を取得→15件の睡眠時間の合計を計算
- 日付が2022-03-03であるレコード(13件)を取得→13件の睡眠時間の合計を計算
というように1日付ごとで取れる複数レコードの合計値を計算する処理を実行します。
そして日付、合計値(睡眠時間の分単位のもの)、合計値(睡眠時間の時間単位のもの)をセットしたレコードを睡眠時間集計アプリに追加します。

「合計値(睡眠時間の時間単位のもの)」は、「合計値(睡眠時間の分単位のもの)」を60で割って「round 関数」で四捨五入したものをセットする、というシンプルなものです。
ちなみに「roundup 関数」で切り上げもできますし、「rounddown 関数」で切り下げもできます。
完全に脱線しますが、このブログを書くためにドキュメントを見ていたら「abs 関数」を見つけました。
私は弊社に入社してからカスタマインを触り始め、4年目になるのですが、この関数は1度も試してみたことがないです・・まだまだカスタマイン勉強不足です・・^^;
1日の睡眠時間を日付ごとに並べたグラフを表示する
では睡眠時間集計アプリに追加したレコードをグラフで表示してみます。
これを見ると・・

一概には言えませんが、グラフの上の方に振れている日は比較的穏やかに過ごせ、下に振れている日は世話するのに追われたor寝つくのに時間がかかった(その間つきっきりで神経をすり減らしていたw)ということだったのでしょう!
結構ばらつきがありますが、これは
- 元々のアプリへの手入力の正確性
- 抽出後の整形
- kintoneアプリに読み込ませてから集計アプリへ移す際の計算
などなど幾多ものステップを踏んだものなので、データとしてかなり怪しいものになった影響もあると思います。
データの移行って大変ですよね。。
まとめ
今回は、こどもの睡眠時間のデータを、kintoneを使って可視化するのに色々行ったことをご紹介しました。
あまり見られないテーマで事例と呼べるほどのものではないですが、kintoneの面白い活用の1つになってたらいいなと思います。
それではまたお会いしましょ〜
投稿者プロフィール
-
gusuku Customine サポートのひとりです
いつかまた 京都大作戦 に行きたいです
いつか RISING SUN ROCK FESTIVAL にも行ってみたいです






