例如,请考虑样本查询 /Public Queries/Reports/State Query。此查询包含一个动态过滤器,该过滤器用于指定一个或多个状态值。每个 ClearQuest 客户端都提供了一个界面,用于提示输入运算符和过滤器值。在数据拉取报告模型中,ClearQuest Reporting Driver 还需要一种检索此信息的机制。
由于动态过滤器提示输入两段信息,因此 ClearQuest Reporting Driver 将每个过滤器视为两个单独的参数。在运行时,您将指定过滤器运算符和值。包含在分发包中的样本包括一个 BIRT 库,其中包含可用于显示运算符的样本运算符参数。您可以直接使用该样本参数,也可以将这些控件复制到您自己的报告中。
在使用数据拉取报告模型时,IS_BETWEEN 和 IS_NOT_BETWEEN 运算符出了一道难题,因为它们总共需要三个参数(运算符、下限操作数和上限操作数)。ClearQuest Reporting Driver 不直接支持 IS_BETWEEN 和 IS_NOT_BETWEEN 运算符。但是,可通过其他办法来取得这两个运算符的效果,方法是在查询构建器中创建一个使用两个过滤器的 ClearQuest 查询,并且这两个过滤器用 AND 组合在一起。在运行时,ClearQuest Reporting Driver 创建对应两个过滤器的四个参数,从而模拟 IS_BETWEEN 和 IS_NOT_BETWEEN 运算符。
在下面的示例中,粗体的文本字符串是您在运行时提供的值。
请考虑下面的过滤表达式:
DateField IS_BETWEEN 12-12-2005 AND 12-12-2007
使用两个过滤器也获得相同的结果,如下例所示:
DateField IS_GREATER_THAN_OR_EQUAL 12-12-2005 AND IS_LESS_THAN_OR_EQUAL 12-12-2007