Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 访问名称和日期之间的平均问题_Sql_Ms Access_Report_Average - Fatal编程技术网

Sql 访问名称和日期之间的平均问题

Sql 访问名称和日期之间的平均问题,sql,ms-access,report,average,Sql,Ms Access,Report,Average,我的数据库大致如下所示: 约翰·史密斯 2016年1月1日 销售额80美元 2016年1月2日 销售额100美元 无名氏 2016年1月1日 销售额85美元 2016年1月2日 销售额110美元 我的报告设置为在名称和日期上分开(实际上,b/c的数字不仅仅是销售额,但我正在简化这个问题)。 我需要找到每个人一周、四周和一个月的平均值。我可以使用我制作的表单控制报告中指定的日期范围,这样我就可以让他们单击一个按钮,自动填充基于今天的时间范围(一周将是前7天,等等) 然而,我不知道如何使它在一个名称

我的数据库大致如下所示:

约翰·史密斯
2016年1月1日
销售额80美元
2016年1月2日
销售额100美元

无名氏
2016年1月1日
销售额85美元
2016年1月2日
销售额110美元

我的报告设置为在名称和日期上分开(实际上,b/c的数字不仅仅是销售额,但我正在简化这个问题)。
我需要找到每个人一周、四周和一个月的平均值。我可以使用我制作的表单控制报告中指定的日期范围,这样我就可以让他们单击一个按钮,自动填充基于今天的时间范围(一周将是前7天,等等)

然而,我不知道如何使它在一个名称下平均所有内容。使用Avg、DAvg和一些“分组”控件并没有产生任何可用的结果。DAvg给了我最接近的答案,但它会将每个人平均在一起,而不是按每个人的名字(在查询中是“员工姓名”)来划分

任何帮助或想法都将不胜感激!我不在乎这是对查询语言还是报表本身的修改,因为我在一定程度上精通VBA、SQL和Access。我是在Excel中工作的,所以我不是Access专业人士,但我擅长Excel。不幸的是,这并不能解决我的问题,哈哈!哦,等等,这不好笑…啊


谢谢大家

它应该遵循这条线:

Select Person, Avg(Sales), Format(yyyymm, [Date])
From YourTable
Group By Person, Format(yyyymm, [Date])

几周之后,随着新年的到来,它变得更加复杂。

难道没有一个“计算字段”公式我可以用任何形式吗?照你上面说的做,我不知道一个月的天数是怎么计算的?我们的日历是财政日历,所以如果用户想要一周,他们实际上会在一个字段中选择2016年1月1日,在另一个字段中选择2016年1月7日。看起来,如果我只是将日期从分组中去掉,它会在一定程度上发挥作用,但如果可能的话,我希望它作为一个计算字段(使用类似于DAvg的东西,我可以在其中指定某种条件)。查询按原样计算整个表。如果只需要一个间隔,只需插入一个Where子句和FromDate和ToDate的参数。好的。我将在今天或星期一试一试。非常感谢,先生。我试过将您的解决方案应用于我的信息,没有运气。它不是对不同日期的“销售额”进行平均,就像它只是给了我那一天的平均销售额,这只是原始数据数字。当然,如果你只对一个日期进行过滤,就没有什么可平均的了。你必须隔一段时间过滤,就像我展示的一个月。