Aggiunta di espressioni personalizzate ai report

Se sei un gestore di report e se la tua origine dati è configurata per consentire ai responsabili dei report di modificare le query, potresti voler aggiungere o modificare colonne di espressione personalizzate. Per visualizzare i dati nel formato desiderato nel report, è possibile aggiungere colonne che utilizzano espressioni personalizzate scritte nel linguaggio di query dell'origine dati.

Attività preliminari

  1. Eseguire i passi in Passo 1. Scegli i dati per iniziare a costruire il tuo report.
  2. Opzionale: Aggiungi attributo e colonne di valore calcolate al tuo report. Per ulteriori informazioni, vedere Step 2a. Mostra il report come una tabella.

Informazioni su questa attività

I valori di colonna dei report di espressione personalizzata derivano dalla valutazione di un'espressione che coinvolge almeno un attributo di un artefatto. È possibile visualizzare i dati combinati provenienti da più proprietà dello stesso manufatto e proprietà di più manufatti dai percorsi di tracciabilità nelle colonne di report. Ad esempio, è possibile aggiungere una colonna che calcola la differenza tra due date o combina più campi in formato stringa.

Procedura

  1. Nella pagina Risultati del formato , clicca su Espressione Personalizzata.
  2. Selezionare il tipo di artefatto dalla lista Attributi .
  3. Opzionale: Selezionare l'attributo (Data Warehouse) o la funzione e l'attributo (Lifecycle Query Engine) per iniziare a creare l'espressione personalizzata.
    • Dall'elenco Scegliere gli attributi, selezionare l'attributo per l'espressione personalizzata che si desidera creare e fare clic su Aggiungi Aggiungere.
      Nota: è possibile anche scrivere l'attributo manualmente nel campo espressione personalizzata .
    • Per LQE è possibile scegliere una funzione frequentemente utilizzata dall'elenco Scegli funzioni per aiutarti a scegliere le funzioni rapidamente senza preoccuparsi della sintassi del linguaggio della query. Se si aggiunge una di queste funzioni all'espressione personalizzata, è necessario sostituire il testo del segnaposto. Nell'espressione personalizzata, posizionare il cursore all'inizio del testo del segnaposto <Replace with Attribute>, scegliere un attributo e fare clic su Aggiungi; quindi, eliminare il testo del segnaposto.
  4. Scrivi l'espressione manualmente nel campo espressione personalizzata .

    Data Warehouse: se si seleziona l'attributo Stima di un articolo di lavoro, l'espressione appare come $Work Item:Estimate$. Utilizzare queste espressioni per i calcoli personalizzati. Ad esempio, se Stima è rappresentato in millisecondi e si desidera vederlo in ore, utilizzare questa sintassi: $Work Item:Estimate$ / 3600000

    Lifecycle Query Engine: il seguente esempio è un'espressione personalizzata che utilizza la funzione dateDiff per il conteggio del numero di difetti che hanno impiegato 6 - 10 giorni per essere risolti:
    SUM(IF(lqe_fn:dateDiff('day', $Defect:Creation Date$, $Defect:Close Date$)> 5 && lqe_fn:dateDiff('day', $Defect:Creation Date$, $Defect:Close Date$) <= 10, 1, 0))
    È possibile mostrare i nomi proprietari su tutti i prospetti aperti per più di 10 giorni con la seguente espressione:
    GROUP_CONCAT(IF(lqe_fn:dateDiff('day', $Defect:Creation Date$, $Defect:Close Date$)> 10, $Defect:Owner$ + ', ', ''))
  5. Opzionale: Selezionare la casella di controllo Contiene un'espressione aggregata se la tua espressione personalizzata include un'espressione aggregata.
    Nota: Le espressioni aggregate calcolano un valore unico basato su una serie di valori come SUM, COUNT, AVG, MIN, MAX. Ad esempio, contando (COUNT) gli elementi di lavoro in un'area di progetto. Ciascun fornitore di database ha la propria serie di espressioni aggregate. Controllare la documentazione del fornitore. Se si ottiene un errore durante la convalida della query, provare a selezionare questa casella di controllo.
  6. Opzionale: Specificare come visualizzare i valori. È possibile utilizzare il valore predefinito String.
  7. Validate la tua espressione.
  8. Fare clic su Aggiungi per includere la colonna nel report.
  9. Modificare l'etichetta di colonna della colonna di espressione personalizzata.
  10. Opzionale: Clicca Aggiorna per visualizzare in anteprima il report.
    La colonna di espressione personalizzata appare come l'ultima colonna della tabella dei report.
  11. Eseguire i passi in Passo 3. Ottimizzare il report, Passo 5. Eseguire il report per completare il report.

