指定筛选条件 (Report Builder 2.0)

筛选条件是字段或实体中的所有项都要与之比较的值,通过比较可以确定是否从报表中排除该数据。例如,假设您只希望查看法国的销售数据。您可能会创建 Country 等于“France”的筛选条件。在运行报表时,会将 Country 中包含的所有项与值“France”进行比较。如果项不等于“France”,则不会在报表中包括该项。根据数据源设置方式的不同,可以使用各种方法(包括列表、文本框和日历)来指定条件。

从列表中选择条件

使用**“在列表中”**运算符时,将在列表中显示可用作筛选条件的字段或实体的所有可用项。若要从此预填充的列表中选择条件,请选中与要在筛选条件中使用的每个项对应的复选框。可以根据需要选择任意数目的项。根据实体或字段中的项数以及数据源中的默认设置,预填充的列表的长度会有所不同。

创建预筛选列表

在某些情况下,可能无法创建预填充的列表,因为要显示的项数会使列表无法管理。例如,假设向筛选条件添加中添加“销售订单”实体。根据数据库的内容,可能会有数百万的销售订单可供选择。在列表中列出每个销售订单是不现实的。

在类似情况下,将会提示您创建自己的预筛选列表。使用此预筛选列表,您可以限制在预填充列表中显示的项数。然后,与任何其他列表一样,您可以从中选择要添加为筛选条件的项。例如,如果“销售订单”实体包含太多的项以至于不能预填充列表,并且您只希望查看发生在特定日期的销售订单,则可以使用**“筛选器列表”对话框预填充列表。在该对话框中,指定筛选条件以查找所需的销售订单,并将这些订单添加到“可用数据”列表框中。此时,您可以将所有可用数据添加到“所选数据”列表框,或者选择特定的项。单击“确定”之后,在单击“筛选数据”对话框中的条件下箭头时,“所选数据”**列表框中的所有项将显示为预填充列表,您可以从中选择要添加为筛选条件的条件。

在创建预筛选列表时,请记住您并没有指定条件;只是限制了从中选择筛选条件的可用条件选项。

使用相对日期

报表生成器在筛选器中支持两种类型的相对日期:相对日期值和相对日期范围。相对日期值用作筛选特定时间点的数据时的筛选条件。若要指定相对日期值,请使用在将日期或时间字段添加到筛选区域时显示在条件区域中的日历控件以及日历控件底部的相对日期选项。此外,也可以只键入相应的文本,例如“today”。匹配时不区分大小写。

相对日期范围使用比较运算符进行指定并返回某个日期范围的数据。有关日期范围的详细信息,请参阅为筛选条件选择比较运算符 (Report Builder 2.0)

相对日期值

支持以下值:

名称

说明

示例

今天

返回从午夜(上午 00:00:00)开始当前日期的数据。

假设今天为 2009 年 10 月 15 日。则将返回 2009 年 10 月 15 日一整天的数据。

现在

返回当前日期和时间的数据。

假设当前为 2009 年 10 月 15 日下午 1:30,则将返回从 2009 年 10 月 15 日午夜到下午 1:30:00 的数据。

昨天

返回当前日期减一天的数据。

如果今天为 2009 年 10 月 15 日,则将返回 2009 年 10 月 14 日的数据。

明天

返回当前日期加一天的数据。

如果今天为 2009 年 10 月 15 日,则将返回 2009 年 10 月 16 日的数据。

本月第一天

返回当前日期所处月份第一天的数据。

假设今天为 2007 年 7 月 12 日,则返回 2007 年 7 月 1 日的数据。

本季度第一天

返回当前日期所处季度第一天的数据。

假设今天为 7/12/07,这是本年度的第三季度。则返回日期 7/1/07 的数据。

本年度第一天

返回当前日期所处年度第一天的数据。

假设今天为 2007 年 7 月 12 日,则返回 2007 年 1 月 1 日的数据。

本月最后一天

返回当前日期所处月份最后一天的数据。

假设今天为 2007 年 7 月 12 日,则返回 2007 年 7 月 31 日的数据。

本季度最后一天

返回当前日期所处季度最后一天的数据。

假设今天为 7/12/07,这是本年度的第三季度。则返回日期 9/30/07 的数据。

本年度最后一天

返回当前日期所处年度最后一天的数据。

假设今天为 2007 年 7 月 12 日,则返回 2007 年 12 月 31 日的数据。

(n) 天前

返回从当前日期开始指定天数之前的单一日期的数据。

假设今天为 7/12/07,并指定五天。则返回日期 7/8/07 的数据。

(n) 个月前

返回从当前日期所处月份开始指定月数之前的单一日期的数据。

假设今天为 7/12/07,并指定 2 个月。则返回日期 5/12/07 的数据。

(n) 年前

返回从当前日期所处年度开始指定年数之前的单一日期的数据。

假设今天为 7/12/07,并指定 3 年。则返回日期 7/12/04 的数据。

(n) 天后(从现在起)

返回从当前日期开始指定天数之后的单一日期的数据。

假设今天为 8/15/09,并指定 10 天。则返回日期 8/25/09 的数据。

(n) 个月后(从现在起)

返回从当前日期所处月份开始指定月数之后的单一日期的数据。

假设今天为 4/3/10,并指定 5 个月。则返回日期 9/3/10 的数据。

(n) 年后(从现在起)

返回当前日期所处年度加上指定年数后所得日期的数据。

假设今天为 4/3/10,并指定 2 年。则返回日期 14/3/12 的数据。