Tsql SSRS Tablix或DB视图中的条件组

Tsql SSRS Tablix或DB视图中的条件组,tsql,ssrs-2008,ssrs-grouping,Tsql,Ssrs 2008,Ssrs Grouping,我创建了一个报告,该报告应该使用tablix对数据进行分组,如下所示: Region | State | Customer | CustomerKey | Status North | NY | Bob | 111 | VIP | | Mary | 112 | VIP | MA | Bob | 111 | Regular

我创建了一个报告,该报告应该使用tablix对数据进行分组,如下所示:

Region  |  State  |  Customer  |  CustomerKey | Status
North   | NY      |  Bob       |  111         | VIP
        |         |  Mary      |  112         | VIP
        | MA      |  Bob       |  111         | Regular
        |         |  Tim       |  113         | Regular
East    | MD      |  Greg      |  114         | VIP
        | VA      |  Bob       |  111         | VIP
West    | CA      |  Greg      |  114         | Regular
        |         |  Mary      |  112         | VIP
        |         |  Sean      |  115         | Regular
        | WA      |  Sean      |  115         | VIP
这是相对容易的,因为我正在使用一个包含所有适当字段和关系的视图来简化tablix中的分组。我只是遇到了VIP客户的问题。 在视图中,具有VIP身份的客户也具有具有常规身份的重复记录。例如,数据存储如下:

Region  |  State  |  Customer  |  CustomerKey | Status
North   | NY      |  Bob       |  111         | VIP
North   | NY      |  Bob       |  111         | Regular
North   | NY      |  Mary      |  112         | VIP
North   | NY      |  Mary      |  112         | Regular
North   | MA      |  Bob       |  111         | Regular
North   | MA      |  Tim       |  113         | Regular
East    | MD      |  Greg      |  114         | VIP
East    | MD      |  Greg      |  114         | Regular
East    | VA      |  Bob       |  111         | VIP
East    | VA      |  Bob       |  111         | Regular
West    | CA      |  Greg      |  114         | Regular
West    | CA      |  Mary      |  112         | VIP
West    | CA      |  Mary      |  112         | Regular
West    | CA      |  Sean      |  115         | Regular
West    | WA      |  Sean      |  115         | VIP
West    | WA      |  Sean      |  115         | Regular
Region  |  State  |  Customer  |  CustomerKey | Status
North   | NY      |  Bob       |  111         | VIP
        |         |            |              | Regular
        |         |  Mary      |  112         | VIP
        |         |            |              | Regular
        | MA      |  Bob       |  111         | Regular
        |         |  Tim       |  113         | Regular
East    | MD      |  Greg      |  114         | VIP
        |         |            |              | Regular
        | VA      |  Bob       |  111         | VIP
        |         |            |              | Regular
West    | CA      |  Greg      |  114         | Regular
        |         |  Mary      |  112         | VIP
        |         |            |              | Regular
        |         |  Sean      |  115         | Regular
        | WA      |  Sean      |  115         | VIP
        |         |            |              | Regular
因此,我的SSRS报告显示的数据如下:

Region  |  State  |  Customer  |  CustomerKey | Status
North   | NY      |  Bob       |  111         | VIP
North   | NY      |  Bob       |  111         | Regular
North   | NY      |  Mary      |  112         | VIP
North   | NY      |  Mary      |  112         | Regular
North   | MA      |  Bob       |  111         | Regular
North   | MA      |  Tim       |  113         | Regular
East    | MD      |  Greg      |  114         | VIP
East    | MD      |  Greg      |  114         | Regular
East    | VA      |  Bob       |  111         | VIP
East    | VA      |  Bob       |  111         | Regular
West    | CA      |  Greg      |  114         | Regular
West    | CA      |  Mary      |  112         | VIP
West    | CA      |  Mary      |  112         | Regular
West    | CA      |  Sean      |  115         | Regular
West    | WA      |  Sean      |  115         | VIP
West    | WA      |  Sean      |  115         | Regular
Region  |  State  |  Customer  |  CustomerKey | Status
North   | NY      |  Bob       |  111         | VIP
        |         |            |              | Regular
        |         |  Mary      |  112         | VIP
        |         |            |              | Regular
        | MA      |  Bob       |  111         | Regular
        |         |  Tim       |  113         | Regular
East    | MD      |  Greg      |  114         | VIP
        |         |            |              | Regular
        | VA      |  Bob       |  111         | VIP
        |         |            |              | Regular
West    | CA      |  Greg      |  114         | Regular
        |         |  Mary      |  112         | VIP
        |         |            |              | Regular
        |         |  Sean      |  115         | Regular
        | WA      |  Sean      |  115         | VIP
        |         |            |              | Regular

如果用户的状态为VIP,我不关心他们的记录以及他们的常规状态(针对特定的地区/州)。我是否可以有条件地隐藏这些内容?提前感谢

就我个人而言,我会首先考虑在数据库查询级别解决这个问题

也就是说,在报告级别的一种方法是根据地区、州和客户设置组,然后在状态列中可以有如下表达式:

=IIf(CountRows("CustomerGroup") = 2, "VIP", "Regular")

它有点笨重,但应该可以工作,因为似乎每个客户都可以在地区/州级别拥有一行或两行-如果两行必须是VIP,由于您已经设置了一个a组,您将在每个地区/州组合中为客户获得不同的值。

我个人将首先在数据库查询级别解决这个问题

也就是说,在报告级别的一种方法是根据地区、州和客户设置组,然后在状态列中可以有如下表达式:

=IIf(CountRows("CustomerGroup") = 2, "VIP", "Regular")

这有点笨重,但应该可以工作,因为似乎每个客户都可以在区域/州级别拥有一行或两行-如果两行必须是VIP,并且由于您设置了一个组,您可以在每个区域/州组合中为客户获得不同的值。

谢谢Ian,但tablix似乎仍然反映了这两行,即使我试图告诉它计算父组的行数。我同意在DB端进行更改更为实际,考虑在CASE Status行中添加一个CASE列,如“ParentStatus”,当“Regular”结束时为空,否则为“VIP”结束…您需要做的是设置三个组,而不设置默认创建的详细信息组-因为只有一个不同的区域/状态/组合,您不需要它。因此,显示的行实际上是客户组标题行;当你做CountRows时,它在实际组的范围内,而不是父组。但你是对的,DB可能更容易。。。我可以想出各种解决方法(包括上面的方法),但是如果你能在较低的层次上解决这个问题,它们都是没有意义的。谢谢你,伊恩,但是tablix似乎仍然反映了这两行,即使我试着告诉它计算父组的行数。我同意在DB端进行更改更为实际,考虑在CASE Status行中添加一个CASE列,如“ParentStatus”,当“Regular”结束时为空,否则为“VIP”结束…您需要做的是设置三个组,而不设置默认创建的详细信息组-因为只有一个不同的区域/状态/组合,您不需要它。因此,显示的行实际上是客户组标题行;当你做CountRows时,它在实际组的范围内,而不是父组。但你是对的,DB可能更容易。。。我可以想出各种解决方法(包括上面的方法),但是如果你能在较低的层次上解决这个问题,它们都是没有意义的。