以有意义的方式可视化考勤数据

CTO*_*ton 5 database charts report google-sheets

我有看起来像这样的数据

+-----------+-------------+----------+------------+------------+
|   Date    |    Time     | Initials | Location 1 | Location 2 |
+-----------+-------------+----------+------------+------------+
| 8/26/2019 | 11:00:00 AM | BI       |         39 |         40 |
| 8/26/2019 | 1:30:00 PM  | Kk       |         12 |          2 |
| 8/27/2019 | 2:30:00 PM  | BH       |         18 |         37 |
| 8/28/2019 | 3:30:00 AM  | BH       |         23 |         29 |
+-----------+-------------+----------+------------+------------+
Run Code Online (Sandbox Code Playgroud)

输出结果应该与Google Maps“ Popular Times”图非常相似。

热门时间图表

我希望能够形象化

  1. 此位置上每个位置的图表(按小时显示的出勤率),即一周中每天的平均出勤率
  2. 我还希望能够指定一个给定的日期,例如:8/26/2019并提取该日期的确切数据

因此,我认为每个位置可能都有不同的图形,或者各个位置的数据在图形上显示为不同的彩色条。

最终,我将这些数据存储在电子表格中,并且不确定哪一种是报告此数据的最佳工具。我调查了数据工作室和Google Analytics(分析),仅使用工作表中的图表。

但是,问题似乎是:

由于数据可以是各种日期和时间。我不确定如何使用或使用哪些工具按给定的日期对数据进行分组,或对一周中给定的一天进行数据平均。我尝试使用数据透视表,但不确定如何基于该报告。

pla*_*er0 4

使用哪些工具按给定日期对数据进行分组,或对一周中给定日期的数据进行平均

=QUERY(QUERY(A2:E, 
 "select A,count(A),sum(D),sum(E),sum(D)+sum(E),avg(D),avg(E),avg(D)+avg(E),max(D)+max(E),min(D)+min(E)
  where A is not null 
  group by A", 0), 
 "offset 1", 0)
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述


=QUERY(A2:E, 
 "select A,count(A),sum(D),sum(E),sum(D)+sum(E),avg(D),avg(E),avg(D)+avg(E),max(D)+max(E),min(D)+min(E)
  where A is not null 
  group by A
  pivot C", 0)
Run Code Online (Sandbox Code Playgroud)

0


需要弄清楚如何接受此输入并按星期几进行安排

=ARRAYFORMULA(IF(A2:A, TEXT(A2:A, "ddd"), ))
Run Code Online (Sandbox Code Playgroud)

0


也可以按小时而不是仅按日期

=ARRAYFORMULA(IF(A2:A, TEXT(TIME(HOUR(B2:B), 0, 0), "hh:mm:ss"), ))
Run Code Online (Sandbox Code Playgroud)

0