キンコミ kintone user community

みんなの投稿

時間帯別集計の方法教えてください。
電話の問い合わせ受付管理(電話受付1件に対し1レコード)を行っています。

受付日時で自動取得した時間を活かして、日付にかかわらず、
8時台何件、9時台何件というような集計をしたいと思うのですが、
時間だけのフィールドがないとこういった集計はできないのでしょうか。

また、時間だけのフィールドがあったとしても1時間単位か1分単位以外に、
30分単位や15分単位、10分単位など、分類を分けることはできますでしょうか。

2件のコメント (新着順)

こんにちは!!!
情報を1時間単位のグラフにして、グラフをCSV出力するのはいかがでしょうか。
大項目:受付日時(1時間単位)、集計方法:レコード数、ソート:大項目の昇順
にして棒グラフを選び、グラフ結果をCSV出力すると下記CSVが出力できます。

分単位も選べますが、10、15、30分単位はありません。

受付日時    レコード件数
yyyy/mm/dd 08:00 2件
yyyy/mm/dd 09:00 1件



・CSV出力
https://jp.cybozu.help/k/ja/user/app_collectdata/summarize/export_summary.html


あ、、、すみません。日付にかかわらずですね、、、、
こちらの方法だと日付が表示されて困りますね。すみません。

ありがとうございます。
折れ線で考えてましたが、棒でも見やすいですね。

endo4416さん

以下ようなアプローチでいかがでしょうか。テストで作ったアプリ画面を添付します。各フィールドの設定は以下の通り。

上段が、フィールドコード:フィールド種別
下段が、計算式
です。

日時:日時フィールド



kintoneの日付は1970年1月1日午前0時 協定世界時(UTC)からの経過秒数を数値でもっています。以下で確認できます。

日付数値:計算フィールド:◎数値
日時



1日の秒数は86400秒ですので、日付数値を86400秒で割って切り捨て後、86400秒で掛けることで当日午前0時の秒数がわかります。

日数数値切捨:計算フィールド:◎数値
ROUNDDOWN(日付数値/86400)*86400



日付数値から日数数値切捨を引くことで、当日午前0時からの経過秒数がわかります。

受付秒:計算フィールド:◎数値
日付数値-日数数値切捨



受付秒を3600秒で割って切り捨て後、3600秒を掛けることで1時間単位に分類された秒数がわかります。これを、DATE_FORMAT関数で整形したらOKです!

受付1時間単位:文字列(1行)フィールド:自動計算する
DATE_FORMAT(ROUNDDOWN(受付秒/3600)*3600, "HH:mm", "system")



受付30分単位なら1800秒、受付15分単位なら900秒で同様に計算することで、任意の秒単位で分類をすることができます。

文字列(1行)フィールドでDATE_FORMAT関数を使って整形するのではなく、計算フィールドの時刻を使う場合はタイムゾーン(時差)に注意してください。

日時フィールドは、ユーザーのタイムゾーンに沿って表示されます。日付フィールドと時刻フィールドは、ユーザーのタイムゾーンにかかわらず、すべてのユーザーで同じ日付や時刻が表示されます。計算フィールドもこれに準じているようです。

ただ分類できれば値はなんでもよいので、IF関数などをうまく利用するという方法もあるかと思います。

日時、日付、時刻に関連するヘルプリンクを掲載します。

日時
日付
時刻
日付、時刻、日時の計算
日付の値に応じて曜日を表示したい

参考になればうれしいです!


やはりフィールドを追加しないと、どうにもならないということですね。
ありがとうございました。
過去の履歴がたくさんあるので、なるべく追加せずにやれる方法を探しておりました。
楽にはいかないですね。。。