在SQL中创建组作为占位符

时间:2017-04-05 18:13:17

标签: sql reporting-services

我有一个要在SSRS报告中显示的数据集。 这是数据:

Board   TicketGroup TicketType  TicketCnt
Support Closed      Closed      79
Support Closed      FCR         13
Support Open        Open        12
Support Submitted   Submitted   91

我想在条形图中显示数据,如下所示: enter image description here

我不确定是否可以使用当前查询并配置SSRS报告来显示这样的组。但是,如果我可以创建查询,以便像这样返回组:

Board   TicketGroup TicketType  TicketCnt
    Support Closed      Closed      79
    Support Closed      FCR         13
    Support Closed      Open        0
    Support Closed      Submitted   0
    Support Open        Open        12
    Support Open        Closed      0
    Support Open        FCR         0
    Support Open        Submitted   0
    Support Submitted   Submitted   91
    Support Submitted   Open        0
    Support Submitted   Closed      0
    Support Submitted   FCR         0

使用这些数据,我可以创建一个不显示0值的图表。

1 个答案:

答案 0 :(得分:0)

您需要一堆cross join来生成董事会,故障单组和故障单类型的所有组合,然后将其与您的桌子联系起来:

select b.board,
    g.ticketGroup,
    t.ticketType,
    coalesce(t2.ticketCnt, 0) as ticketCnt
from (
    select distinct board
    from your_table
    ) b
cross join (
    select distinct ticketGroup
    from your_table
    ) g
cross join (
    select distinct ticketType
    from your_table
    ) t
left join your_table t2 on b.board = t2.board
    and g.ticketGroup = t2.ticketGroup
    and t.ticketType = t2.ticketType;