访问 XP 报表总和计算

Posted

技术标签:

【中文标题】访问 XP 报表总和计算【英文标题】:Access XP report sum calculation 【发布时间】:2012-06-27 10:43:01 【问题描述】:

我正在添加一个反馈数据库,该数据库用于处理各种服务的呼叫中心。

需要添加的部分内容是一份报告,该报告显示特定 CSO(客户服务官)所做的每项服务的总条目。输入信息时,会通过一个包含 2 个下拉菜单的表单 - 一个用于 CSO 名称,一个用于与条目相关的服务。

我希望能够通过查询运行报告,其中将输入 CSO 名称和服务以及日期期间,输出将是一份报告,其中包括每项服务的总数(不仅仅是一个输入)CSO 已收到反馈。

我希望这是有道理的,而且我确信有一个非常简单的解决方案或公式!

我正在尝试将其放入我已经在其查询中使用以下 SQL 代码的报告中:

SELECT [Query Main].[Entry No], [Query Main].[Log Entry Date], [Query Main].[Log Entry Time], [Query Main].[Daily Feedback].[CSO Name], [Query Main].[CSO Team], [Query Main].[Reference Number(s)], [Query Main].Address, [Query Main].[Feedback Comments], [Query Main].[Customer?], [Query Main].[Back Office?], [Query Main].Specify, [Query Main].[Feedback done by], [Query Main].[Feedback date], [Query Main].[CSO Comments], [Query Main].Agents.[CSO Name], [Query Main].Service, [Query Main].[Date of Error], [Query Main].[Entered By], [Query Main].[Is this CSO Feedback?]  
FROM [Query Main]  
WHERE ((([Query Main].Service)=[Enter Service Name]) AND (([Query Main].[Date of Error]) Between [Enter beginning date (dd/mm/yy)] And [Enter ending date (dd/mm/yy)]) AND (([Query Main].[Is this CSO Feedback?])="Yes" Or ([Query Main].[Is this CSO Feedback?]) Is Null));`    

【问题讨论】:

如果您希望在有反馈的地方返回所有服务,为什么您需要在选择中使用它? 感谢您的回复,在我目前拥有的报告中,它显示了反馈的内容和详细信息,例如日期和 CSO 名称和服务等,以及反馈的结果。但是我想在指定的 CSO 的两个日期范围之间创建一个细分,报告将显示我们对他们处理的每项服务有多少总反馈。基本上是为了看看他们是否从特定服务中获得了太多的反馈,需要更多的培训等等。我希望它可能涉及一些简单的 SQL 编码来做到这一点,我担心在这方面我完全没用! 【参考方案1】:

这将为您提供一个起点 - 如果您不想深入研究 SQL 本身,可以使用 Totals 查询

SELECT CSO,Service,Count(Feedback) 
FROM MyData 
WHERE FeedbackDate between DateStart and DateEnd
   AND CSO=[CsoName]
GROUP BY CSO,Service;

我建议研究一下学习 SQL,即使它只是为了键入比在查询构建器上拖放更快的情况

旁注:我已经很久没有使用查询生成器了,我必须先编写 SQL,然后查看更改视图时激活了哪些按钮

SQL 解释:

SELECT CSO,Service,Count(Feedback) - 你想返回什么。在这种情况下,CSO、服务和反馈计数。它如何决定要计算的反馈稍后在 SQL 中FROM MyData - 我们要从哪个表(或查询)获取信息WHERE FeedbackDate between DateStart and DateEnd AND CSO=[CsoName] - 我们要如何选择数据@ 987654325@ 这是决定计数的方式 - 在这种情况下,我们将所有 CSO 和服务分组在一起,然后计算为每个组找到的反馈数。

首先,根据我们对日期范围的限制以及我们对哪个 CSO 感兴趣,查询将获得所有 CSO、服务和反馈的列表。 然后它将所有相同的 CSO 和服务放入,并统计它找到的反馈数。 最后,它会给你这个列表,所以你最终会得到类似的东西:

CSO   Service       CountOfFeedback
FRED  Open account  11
FRED  Close Account 2
FRED  Send Order    47

【讨论】:

您在哪里说 SELECT CSO,Service,Count(Feedback),反馈与什么有关?表的名称或表/查询中的字段?我当然会尝试接受您的建议并学习 SQL!如果我经常这样做,肯定会是前进的方向 修改了解释 SQL/Query 的答案 谢谢,这绝对有帮助。有没有办法可以将其放入报告的当前查询中?我在上面的问题中添加了此查询的 SQL 视图代码。再次感谢 在您的报告中,对服务进行分组。只需使用以下表达式添加一个字段:=count([Service]) 并将该字段放在您的服务页眉或页脚中。 我应该在表格中添加这个字段吗?还是作为查询的 SQL 编码中“SELECT”组的一部分?

以上是关于访问 XP 报表总和计算的主要内容,如果未能解决你的问题,请参考以下文章

获取报表页脚水晶报表c#中每页的字段总和

微软访问报表汇总功能

获取水晶报表中每页字段的总和

实现报表数据预先计算

使用表格中计算的金额访问 2010 报表计算

实现报表数据的可控缓存