2010-07-07 90 views
0

我在报告包含3个表服务报表模型:多重过滤条件

  • 背景
  • PersonBackgrounds

表的内容是:

( ID,NAME)

1,John Doe的

2,Jane Doe的

背景(ID,背景)

1,女

2,公

3,Single

4,已婚

PersonBackgrounds(PERSONID,BACKGROUNDID)

1,2 1,3

如果我创建在SSRS一个新的数据集,并添加一个过滤器以仅包括男性查询返回如预期的那样,“John Doe”的纪录。但只要我添加第二个过滤器来返回“单身男性”记录集是空的。

是否有可能在需要满足两个条件的同一列/字段上具有多个过滤器。或者有没有其他的方式可以获得?

回答

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表两次,因为你正在使用它就像两个不同的查找表。