【问题标题】:Include NULL in each "Details Group" in SSRS在 SSRS 的每个“详细信息组”中包含 NULL
【发布时间】:2011-01-03 14:18:07
【问题描述】:

在 SSRS 中,我有一个列表,例如,一个包含两列的表:名称和编号,例如:

NAME NUMBER
John 123
John 456
John NULL

名称永远不会为空,但数字可能是。在这种情况下,我希望报告在每个组中包含 NULL,如下所示:

GROUP 1:
John NULL
John 123

GROUP 2:
John NULL
John 456

但是,SSRS 将 null 单独放在一个组中。我该如何做到这一点?

【问题讨论】:

    标签: sql-server vb.net grouping reporting-services ssrs-grouping


    【解决方案1】:

    您已告知 SSRS 在 NUMBER 列上进行分组,因此它将为 NUMBER 列中的每个值生成一个单独的组,然后显示这些行。要得到你想要的,你必须让数据集有你想要的行。

    Select Name, Number, cast(Number as varchar(50)) as displayvalue
    From mytable 
    UNION ALL
    Select m.Name, m.Number, 'NULL' as displayvalue
    From mytable m
    Where exists(Select 1 from mytable where Name=m.Name and Number is NULL)
    Group by Name, Number
    

    然后在 Number 列上分组,但在 DisplayValue 列上报告。

    【讨论】:

    • 您的解决方案使开销增加了一倍,但解决了问题。基于我在这里省略的其他细节,我最终使用了不同的方法。它还包括一个 CAST(number AS VARCHAR(25)),其中 null 被视为空字符串。放入几个案例,然后怪罪!问题解决了。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-25
    相关资源
    最近更新 更多