我一直在收集不同配置下不同时期的一些服务器延迟指标,我需要以图表的形式表示我的数据。
每个数据集都是在不同时间收集的,收集时间为 30 分钟(+/- 2 分钟)。数据集很大(每个约 15000 条记录)。
我需要在 excel 中绘制一个折线图,其中每条线代表一个时间序列。经过细化后,我有三列(纪元时间戳、延迟和生成的 HH:MM:SS 时间),示例如下。
timeStamp Latency Time
1511476257126 3307 22:30:57
1511476257391 3045 22:30:57
1511476257693 2741 22:30:58
1511476257994 2442 22:30:58
1511476259193 1241 22:30:59
1511476259492 945 22:30:59
1511476259791 630 22:31:00
1511476261492 296 22:31:01
1511476261494 314 22:31:01
1511476261514 343 22:31:02
1511476263481 294 22:31:03
1511476263483 298 22:31:03
1511476263484 296 22:31:03
1511476263492 938 22:31:03
1511476263494 300 22:31:03
1511476263507 288 22:31:04
1511476263556 385 22:31:04
1511476264300 301 22:31:04
1511476264347 312 22:31:04
1511476264361 293 22:31:04
我应该如何规范化这些数据来绘制所有数据集都对齐的时间序列。
答案1
我已设法按秒对数据进行规范化,我创建了一个额外的列,使用时间戳生成第二个值。要么使用时间戳列的=MIN(A:A)
位置A:A
;获取开始时间,要么通过静态设置最小值(以避免在大型数据集上进行大量计算)。
额外的列将使用=FLOOR.MATH(([@timeStamp]/1000)-(MIN(A:A)/1000))
,或者,以分钟为单位获取值=FLOOR.MATH(([@timeStamp]/1000)-(MIN(A:A)/1000))/60
。
现在我的表格如下所示:
timeStamp Latency Time
1511464884268 175 0
1511464886024 396 1
1511464886427 402 2
1511464886831 309 2
1511464887142 404 2
1511464887547 306 3
1511464887855 305 3
1511464888162 309 3
1511464888475 403 4
1511464888879 305 4
1511464889186 305 4
1511464889492 306 5
1511464889799 412 5
最后,从插入>数据透视表选择两列,然后启用两个字段,设置时间作为一个排, 和潜伏在价值观并将其编辑为“对值取平均值”。
现在我将每个单位时间(秒)分组为一行,并按平均延迟排序,然后将所有规范化表绘制到一张图表中。
示例输出
0 2152.666667
1 1364
2 404.4615385
3 346.1153846
4 342.90625
5 422.125
6 355.375
7 358.2156863
8 343.7868852
9 326.6323529
10 373.4225352
11 339.3684211
12 387.1914894
13 367.9545455
14 337.7978723
15 326.0181818