【问题标题】:RDLC report - Duplicate data issue in groupingRDLC 报告 - 分组中的重复数据问题
【发布时间】:2021-01-15 23:58:36
【问题描述】:

我有一个 RDLC 报告,我希望在其中按用户名和状态进行分组,该报告具有打开和关闭的值。当用户名的两个状态值都存在时,我得到重复的用户名。

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

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

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

我的输出是这个 - Current Output

我想要这个输出 - Required Output

【问题讨论】:

    标签: reporting-services rdlc ssrs-grouping ssrs-expression


    【解决方案1】:

    我会简单地使用矩阵而不是表格。

    然后你可以有一个Username 的行组,一个Status 的列组,然后值就是=CountRows()

    因此,使用您的示例数据作为我的数据集查询。

    declare @t table (UserName varchar(10), [Status] varchar(10))
    
    INSERT INTO @t VALUES 
    ('User1', 'Closed'),
    ('User2', 'Closed'),
    ('User3', 'Closed'),
    ('User3', 'Closed'),
    ('User3', 'Closed'),
    ('User3', 'Closed'),
    ('User3', 'Closed'),
    ('User3', 'Closed'),
    ('User4', 'Closed'),
    ('User4', 'Closed'),
    ('User4', 'Closed'),
    ('User4', 'Open')
    
    select * from @t
    

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

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

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

    这会给我们一个基本的矩阵输出。

    接下来要添加总数...

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

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

    最终的设计是这样的。

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

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

    【讨论】:

    • 非常感谢您的详细解释。现在可以正常使用了。
    • 很高兴为您提供帮助。如果这回答了您的问题,您能否将答案标记为已接受。
    • 我这样做了,但由于我是新用户,所以它给了我这样的信息 - “感谢您的反馈!声望低于 15 的投票被记录,但不要更改公开显示的后得分”。
    • 不要使用投票按钮,点击它们下方的“复选标记”。看看这篇文章以获得指导。 stackoverflow.com/help/someone-answers
    猜你喜欢
    • 2013-10-20
    • 2013-02-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-12
    • 1970-01-01
    • 2022-12-24
    相关资源
    最近更新 更多