如何将特定字段的唯一计数添加到我的报告中?
Posted
技术标签:
【中文标题】如何将特定字段的唯一计数添加到我的报告中?【英文标题】:How can I add a unique count of a specific field to my report? 【发布时间】:2012-02-29 15:42:23 【问题描述】:我有一个 C# 程序,其输出如下所示(未展开的行):
还有这个(扩展行):
这是我的 Fill 方法的 SQL:
SELECT MBRSEP, LOCATION, BILLMOYR, RATE
FROM CAR1.CAV_MBRHISTDETL
WHERE (BILLMOYR IN ('1104', '1105', '1106', '1107', '1108', '1109')) AND (RATE = '0096')
ORDER BY BILLMOYR ASC, MBRSEP ASC
此报告显示的是 4 月、5 月、6 月、7 月、8 月和 9 月费率类型为 0096 的客户细分。
我希望看到每个不同客户 (MBRSEP) 的唯一计数(那几个月的唯一客户总数),但我不知道如何做到这一点。任何人都可以帮助或指出我正确的方向吗?这个小程序是使用 Visual Studio 2010 编写的,使用一个空白表单、一个数据绑定数据集和一个报表查看器控件。
编辑:另外,这里是报告设计屏幕上的报告源:
在设计器屏幕上,我假设有某种方法可以添加一个字段,该字段将显示报告中某个字段中唯一值的总数,但我不知道该怎么做。 (注意:为了清楚起见,我只是在报告的文本字段中添加了 SQL 语句)
【问题讨论】:
【参考方案1】:你试过s-s-rSCountDistinct函数吗?
【讨论】:
做到了。我在报告中添加了一个字段并输入:[CountDistinct(MBRSEP)],它就像一个魅力。非常感谢!【参考方案2】:如果我没看错的话,你想知道你有多少客户:
SELECT count(distinct MBRSEP) TotalCustomers
FROM CAR1.CAV_MBRHISTDETL
WHERE (BILLMOYR IN ('1104', '1105', '1106', '1107', '1108', '1109')) AND (RATE = '0096')
ORDER BY BILLMOYR ASC, MBRSEP ASC
【讨论】:
没错。我想获得不同 MBRSEP 的“计数”。正如您在上面发布的那样,我可以在查询中执行此操作,但是如何将其添加到我的报告中?我可以在报表设计屏幕中使用“TotalCustomers”字段吗? 对不起,我对报表查看器不熟悉。以上是关于如何将特定字段的唯一计数添加到我的报告中?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Access 2000 中关闭报告中的单词自动更改,如高度、宽度和计数