RDLC报告-分组中的重复数据问题

问题描述

我有一个RDLC报告,我想在其中按用户名和状态(具有打开和关闭的值)分组。当用户名的状态值同时存在时,我得到重复的用户名。

在表达式中,我使用了以下代码-

=IIf (
Fields!Status.Value.ToString().ToLower().Trim() = "open",Count(Fields!Status.Value),0 )

=IIf (
Fields!Status.Value.ToString().ToLower().Trim() = "closed",0)

我的输出是这个-Current Output

我想要此输出-Required Output

解决方法

我只会使用矩阵而不是表格。

然后您可以通过Username来创建一个行组,通过Status来创建一个列组,然后将值简单地设为=CountRows()

因此,将您的样本数据用作我的数据集查询。

declare @t table (UserName varchar(10),[Status] varchar(10))

INSERT INTO @t VALUES 
('User1','Closed'),('User2',('User3',('User4','Open')

select * from @t

创建一个新报告并添加一个矩阵控件。

将字段拖到相应的列标题和行标题,如下所示。 enter image description here

接下来,将“值”单元格的表达式设置为=CountRows()

这将为我们提供基本的矩阵输出。

enter image description here

下一步添加总计...

在主设计窗口下方的行和列组面板中,右键单击该组,然后依次选择“添加总计”和“之后”,然后对行和列组重复此操作。

再次将新单元格的表达式设置为=CountRows()

最终设计看起来像这样。

enter image description here

(请注意,所有显示表达式的单元格都设置了相同的=CountRows()表达式。)

最终输出看起来像这样(经过一些粗体和阴影之后)

enter image description here

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...