我有一个这样的事件数据库:
事件名称、开始日期、开始时间、结束日期、结束时间
我需要找出每小时/每天/每周的并发事件(任何重叠事件)的数量等。
我该怎么办?
数据目前在 Excel 中,我尝试了一些公式,但发现 Excel 只是崩溃了成千上万条记录,因此我可以将其移植到 SQL 数据库或任何其他合适的建议(如果需要)。
我认为最简单的方法是使用数据库或独立的排序程序或子程序按时间升序挑选开始和停止事件,然后使用简单的程序或例程处理它们。
当您在事件中阅读时,保持打开事件的运行计数器 - 当您看到开始时添加一个,当您看到排序时减去一个。
然后,每次您选择一个新活动时,您都可以计算出距离上一个活动有多长时间,并且您知道在此期间有多少活动开放。因此,如果这是例如 5 分钟有两个事件打开,那么您已经看到了 10 个事件分钟的并发事件。
如果您将这些事件分钟加起来并除以从第一个事件到最后一个事件的时间长度,您将获得并发事件的平均数量的度量 - 如果您在第一个事件和最后一个事件之间选择一个随机瞬间,那么在该随机瞬间发生的平均并发事件数将是并发事件平均数的度量。