Filtri
È possibile creare un tipo speciale di query definito query di filtro. Mentre le query standard vengono utilizzate per visualizzare elenchi di informazioni dal proprio database, le query di filtro possono essere utilizzate per:
- ridurre i valori disponibili agli utenti in determinati luoghi
- visualizzare un elenco filtrato su un valore determinato automaticamente al runtime
Ad esempio, due opzioni per aggiungere una scheda alla finestra Incident per visualizzare le note aggiunte a un incident sono:
- come raccolta, per mostrare TUTTE le note aggiunte all'incident, o
- come filtro, per visualizzare solo le note aggiunte all'incident dall'utente che ha segnalato l'incident.
Per ulteriori informazioni relative all'aggiunta di schede, come per le schede visualizzate su una finestra, vedere Raccolte.
La tabella in basso evidenzia le differenze principali tra le query standard e le query di filtro:
Query standard |
Query di filtro |
---|---|
I criteri di filtro che si selezionano si originano dall'oggetto business su cui si basa la query. |
È possibile selezionare l'oggetto da cui scegliere i propri criteri di filtro. |
I criteri devono essere impostati a valori assoluti: essi vengono impostati durante la fase di progettazione o la fase di esecuzione richiedendo all'utente il valore. |
I criteri possono essere impostati come valore assoluto o valore runtime. |
Può includere il raggruppamento. |
Non può includere il raggruppamento. |
Gli utilizzi tipici per le query di filtro includono:
- filtrare i dati sugli oggetti correlati in Progettazione oggetti
- come schede su progettazioni di finestre per fornire elenchi di informazioni relativi a un attributo sulla finestra
Per ulteriori informazioni sul filtraggio dei dati sugli oggetti correlati in Progettazione oggetti, vedere Filtraggio dati.
La procedura in basso descrive come creare un filtro da aggiungere come scheda sulla finestra Incident per mostrare solo le note per l'incident in cui l'utente segnalatore corrisponde a quello per l'incident. Sono due le condizioni esistenti per questo filtro:
- l'Incident sull'oggetto Nota È Uguale all'incident visualizzato sulla finestra
- l'Utente segnalatore sull'oggetto Nota È Uguale all'Utente segnalatore sull'oggetto Incident
Inizialmente, il filtro seleziona tutte le note nel modulo Gestione dell'incident. La prima condizione filtra quindi per quelle note aggiunte all'Incident selezionato e la seconda condizione filtra per quelle note che presentano lo stesso Utente segnalatore dell'incident.
Per creare un filtro:
- Nell'elenco Azioni di Progettazione query e report, fare clic su Nuovo filtro.
Verrà visualizzata la finestra di dialogo Nuovo filtro. - Digitare un Titolo e una Descrizione per il filtro.
- Nel gruppo Basato su, selezionare il Modulo e l'Oggetto business contenente i dati che si desidera far apparire nell'elenco.
Nel nostro esempio, selezionare Gestione dell'incident e Nota – l'obiettivo è visualizzare un elenco di informazioni sulle note. - Nel gruppo Filtra per, selezionare il Modulo e l'Oggetto business per l'oggetto che contiene il valore con cui si desidera filtrare l'elenco. Questo sarà l'oggetto su cui si basa la finestra.
Nel nostro esempio, selezionare Gestione dell'incident e Incident – desideriamo filtrare per Incident e per il valore per Utente segnalatore sull'incident. - Selezionare il pulsante opzionale Chiunque, quindi fare clic su OK.
Apparirà Progettazione filtri, un componente molto simile alla normale Progettazione query e report. - Aggiungere gli attributi che si desidera includere nell'elenco, quindi fare clic su Avanti.
Verrà visualizzata la pagina Criteri. Se non impostiamo alcun criterio, il filtro visualizzerà TUTTE le note nel modulo Gestione dell'incident. - Dall'albero Attributi, trascinare l'attributo per il primo criterio di filtraggio sull'elenco Criteri correnti.
Per prima cosa, desideriamo visualizzare solo le note collegate all'incident visualizzato, pertanto trasciniamo la relazione Incident () sull'elenco Criteri correnti.
Apparirà la finestra di dialogo Criteri. Desideriamo utilizzare l'Incident corrente, pertanto dobbiamo specificare un valore di runtime, non un valore assoluto. - Fare clic su Specifica valore runtime.
La finestra di dialogo Criteri verrà aggiornata.
Ricordarsi che i valori disponibili da questa finestra di dialogo si basano su Gestione dell'incident\Incident – ovvero il valore per il quale desideriamo filtrare, pertanto non è necessario effettuare una selezione. Desideriamo filtrare in base al valore di livello superiore: Incident.
- Fare clic su OK.
L'elenco Criteri correnti si aggiorna per mostrare Incident È Uguale a (Incident). Ovvero, l'Incident sulla Nota corrisponde all'Incident visualizzato nella finestra. - Dall'albero Attributi, trascinare l'attributo seguente su cui si desidera basare i criteri sull'elenco Criteri correnti.
Nel nostro esempio, desideriamo utilizzare l'attributo Utente segnalatore.
Apparirà la finestra di dialogo Criteri.
Notare che la finestra di dialogo Criteri è diversa da prima, in quanto si sta filtrando per un attributo sull'Incident, e non sull'Incident stesso.
- Nel gruppo Valore di confronto, selezionare Specifica valore runtime.
Il controllo Valore cambia da una casella di elenco, che consente di specificare un valore assoluto, a un albero, che consente di specificare un valore che verrà determinato durante il runtime. I valori disponibili in questo albero vengono ricavati dall'oggetto selezionato nel gruppo Filtra per sulla finestra di dialogo Nuovo filtro. - Nell'albero Valore, selezionare l'attributo che si desidera utilizzi il valore di runtime, in modo che corrisponda alla condizione di filtro, quindi fare clic su OK.
Nel nostro esempio, desideriamo utilizzare l'attributo Utente segnalatore.
L'elenco Criteri correnti si aggiorna. - Fare clic su
, quindi fare clic su Fine.
Nel nostro esempio, i criteri di filtro sono Incident È Uguale a (Incident) e Utente segnalatore È Uguale a (Utente segnalatore). Dato che il filtro era basato su Gestione dell'incident\Nota, ma filtrato per Gestione dell'incident\Incident, questi criteri risultano veri quando l'Incident sulla Nota corrisponde all'Incident visualizzato nella finestra e quando Utente segnalatore sulla Nota corrisponde a Utente segnalatore sull'Incident corrente.
L'aggiunta di questo filtro a una finestra Incident mediante il controllo Query (vedere Aggiunta di query a una finestra) crea una scheda sotto la finestra in cui si elencano tutte le note allegate all'incident che presentano lo stesso valore Utente segnalatore dell'incident.