【问题标题】:Access Average Problems Between Names and Dates访问姓名和日期之间的平均问题
【发布时间】:2016-03-24 23:15:49
【问题描述】:

我的数据库大致如下:

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

简·多伊
2016 年 1 月 1 日
销售额 85 美元
2016 年 1 月 2 日
销售额 110 美元

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

但是,我无法弄清楚如何将某个名称下的所有内容平均化。使用 Avg、DAvg 和一些“分组”控件并没有产生任何可用的东西。 DAvg 让我最接近,但它会将每个人平均在一起,而不是按每个人的名字(查询中的“员工姓名”)来区分。

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

谢谢大家!

【问题讨论】:

    标签: sql ms-access report average


    【解决方案1】:

    它应该遵循这一行:

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

    随着几周的时间跨过新年,它会变得更加复杂。

    【讨论】:

    • 没有我可以使用的任何类型的“计算字段”公式吗?做你上面的事情,我不明白一个月的日子是如何计算的?我们的日历是一个会计日历,所以如果他们想要一周,他们实际上在一个字段中选择 2016 年 1 月 1 日,在另一个字段中选择 2016 年 1 月 7 日。看起来如果我只是从分组中取出日期,它会在一定程度上起作用,但如果可能的话,我希望它作为一个计算字段(使用像 DAvg 这样的东西,我可以在其中指定某种条件) .
    • 查询按原样计算整个表。如果您只想要一个间隔,只需插入一个 Where 子句和 FromDateToDate 的参数。
    • 好的。我会在今天或星期一试一试。非常感谢先生。
    • 我尝试将您的解决方案应用于我的信息,但没有运气。它不会平均跨日期的“销售额”,就像它只是给我当天的平均销售额,这只是原始数据数字。
    • 当然,如果您只筛选单个日期,则没有什么可平均的。您必须按时间间隔过滤 - 就像我展示的一个月。
    猜你喜欢
    • 1970-01-01
    • 2018-08-02
    • 2021-02-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多