Använda xml-variabler med filterdimensioner

Dynamiska rapporter är inte beroende av en särskild datakälla. Istället används variabler och rapportparametrar som platshållare för den nödvändiga datalänkningen och kuben samt för dimensionerna.

Den som utformar en dynamisk rapport kan inte veta vilken databas eller datastruktur rapporten kommer att användas med, och heller inte exempelvis antalet dimensioner eller vilka dimensioner som kommer att användas som filterdimensioner. Om rapporten ska användas i en instrumentpanel och filterdimensionerna ska användas för widgetkommunikation måste värdena som väljs från varje filterdimension lagras. Eftersom dimensionerna är okända kan detta dock inte göras genom att tilldela enskilda variabler och parametrar till varje dimension. Lösningen är att lagra filtervärdena i en xml-variabel i ett angivet format. Den variabeln kan tilldelas till en Tuppel-rapportparameter och användas i widgetkommunikation på en instrumentpanel.

Denna lösning involverar användning av flera SETPROPERTY-formler i flera åtgärder i syfte att fylla i en enskild xml-variabel.

Exempel: Du har en rapport där dimensionerna Produkt och Period är filterdimensioner. Användarens val i dessa dimensioner överförs till rapportvariablerna rv_product och rv_period. Dessa rapportvariabler refereras sedan av SETPROPERTY-formler så att de fyller i en tredje rapportvariabel kallad rv_XMLFilters.

För filterdimensionen Produkt används denna SETPROPERTY-formel inom en Ange parametrar-åtgärd:

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

För dimensionen Period används denna formel:

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

När användarna väljer bland produkt- och periodfiltren fylls variabeln XMLFilters i med värden från rv_product och rv_period. Exempel:

<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>

Genom att xml-variabeln tilldelas en tuppelrapportparameter kan värdena som lagras i variabeln användas för widgetkommunikation om rapporten visas i en instrumentpanel.