XML-variabelen gebruiken met filterdimensies

Dynamische rapporten zijn niet afhankelijk van een specifieke gegevensbron. In plaats daarvan worden variabelen en rapportparameters gebruikt als tijdelijke aanduidingen voor de vereiste gegevensverbinding en kubus, en voor de dimensies.

Degene die een dynamisch rapport ontwerpt, kan niet weten met welke database of gegevensstructuur het rapport zal worden gebruikt en weet bijvoorbeeld ook niet hoeveel en welke dimensies zullen worden gebruikt als filterdimensies. Als het rapport zal worden gebruikt in een dashboard en de filterdimensies zullen worden gebruikt voor widgetcommunicatie, moeten de uit elke filterdimensie geselecteerde waarden worden opgeslagen. Maar omdat de dimensies onbekend zijn, kan dit niet worden gedaan door individuele variabelen en parameters aan elke dimensie toe te wijzen. De oplossing is het opslaan van de filterwaarden in een XML-variabele van een specifieke indeling. Die variabele kan worden toegewezen aan een tuple-rapportparameter en kan worden gebruikt bij de widgetcommunicatie in een dashboard.

Bij deze oplossing worden meerdere SETPROPERTY-formules in meerdere acties gebruikt om één XML-variabele in te vullen.

Voorbeeld: u hebt een rapport waarin de dimensies Product en Period filterdimensies zijn. De selecties van de gebruiker uit deze dimensies worden doorgegeven aan rapportvariabelen met de namen rv_product en rv_period. Deze rapportvariabelen worden vervolgens door SETPROPERTY-formules geraadpleegd om een derde rapportvariabele met de naam rv_XMLFilters in te vullen.

Voor de filterdimensie Product wordt deze SETPROPERTY-formule gebruikt binnen een Parameters instellen-actie:

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

Voor de Period-dimensie wordt deze formule gebruikt:

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

Wanneer gebruikers een selectie maken uit de filters Product en Period, wordt de variabele XMLFilters gevuld met de waarden uit rv_product en rv_period. Bijvoorbeeld:

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

Doordat de XML-variabele wordt toegewezen aan een tuple-rapportparameter, kunnen de in de variabele opgeslagen waarden voor widgetcommunicatie worden gebruikt als het rapport zou worden weergegeven in een dashboard.