访问:按平均绩效排名后 20% 的绩效者?
Access: Bottom 20% of Performers by Average Performance?
所以我的任务是每周使用 Access 数据库找出表现最差的 20%。鉴于每个工作人员基本上都有 5 天的数据价值,我对如何做到这一点有一个心理障碍,所以我需要按平均数而不是按个别天数找到最低的 20%。有没有办法在 Access 中执行此操作?或者我是否必须使用 excel 数据库并通过诸如数据透视表之类的东西找到每个人的平均值,然后将其导出到 Access 以找到底部的 20%?
感谢您的帮助!
我认为你需要过滤以获得正确的日期范围,然后按人分组以获得该周的平均分数,然后你可以使用 TOP ## PERCENT
语句来获得你需要的 20%
Select TOP 20 PERCENT Person, AverageScore
FROM (
Select Person, AverageScore = Average(Score)
FROM YourTable
WHERE YourDateColumn > dateadd("d", -7, date) and YourDateColumn <= date
Group By Person
) avgs
order by AverageScore desc
所以我的任务是每周使用 Access 数据库找出表现最差的 20%。鉴于每个工作人员基本上都有 5 天的数据价值,我对如何做到这一点有一个心理障碍,所以我需要按平均数而不是按个别天数找到最低的 20%。有没有办法在 Access 中执行此操作?或者我是否必须使用 excel 数据库并通过诸如数据透视表之类的东西找到每个人的平均值,然后将其导出到 Access 以找到底部的 20%?
感谢您的帮助!
我认为你需要过滤以获得正确的日期范围,然后按人分组以获得该周的平均分数,然后你可以使用 TOP ## PERCENT
语句来获得你需要的 20%
Select TOP 20 PERCENT Person, AverageScore
FROM (
Select Person, AverageScore = Average(Score)
FROM YourTable
WHERE YourDateColumn > dateadd("d", -7, date) and YourDateColumn <= date
Group By Person
) avgs
order by AverageScore desc