4

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

Store
    Customer
        Customer Order Items

因此,每个报告都是一组商店,每个商店有一个客户子组,然后是每个客户的商品。我试图在报告中相应组的每个标题记录中显示汇总销售和其他信息。其中大部分运行良好,但对于每个商店标题记录,我想显示客户数量。我正在尝试使用 RowCount、CountDistinct 和其他聚合函数的一些变体和/或组合,但无济于事。

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

4

1 回答 1

6

CountDistincton Customer应该可以正常工作 - 如果它位于Store组标题行中,则无需指定范围。

我把一个简单的测试放在一起。

数据:

在此处输入图像描述

设计师报告:

在此处输入图像描述

最需要注意的是商店标题行中的CountDistincton Customer ;这只是使用的表达式:

=CountDistinct(Fields!customer.Value)

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

在此处输入图像描述

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

评论后编辑:

提前道歉多久了。

之前的报告确实有StoreCustomer的行组,但我已经修改了它以使其更清晰,希望如此。仍然基于相同的DataSet:

在此处输入图像描述

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

商店组标题行中,我保留了相同的CountDistinct表达式。我还添加了一个CountRows()表达式来显示每个不同组中可用的实际行数。

在此处输入图像描述

在这里,您可以看到Store1CountRows正在返回4,即我们在此范围内聚合了四行,这是我们期望查看 DataSet 的结果。

同样,当我们=CountDistinct(Fields!customer.Value)Store范围内应用时,我们正在考虑这4行,我们看到Store1有两个不同的客户,这对我来说似乎是正确的。

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

希望这个重新调整的报告有助于澄清问题。如果我仍然没有得到您的要求,您能否根据我的示例数据集解释我的示例报告中的哪些数字有误?这样我就可以轻松地调整自己的事情。

于 2013-05-09T20:11:22.127 回答