ネイティブ・フィルターを使用したデータの抽出

サポートされるすべてのデータ・ソースでネイティブ・フィルターを使用できます。 レポート作成データ・サービス・アダプターによって解釈されるネイティブ・フィルターにより、データ・ソース・フォーマットでフィルターを入力できます。ネイティブ・フィルターは 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. 「OK」をクリックします。

レポート可能 REST v1 構文をサポートするデータ・ソース

レポート可能 REST v1 ネイティブ・フィルターでは、テキストを大括弧 [] で囲んで入力するだけで済みます。残りのフィルターは、Rational Publishing Engine によって生成されます。

Design Management

Design Management は、レポート可能 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 ネイティブ・フィルターの例は、Rational RequisitePro PRRequirements スキーマを、Stability='High' を使用して取り出します。

フィルター式を 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 データ・ソースをサポートします。 詳しくは、『Jazz.net 上の Reportable REST API (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 バージョン 8 は、レポート可能 REST v2 データ・ソースのネイティブ・フィルターをサポートします。 詳しくは、『Rational ClearQuestOSLC 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 モジュールを開き、「ツール」 > 「フィルター」 > 「メニュー項目の定義 (Define menu entry)」をクリックします。
  2. 以下のようにしてフィルター構文を作成します。
    1. 「属性」タブを選択します。
    2. 「属性」に対して、「オブジェクト・テキスト」を選択します。
    3. 「条件」に対して、「含む」を選択します。
    4. 「値」に対して、フィルター対象とする特定の値を入力します。 例えば、「オブジェクト・テキスト」属性で「Documentation」という語を含むオブジェクトのみをフィルタリングするには、「Documentation」と入力します。
    5. 「追加」をクリックします。拡張オプションのセクションで、規則構文が作成されます。
  3. 「説明」をクリックし、説明全体をコピーします。 これで、DXL スクリプトである Rational DOORS フィルターを使用できるようになります。
Rational DOORS フィルターを Rational Publishing Engine テンプレート・エレメントに追加するには、次のようにします。
  1. フィルター対象の照会を含むテンプレート・エレメントを選択します。
  2. 「プロパティー」タブで、「データ」を展開します。
  3. 「フィルター」フィールドで、省略符号をクリックします。 「フィルター・エディター」ウィンドウが開きます。
  4. 「ネイティブ・フィルター」タブで、Rational DOORS フィルター (DXL スクリプト) を貼り付け、「OK」をクリックします。

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"))

フィードバック