使用本机过滤器来抽取数据

可以将本机过滤器与所有支持的数据源一起使用。本机过滤器由 Reporting Data Services 适配器解释,允许您输入数据源格式的过滤器。 本机过滤器由 Reporting Data Services 适配器而不是 Rational® Publishing Engine 处理,因此使用本机过滤器会提高 Rational Publishing Engine 性能。

开始之前

如果正在将 Rational Publishing Engine 与不支持可报告 REST 数据源的产品集成,那么整个数据集都会加以访存,并且无法过滤。要验证产品是否支持可报告 REST 数据源,您可以在本机数据源中测试过滤条件,然后才将其用在 Rational Publishing Engine 中。

有关如何定义可报告 REST V1 服务需求的更多信息,请复审 Reportable Rest v1 文档。

关于此任务

本机过滤器受可报告 REST 数据源支持,可以启用对属性的过滤、排序和选择性支持。本机过滤器从数据源请求数据集,然后过滤和优化数据以从 Rational Publishing Engine 模板输出。不需要在提供数据的产品中创建过滤器,除非想要测试过滤器的准确性,但可以从 Rational Publishing Engine 中创建专门用在 Rational Publishing Engine 模板中的过滤器。

Rational Publishing Engine 的前发行版中,只能定义静态过滤器。必须了解设计模板时的过滤器是什么并且它们无法在运行时加以更改。

过程

  1. 在 Document Studio 中,选择含有要过滤的查询的模板元素。
  2. 属性视图中,选择数据选项卡。
  3. 过滤器字段中,单击省略符。
  4. 本机过滤器选项卡中,展开变量
    注: 在使用该数据源上的第一个查询之前,可以修改过滤器中使用的变量。
  5. 选择据以过滤的变量。
  6. 输入语法 ${} 以定义要过滤的查询。 例如,可以按产品名称过滤。多个产品团队可以使用此模板,并在运行时在文档规范中指定产品名称。
    cq:Product{cq:Product"${productName}"
    注:
    • 定制属性不能用在本机过滤器中。
    • 如果重命名变量,那么不会在脚本表达式或本机过滤器中更新名称,这会导致引用错误。重命名变量时,请确保也在脚本表达式和本机过滤器中修改名称。
    • 要抽取 Rational DOORS 数据,请将 DXL 脚本用作本机过滤条件。要抽取 REST 数据,请使用 XPath 过滤条件。
  7. 单击确定

支持可报告 Rest V1 语法的数据源

在可报告 Rest V1 本机过滤器中,只需要在方括号 [] 之间输入文本。过滤器的其余部分由 Rational Publishing Engine 生成。

设计管理

设计管理 支持从可报告 Rest V1 数据源进行本机过滤。 有关更多信息,请参阅Reportable Rest v1

IBM® Rational ClearCase

Rational ClearCase 适配器支持从可报告 REST V1 数据源进行本机过滤。 请参阅Reportable Rest v1,以获取更多信息。

IBM Rational ClearQuest

Rational ClearQuest 适配器支持从可报告 REST V1 数据源进行本机过滤。 请参阅Reportable Rest v1,以获取更多信息。

IBM Rational RequisitePro

以下可报告 Rest V1 本机过滤器示例通过使用 Stability='High' 来抽取 Rational RequisitePro PRRequirements 模式。

示例

将过滤表达式添加至 Appliances 下方的节点,以便仅选择由特定制造商所制造的设备。
fields=Project/Requirements/PRRequirement[Stability = 'High']/(Stability|FullTag|Priority|Status)

IBM Rational Rhapsody

Rational Rhapsody 支持供在本机过滤器中使用的可报告 Rest V1 数据源。 有关更多信息,请参阅Reportable Rest v1

IBM Rational Team Concert

Rational Team Concert 支持在本机过滤器中使用可报告 Rest V1 数据源。请参阅Reportable REST API on Jazz.net,以获取更多信息。

示例

projectArea/name="Rational Publishing Engine"  and target/name="1.2.1"
解析请求:
fields=workitem/workItem[projectArea/name="Rational Publishing Engine" and target.name="1.2.1"]/(@href|summary)

支持可报告 Rest V2 语法的数据源

关于此任务

注:
  • 只有在需要时才向数据源发出请求。例如,您可以使用条件只让元素在其包含数据时显示在输出中。容器元素上的条件可能是 variable == "true"。 如果不满足此条件并且没有任何数据与变量条件相匹配,那么不会向数据源发出任何请求。
  • 在发出请求之前,您可以计算本机过滤器。本机过滤器在遇到查询时进行计算并使用该点处的变量值。因此,可在模板中执行计算,这会影响本机过滤器。

IBM Rational ClearQuest

Rational ClearQuest V8 支持从可报告 Rest V2 数据源进行本机过滤。 有关更多信息,请参阅 Rational ClearQuest OSLC CM REST API

示例

样本变量过滤器:
cq:Product{cq:Product="${productName}") 
样本解析过滤器,其中 productNameRational Publishing Engine
cq:Product{cq:Product="Rational Publishing Engine")

支持专用 API 语法的数据源

IBM Rational DOORS

Rational DOORS 支持专用 API,并且过滤器是使用 Rational DOORS 视图语法来表示。

示例

以下 Rational DOORS 本机过滤器示例会过滤对象文本属性中包含单词“Documentation”的对象。
Attribute 'Object Text' contains 'Documentation' (case sensitive)
要为 Rational DOORS 数据源生成本机过滤器文本,请执行下列操作:
  1. 打开 Rational DOORS 模块,然后单击工具 > 过滤器 > 定义菜单项
  2. 创建过滤器语法:
    1. 选择属性选项卡。
    2. 对于“属性”,选择对象文本
    3. 对于“条件”,选择包含
    4. 对于“值”,输入据以过滤的特定值。例如,要仅过滤对象文本属性中包含单词 Documentation 的那些属性,请输入:Documentation
    5. 单击添加。此时,会在“高级选项”部分创建规则语法。
  3. 单击描述并复制完整描述。您现在具有 Rational DOORS 过滤器,它是 DXL 脚本。
要将 Rational DOORS 过滤器添加至 Rational Publishing Engine 模板元素,请执行下列操作:
  1. 选择含有要过滤的查询的模板元素。
  2. 属性选项卡中,展开数据
  3. 过滤器字段中,单击省略符。此时,会打开过滤器编辑器窗口。
  4. 本机过滤器选项卡中,粘贴 Rational DOORS 过滤器(DXL 脚本),然后单击确定

IBM Rational Tau

Rational Tau 支持专用 API,并且过滤器表示为 OCL 查询。

示例

以下 Rational Tau 本机过滤器示例会过滤包含预定义名称的数据包:
  • model.predefinedPackage 表示当前模式元素。
  • GetEntities(“predefinedPackage”).select(IsKindOf(“Package”) 表示底层 Rational Tau 查询。
  • select(HasPropertyWithValue("Name", "Predefined")) 表示本机过滤条件。
Rational Tau 查询评估程序执行的查询是:
GetEntities(“predefinedPackage”). select(IsKindOf(“Package”))
select(HasPropertyWithValue("Name", "Predefined"))

反馈