Risultati

Per vedere la tua espressione personalizzata nella query report generale, vai alla sezione Advanced. Le espressioni personalizzate vengono visualizzate come espressioni nella clausola SELECT della query generata.
Nota: quando si crea un report con un grafico configurato su una colonna personalizzata basata su un'espressione e si fa clic su una barra o su una sotto-barra nel grafico per visualizzare il report di drill-down, quest'ultimo mostra tutti i conteggi anziché solo quelli relativi alla sotto-barra selezionata.

Per ulteriori informazioni, guarda il seguente video:

Nota: se si modifica e si salva la query nella sezione Avanzata, non è più possibile utilizzare l'interfaccia Programma di creazione report per apportare ulteriori modifiche.

Esempio

Aggiungere una colonna per visualizzare il numero di giorni in cui è aperto un articolo di lavoro. Questa colonna può essere calcolata con la differenza in giorni tra Data di creazione e Data di risoluzione (Data warehouse) o Data di chiusura (Motore di Query del ciclo di vita). Se l'articolo di lavoro non è chiuso o risolto, la data di risoluzione deve essere impostata come data corrente. L'espressione da utilizzare è la seguente:

Data warehouse
DAYS(CASE WHEN $Work Item:Resolved Date$ IS NULL THEN CURRENT DATE ELSE $Work Item:Resolved Date$ END) - DAYS($Work Item:Creation Date$)
Questa espressione è inclusa nella query SQL generata, visualizzabile nella sezione Advanced, come segue:
SELECT DISTINCT T1.PROJECT_NAME,
T1.REFERENCE_ID,
T1.NAME AS URL1_title,
T1.URL AS URL1,
T1.CREATION_DATE,
T1.RESOLVED_DATE,
DAYS(CASE WHEN T1.RESOLVED_DATE IS NULL THEN CURRENT DATE ELSE T1.RESOLVED_DATE END) - DAYS(T1.CREATION_DATE) AS
CREATION_DATE1
FROM RIDW.VW_REQUEST T1
WHERE ...
Lifecycle Query Engine
lqe_fn:dateDiff('day', $Work Item:Creation Date$, if(bound($Work Item:Close Date$),$Work Item:Close Date$,now()))

Evitare errori di sintassi dell'espressione personalizzata

Quando si utilizzano espressioni personalizzate avanzate in base alle proprie esigenze aziendali, Report Builder potrebbe visualizzare errori di sintassi. È possibile disattivare la validazione aggiungendo *validate_off{* prima dell'espressione personalizzata per evitare tali errori.

Informazioni su questa attività

È possibile utilizzare la sintassi *validate_off{* per evitare errori di sintassi delle espressioni personalizzate solo quando si passa alla convalida legacy in Report Builder. Se la validazione legacy non è abilitata, questa sintassi non è supportata e potrebbero verificarsi errori di validazione.

Esempio

Gli esempi seguenti mostrano come disattivare la convalida quando si creano espressioni personalizzate con LISTAGG per unire più righe per un singolo artefatto in Report Builder :
/*validate_off{*/ (LISTAGG($Test Case:A (Custom Category)$, ', ') WITHIN GROUP (ORDER BY $Test Case:A (Custom Category)$)) /*}*/
/*validate_off{*/ (LISTAGG($Approval Task:Approver Name$, ', ') WITHIN GROUP (ORDER BY $Approval Task:Approver Name$)) /*}*/