Utilizzo della query dinamica nella creazione di report di data-pull

ClearQuest consente di creare query con filtri dinamici che richiedono valori di parametro al runtime. Tuttavia, quando si utilizzano query dinamiche per creare report data-pull, è necessario utilizzare una soluzione alternativa per i funzionamenti degli operatori IS_BETWEEN e IS_NOT_BETWEEN.
Con query dinamiche, ogni filtro contiene le seguenti informazioni:

Ad esempio, considerare la query di esempio /Public Queries/Reports/State Query. Questa query include un filtro dinamico che consente di specificare uno o più valori di stato. Ciascun client ClearQuest fornisce un'interfaccia per richiedere i valori filtro e operatore. Nel modello di creazione di report data-pull, ClearQuest Reporting Driver necessita anche di un meccanismo per richiamare queste informazioni.

Poiché i filtri dinamici richiedono due tipi di informazione, ClearQuest Reporting Driver tratta ciascun filtro come due parametri separati. Al runtime, viene specificato l'operatore del filtro e i valori. Gli esempi forniti sulla distribuzione includono una libreria BIRT che contiene un parametro operatore di esempio che è possibile utilizzare per la visualizzazione degli operatori. È possibile utilizzare il parametro di esempio direttamente o copiare i controlli per i report.

Valori operatore filtro

I valori operatore filtro validi derivano dall'interfaccia API team com.ibm.rational.wvcm.stp.cq.CqQuery.Filter.Operation. BIRT e Crystal Reports forniscono un meccanismo per esporre ciascun valore operatore come una stringa di testo. I valori operatore devono essere racchiusi tra virgolette e essere definiti come segue:
  • 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

Espressioni filtro speciali per la progettazione di report data-pull

Gli operatori IS_BETWEEN e IS_NOT_BETWEEN presentano una difficoltà quando si utilizza il modello di report data-pull poiché è richiesto un totale di tre argomenti (operatore, operatore inferiore e operatore superiore). ClearQuest Reporting Driver non supporta direttamente gli operatori IS_BETWEEN e IS_NOT_BETWEEN. Tuttavia, è possibile far funzionare questi operatori creando una query ClearQuest che utilizza due filtri raggruppati con un AND nel builder di query. Al runtime, ClearQuest Reporting Driver crea quattro parametri per i due filtri, simulando gli operatori IS_BETWEEN e IS_NOT_BETWEEN.

Nei seguenti esempi, le stringhe di testo in grassetto sono i valori forniti al runtime.

Considerare la seguente espressione di filtro:

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

Gli stessi risultati possono essere raggiunti utilizzando due filtri, come mostrato nel prossimo esempio:

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

Feedback