首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SQL Server报表生成器-显示子组的计数

SQL Server报表生成器-显示子组的计数
EN

Stack Overflow用户
提问于 2013-05-10 03:22:38
回答 1查看 7.4K关注 0票数 4

我有一个显示客户订单数据的SQL Server Reporting Services报表,但它按如下方式分组:

代码语言:javascript
复制
Store
    Customer
        Customer Order Items

因此,每个报表都是一个商店分组,每个商店有一个客户子组,然后是每个客户的项目。我试图在报告中适当组的每个标题记录中显示总销售额和其他信息。其中大部分都工作得很好,但对于每个商店标题记录,我希望显示客户的计数。我正在尝试使用RowCount、CountDistinct和其他聚合函数的一些变体和\或组合,但无济于事。

有人能帮我确定如何在商店级别标题中显示客户组的“计数”吗?蒂娅!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-05-10 04:11:22

客户上的CountDistinct应该工作得很好-如果它在商店组标题行中,则不需要指定范围。

我做了一个简单的测试。

数据:

设计器中的报表:

需要注意的最重要的事情是商店标题行中的CountDistinct on Customer;这只是所使用的表达式:

代码语言:javascript
复制
=CountDistinct(Fields!customer.Value)

最终结果,显示正确的值:

如果我遗漏了什么,请告诉我。

注释后编辑:

提前为这件事花了多长时间道歉。

之前的报告确实有Store和Customer的行组,但我已经修改了它,希望它更清楚。仍然基于相同的DataSet:

您可以看到有三个行组,报告中的每一行实际上都是属于其中一个组的组标题行。

在Store group header行中,我保留了相同的CountDistinct表达式。我还添加了一个CountRows()表达式,以显示每个不同组中实际有多少行可用。

在这里您可以看到,对于Store1,CountRows正在返回4,即,我们在此范围内聚合了四行,这就是我们在DataSet中所期望的。

类似地,当我们在Store作用域中应用=CountDistinct(Fields!customer.Value)时,我们正在考虑这些相同的4行,并且我们看到Store1有两个不同的客户,这在我看来是正确的。

对于Store2,我们总共考虑了6行,它们有三个不同的客户。同样,只要应用=CountDistinct(Fields!customer.Value),我们就可以获得正确的值。

希望这份重新编排的报告能帮助澄清问题。如果我仍然没有得到你的要求,你能解释一下基于我的样本DataSet的样本报告中的哪些数字是错误的吗?这样我就可以很容易地调整我这边的东西。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16469521

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档