Bruke XML-variabler med filterdimensjoner

Dynamiske rapporter er ikke avhengige av en spesiell datakilde. I stedet brukes variabler og rapportparametere som plassholdere for den nødvendige databasetilkoblingen og kuben, og for dimensjonene.

Designeren av en dynamisk rapport kan ikke vite hvilken database eller datastruktur rapporten brukes med og kan vet for eksempel ikke hvor mange dimensjoner, eller hvilke dimensjoner, som brukes som filterdimensjoner. Hvis rapporten skal brukes i et instrumentbord og filterdimensjonene skal brukes for kommunikasjon med widget, må verdiene som velges fra hver filterdimensjon lagres. Men fordi dimensjonene er ukjente kan dette ikke gjøres ved å tilordne individuelle variabler og parametere til hver dimensjon. Løsningen er å lagre filterverdiene i en XML-variabel av et spesifisert format. Den variabelen kan tilordnes til en Tuple rapportparameter og brukes i kommunikasjon med widget i et instrumentbord.

Denne løsningen omfatter bruk av flere SETPROPERTY-formler i flere handlinger for å fylle ut en enkel XML-variabel.

Du har for eksempel en rapport der produkt- og periodedimensjonene er filterdimensjoner. Brukerens valg fra disse dimensjonene sendes til rapportvariablene som heter rv_product og rv_period. Disse rapportvariablene blir så referert til av SETPROPERTY-formler for å fylle en tredje rapportvariabel, rv_XMLFilters.

For produktfilterdimensjonen brukes denne SETPROPERTY-formelen i en Angi parametere-handling:

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

For periodedimensjonen brukes denne formelen:

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

Ettersom brukere velger fra produkt- og periodefiltrene fylles XMLFilters-variabelen med verdiene fra rv_product og rv_period. For eksempel:

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

Ved å tilordne XML-variabelen til en Tuple rapportparameter kan verdiene i variabelen brukes for kommunikasjon med widget hvis rapporten skulle vises i et instrumentbord.