报告服务中同一字段的多个过滤条件

时间:2010-07-07 22:18:04

标签: reporting-services filter field conditional-statements

我在包含3个表的报告服务中有一个报告模型:

  • 背景
  • PersonBackgrounds

表的内容是:

(ID,NAME)

1,John Doe

2,Jane Doe

背景(ID,背景)

1,女性

2,男性

3,单身

4,结婚

PersonBackgrounds (PERSONID,BACKGROUNDID)

1,2 1,3,

如果我在SSRS中创建新数据集并添加过滤器以仅包含Males,则查询将按预期返回“John Doe”记录。但是,只要我添加第二个过滤器以返回“单个男性”,记录集就会为空。

是否可以在需要满足这两个条件的同一列/字段上安装多个过滤器。或者还有其他方法可以获得吗?

1 个答案:

答案 0 :(得分:0)

我不知道如何在报告中使用过滤器,但使用SQL可以做到:

Select  p.*
From    Persons p 
        INNER JOIN PersonBackgrounds pb1 ON p.ID = pb1.PersonID
        INNER JOIN PersonBackgrounds pb2 ON p.ID = pb2.PersonID
WHERE
    pb1.BackgroundID = 2    --Male
AND pb2.BackgroundID = 3    --Single

您需要两次加入PersonBackgrounds表,因为您正在使用它,就像两个不同的查找表一样。