Utilizzo di variabili XML con dimensioni di filtro

I report dinamici non dipendono da una particolare origine dati. Le variabili e i parametri di report, invece, vengono utilizzati come segnaposto per il cubo e per la connessione dati necessari, nonché per le dimensioni.

Il designer di un report dinamico non può sapere con quale database o struttura dati verrà utilizzato il report, né può conoscere, ad esempio, quante e quali dimensioni verranno utilizzate come dimensioni di filtro. Se il report deve essere utilizzato in un pannello di controllo e le dimensioni di filtro devono essere utilizzate per la comunicazione tra widget, è necessario memorizzare i valori selezionati da ciascuna dimensione di filtro. Tuttavia, dal momento che non si conoscono le dimensioni, non è possibile eseguire tale operazione assegnando singoli parametri e variabili a ciascuna dimensione. La soluzione consiste nel memorizzare i valori di filtro in una variabile XML con un formato specificato. È possibile assegnare la variabile a un parametro di report Tupla e utilizzarla per la comunicazione tra widget in un pannello di controllo.

Questa soluzione prevede l'utilizzo di più formule SETPROPERTY in diverse azioni per completare un'unica variabile XML.

Si supponga, ad esempio, di avere un report in cui le dimensioni Product e Period sono dimensioni di filtro. Gli elementi che l'utente seleziona da queste dimensioni vengono passati a variabili di report denominate rv_product e rv_period. Tali variabili di report vengono utilizzate come riferimento da formule SETPROPERTY per completare una terza variabile di report denominata rv_XMLFilters.

Per una dimensione di filtro Product, questa formula SETPROPERTY viene utilizzata in un'azione di tipo Imposta parametri:

=SETPROPERTY(ReportVariables.rv_XMLFilters,"[Product]","Unique",ReportVariables.rv_product.text).

Per la dimensione Period viene utilizzata la seguente formula:

=SETPROPERTY(ReportVariables.rv_XMLFilters,"[Period]","Unique",ReportVariables.rv_period.text)

Quando gli utenti effettuano selezioni dai filtri Product e Period, la variabile XMLFilters viene compilata con i valori derivanti da rv_product e rv_period. Ad esempio:

<Table><Row name="[Period]"><Property name="unique" value="[Period].[All Years].[2012]" /></Row><Row name="[Product]"><Property name="unique" value="[PRODUCT].[All Tires].[Special Offers]" /></Row></Table>

Quando si assegna la variabile XML a un parametro di report Tupla, se il report viene visualizzato in un pannello di controllo, i valori presenti nella variabile possono essere utilizzati per la comunicazione tra widget.