Utilizzo di caselle combinate come filtri

Nei pannelli di controllo è prassi comune utilizzare le caselle combinate di un report per controllare i valori visualizzati in altri report. I valori selezionati nelle caselle combinate vengono passati a variabili, utilizzate come parametri di report. Il report viene inserito in un widget su un pannello di controllo. Gli altri report che hanno gli stessi parametri, o che fanno riferimento alle stesse ricerche, vengono collegati automaticamente. Se, ad esempio, si seleziona una data da una casella combinata, tutti i widget contenenti un parametro relativo alla data verranno aggiornati.

Se si utilizzano le caselle combinate in questo modo, è importante assicurarsi che siano sincronizzate con i valori. Gli utenti, ad esempio, non dovrebbero poter selezionare una data da una casella combinata, ma soltanto visualizzare i valori relativi a una data diversa nei report collegati.

Per assicurarsi che le caselle combinate e i valori siano sincronizzati, utilizzare le variabili passate dalle caselle combinate come variabili di input e di output.

Se si creano report dinamici, ovvero report che non dipendono da un'origine dati specifica, l'utilizzo di caselle combinate come filtro non è appropriato. Valutare invece l'opportunità di utilizzare variabili XML.

Esempio

In questo esempio viene illustrato come può verificarsi una perdita di sincronizzazione tra caselle combinate e valori:

In un report viene visualizzata una casella combinata contenente un elenco di date. Per impostazione predefinita, la data è All Years.

L'output della casella combinata viene inserito in un variabile, ma non è definita una variabile di input. La variabile viene utilizzata come parametro di report.

L'utente inserisce il report in un pannello di controllo con altri report collegati.

Seleziona quindi il valore 2004 dalla casella combinata e tale valore viene passato alla variabile.

I widget collegati sul pannello di controllo vengono aggiornati automaticamente in modo da visualizzare i valori relativi al 2004.

L'utente salva il pannello di controllo.

Per impostazione predefinita, i valori dei parametri vengono salvati con il pannello di controllo. Di conseguenza, viene salvato il valore corrente del parametro, ovvero 2004.

L'utente si disconnette e ricarica il pannello di controllo,

aspettandosi che nella casella il valore selezionato sia 2004. In realtà, però, il valore è ancora All Years.

Il problema si verifica perché, anche se il valore di variabile/parametro è stato salvato, il pannello di controllo non è riuscito a passarlo alla casella combinata a causa dell'assenza di una variabile di input.

Tuttavia, anche i valori presenti negli altri widget vengono memorizzati con il pannello di controllo e vengono visualizzati al caricamento del pannello. Di conseguenza, quando l'utente apre di nuovo il pannello di controllo, nella casella combinata viene visualizzato il valore All Years, mentre negli altri widget vengono riportati i valori relativi al 2004.

Per questo problema sono disponibili due soluzioni. Una può essere implementata in Application Studio, l'altra nel pannello di controllo. In Application Studio la soluzione consiste nell'utilizzare la stessa variabile come variabile di output e di input.

In un pannello di controllo, l'unica soluzione consiste nel disattivare la memorizzazione dei parametri e nell'impostare la casella combinata come "widget iniziale". In questo modo, quando il pannello di controllo viene ricaricato, la casella combinata determina il valore degli altri widget. Questo non impedisce il ripristino del valore All Years nella casella combinata, ma garantisce che anche i valori nei report collegati vengano visualizzati in relazione a All Years.