Utilisation de requêtes dynamiques lors de la génération de rapports de type extraction de données

ClearQuest vous permet de générer des requêtes avec des filtres dynamiques qui vous invitent à entrer des valeurs de paramètre en phase d'exécution. Cependant, lorsque vous utilisez des requêtes dynamiques pour générer des rapports de type extraction de données, vous devez utiliser une solution palliative pour accomplir les comportements des opérateurs IS_BETWEEN et IS_NOT_BETWEEN.
Avec des requêtes dynamiques, chaque filtre contient les informations suivantes :

Par exemple, si l'on considère l'exemple de requête /Requêtes publiques/Rapports/Requête d'état. Cette requête comprend un filtre dynamique qui vous permet de spécifier une ou plusieurs valeurs d'état. Chaque client ClearQuest offre une interface pour permettre d'indiquer des valeurs d'opérateur et de filtre. Dans le modèle de génération de rapports de type extraction de données, ClearQuest Reporting Driver nécessite également un mécanisme de récupération des informations.

Puisque les filtres dynamiques demandent deux types d'information, ClearQuest Reporting Driver traite chaque filtre comme deux paramètres distincts. En phase d'exécution, vous spécifiez les valeurs et l'opérateur de filtrage. Les exemples inclus dans le produit comprennent une bibliothèque BIRT qui contient un exemple de paramètre opérateur que vous pouvez utiliser pour l'affichage des opérateurs. Vous pouvez directement utiliser l'exemple de paramètre ou copier les commandes pour vos propres rapports.

Valeurs d'opérateur de filtrage

Les valeurs d'opérateur de filtrage valides sont dérivées de l'interface Team API com.ibm.rational.wvcm.stp.cq.CqQuery.Filter.Operation. BIRT et Crystal Reports disposent d'un mécanisme permettant d'afficher chaque valeur d'opérateur comme une chaîne de texte. Les valeurs d'opérateur suivantes sont définies :
  • 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

Expressions de filtrage spécifiques pour la conception de rapport de type extraction de données

Les opérateursIS_BETWEEN et IS_NOT_BETWEEN représentent un véritable défi lors de l'utilisation d'un modèle d'extraction de données puisque trois arguments sont nécessaires (opérateur, opérande basse, opérande haute). ClearQuest Reporting Driver ne prend pas directement en charge les opérateurs IS_BETWEEN et IS_NOT_BETWEEN. Cependant, vous pouvez accomplir le comportement de ces opérateurs en créant une requête ClearQuest qui utilise deux filtres groupés avec un AND dans le générateur de requêtes. En phase d'exécution, ClearQuest Reporting Driver crée quatre paramètres pour les deux filtres, simulant les opérateursIS_BETWEEN et IS_NOT_BETWEEN.

Dans les exemples suivants, les chaînes de texte en gras sont les valeurs que vous fournissez en phase d'exécution.

Si l'on considère l'expression de filtrage suivante :

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

Il est possible d'aboutir aux mêmes résultats en utilisant deux filtres, comme indiqué dans l'exemple suivant :

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

Commentaire