database - MS Access - 计算

标签 database ms-access

我是经济学专业的学生,​​在数据科学方面没有太多经验。我试着尽可能具体地描述问题,如果有不清楚的地方请告诉我:)

我在期末论文的数据计算方面遇到了一些问题:

问题:我想分析一个包含 3 列和 2000 万行的数据集。 3 列分别是时间戳、用户(大约 130 个用户)和能耗(瓦特/秒)。

Data

在示例中,显示了数据集。时间戳基于 10-15 秒的间隔,并且这些时间戳是连续的。因此,使用时间戳 1458185209 进行的测量是使用时间戳 1458185109 进行测量后的 10-15 秒。这些时间戳是匿名生成的。但是,我知道确切的开始和结束时间以及测量日期。正好有 153 天。

根据这些信息,我想计算每个用户每天的平均消费量。比方说,有大约。数据集中 user1 的 300.000 个测量点。测量总时间为2个月。因此,用户的平均消费可以通过取时间戳 1 到时间戳 4918(300.000/61 天)的平均值来计算。

我想为给定时间段内所有天的所有用户执行此操作。

另一个问题是并非所有用户的测量值都相同。但是,可以在 153 天内平均分配测量值。例如,第一天用户 1 有 278 次测量,用户 2 有 313 次测量。

在图像中,您可以看到用户的总测量值和总消耗量。

我试图在 Access 中解决这个问题,但到目前为止我没有成功。我有任何提示或建议(最好在 Access 中),请告诉我:)

最佳答案

是否有可能不是所有用户的测量次数都相同,他们没有使用电源?如果没有零消耗的记录,那将很容易判断。

为了帮助理解间隔以及如何转换为有意义的东西,请查看以下代码。您需要在 Access 中做的就是计算日期/时间:DateAdd("s", Timestamp, #1/1/1970#)

Function Date_Timestamp()

' Timestamp should be # of seconds since 1/1/1970

Dim lTimestamp  As Long
Dim dStartDate  As Date
Dim dThisDate   As Date
Dim lSecPerMin  As Long
Dim lSecPerHr   As Long
Dim lSecPerDay  As Long
Dim lSecPerYr   As Long
Dim lNbrDays    As Long

dStartDate = #1/1/1970#

lTimestamp = 1460210005
lSecPerMin = 60
lSecPerHr = 60 * lSecPerMin     ' =      3,600
lSecPerDay = 24 * lSecPerHr     ' =     86,400
lSecPerYr = 365 * lSecPerDay    ' = 31,536,000      ** Don't use this (Leap Years!!)
lNbrDays = lTimestamp / lSecPerDay

' Just show the approximate date...
dThisDate = DateAdd("d", lNbrDays, #1/1/1970#)
Debug.Print "Timestamp: " & lTimestamp & vbTab & "# Days: " & lNbrDays & vbTab & "Date: " & dThisDate

' To be more precise, show the time also...
dThisDate = DateAdd("s", lTimestamp, #1/1/1970#)
Debug.Print "Timestamp: " & lTimestamp & vbTab & "Date/Time: " & dThisDate

End Function

关于database - MS Access - 计算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42393995/

相关文章:

php - 使用 phpmyadmin 进行数据库传输 - 编码问题

php - 我不知道如何编写 sql 查询来显示我想要的信息

ms-access - 使用变量来命名我正在制作的表

ms-access - 使用查询 Access 删除重复项

database - PostgreSql:获取格式奇怪的 "timestamp with time zone"

mysql - Sequelize端口不可更改

mysql - 备份非常大的 MySQL 数据库

vba - MS Access - 通过取消报告创建的 "phantom"进程

vb.net - 在 Access 中创建关系

c# - 如何在 .Net 上创建 Access 数据库备份?