Verwendung von dynamischen Abfragen bei der Erstellung von Data-Pull-Berichten

ClearQuest bietet Ihnen die Möglichkeit, Abfragen mit dynamischen Filtern zu erstellen, bei denen Sie zur Laufzeit aufgefordert werden, Parameterwerte einzugeben. Wenn Sie jedoch dynamische Abfragen zum Erstellen von Data-Pull-Berichten verwenden, müssen Sie eine Ausweichlösung verwenden, um das Verhalten der Operatoren IS_BETWEEN und IS_NOT_BETWEEN zu simulieren.
Bei dynamischen Abfragen enthält jeder Filter die folgenden Informationen:

Gehen Sie von der Beispielabfrage /Public Queries/Reports/State Query aus. Diese Abfrage umfasst einen dynamischen Filter, mit dem Sie einen oder mehrere Statuswerte angeben können. Jede Clientkomponente von ClearQuest stellt eine Schnittstelle für die Eingabe der Operator- und Filterwerte bereit. Im Data-Pull-Berichtsmodell benötigt der Treiber für das Feature "ClearQuest Reporting" auch ein Verfahren für das Abrufen dieser Informationen.

Da dynamische Filter zur Eingabe von zwei Informationen auffordern, behandelt der Treiber für das Feature "ClearQuest Reporting" jeden Filter wie zwei eigenständige Parameter. Zur Laufzeit können Sie den Filteroperator und die Filterwerte angeben. Die Beispiele, die zum Lieferumfang des Produkts gehören, sind eine BIRT-Bibliothek, die einen Beispieloperatorparameter enthält, den Sie für die Anzeige von Operatoren verwenden können. Sie können den Beispielparameter direkt verwenden oder die Steuerelemente für Ihre eigenen Berichte kopieren.

Werte für Filteroperatoren

Gültige Werte für Filteroperatoren werden von der Team-API "com.ibm.rational.wvcm.stp.cq.CqQuery.Filter.Operation" abgeleitet. Sowohl BIRT als auch Crystal Reports bieten ein Verfahren, mit dem jeder Operatorwert als Textzeichenfolge zugänglich gemacht werden kann. Die Operatorwerte müssen in doppelte Anführungsstriche eingeschlossen werden und sind wie folgt definiert:
  • HAS_NO_SUBSTRING
  • HAS_SUBSTRING
  • IS_EQUAL
  • IS_GREATER_THAN
  • IS_GREATER_THAN_OR_EQUAL
  • IS_IN_SET
  • IS_LESS_THAN
  • IS_LESS_THAN_OR_EQUAL
  • IS_NOT_EQUAL
  • IS_NOT_IN_SET
  • IS_NOT_NULL
  • IS_NULL

Spezielle Filterausdrücke für das Design von Data-Pull-Berichten

Die Verwendung der Operatoren IS_BETWEEN und IS_NOT_BETWEEN im Data-Pull-Berichtsmodell ist eine anspruchsvolle Aufgabe, da insgesamt drei Argumente (Operator, Operand mit unterem Wert und Operand mit oberem Wert) erforderlich sind. Der Treiber für das Feature "ClearQuest Reporting" unterstützt die Operatoren IS_BETWEEN und IS_NOT_BETWEEN nicht direkt. Sie können jedoch das Verhalten dieser Operatoren simulieren, indem Sie im Abfrageerstellungsprogramm eine ClearQuest-Abfrage erstellen, die zwei mit dem Operator AND verknüpfte Filter verwendet. Der Treiber für das Feature "ClearQuest Reporting" erstellt vier neue Parameter für die zwei Filter und simuliert dabei die Operatoren IS_BETWEEN und IS_NOT_BETWEEN.

In den folgenden Beispielen sind die Textzeichenfolgen in Fettdruck die Werte, die Sie zur Laufzeit eingeben.

Betrachten Sie den folgenden Filterausdruck:

DateField
IS_BETWEEN
12-12-2005
AND
12-12-2007

Dasselbe Ergebnis können Sie erzielen, wenn Sie, wie im nächsten Beispiel gezeigt, zwei Filter verwenden:

DateField
IS_GREATER_THAN_OR_EQUAL
12-12-2005
AND
IS_LESS_THAN_OR_EQUAL
12-12-2007

Feedback