Brug af XML-variabler med filterdimensioner

Dynamiske rapporter afhænger ikke af en bestemt datakilde. I stedet bruges variabler og rapportparametre som pladsholdere for den påkrævede databaseforbindelse og kube samt for dimensionerne.

Designeren af en dynamisk rapport kan ikke vide, hvilken database eller databasestruktur rapporten vil blive brugt med, og kender f.eks. ikke antal dimensioner, eller hvilke dimensioner der vil blive brugt som filterdimensioner. Hvis rapporten skal bruges i et kontrolpanel, og filterdimensionerne skal bruges til widget-kommunikation, skal de valgte værdier fra hver filterdimension gemmes. Fordi dimensionerne er ukendte, kan det dog ikke gøres ved at tildele individuelle variabler og parametre til hver dimension. Løsningen er at gemme filterværdierne i en XML-variabel i et angivet format. Denne variabel kan tildeles en tupel-rapportparameter og bruges i widget-kommunikation på et kontrolpanel.

Denne løsning involverer brug af flere SETPROPERTY-formler i flere handlinger for at udfylde en enkelt XML-variabel.

Du kan f.eks. have en rapport, hvor dimensionerne Product og Period dimensions er filterdimensioner. Brugernes valg fra disse dimensioner overføres til rapportvariabler kaldet rv_product og rv_period. Der refereres derefter til disse rapportvariabler med SETPROPERTY-formler for at udfylde en tredje rapportvariabel kaldet rv_XMLFilters.

For filterdimensionen Product bruges denne SETPROPERTY-formel i handlingen Indstil parametre:

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

For dimensionen Period bruges denne formel:

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

Når brugerne vælger fra filtrene Product og Period, udfyldes XMLFilters-variablen med værdierne fra rv_product og rv_period. 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>

Hvis XML-variablen tildeles en tupel-rapportparameter, kan variablens værdier bruges il widget-kommunikation, hvis rapporten vises i et kontrolpanel.