Používání proměnných XML s dimenzemi filtru

Dynamické reporty nejsou závislé na konkrétním zdroji dat. Místo toho se proměnné a parametry reportu používají jako zástupné symboly pro požadované datové propojení a kostku a pro dimenze.

Návrhář dynamického reportu nemůže vědět, s jakou databází či strukturou dat se bude report používat, nezná ani počet dimenzí a neví, které dimenze se použijí jako dimenze filtru. Pokud se má report používat v dashboardu a dimenze filtru se mají používat ke komunikaci widgetů, musí být uloženy hodnoty vybrané z každé dimenze filtru. Protože však dimenze nejsou známé, nelze to provést přiřazením jednotlivých proměnných a parametrů každé dimenzi. Řešení je ukládat hodnoty filtrů do proměnné XML určeného formátu. Takovouto proměnnou lze přiřadit parametru reportu řazené kolekce a používat na dashboardu v rámci komunikace widgetů.

Toto řešení vyžaduje použití více vzorců SETPROPERTY ve více akcích k vyplnění jednotlivé proměnné XML.

Máte například report, ve kterém jsou dimenze Produkt a Období dimenzemi filtru. Volby uživatele z těchto dimenzí se předávají do proměnných reportu s názvy rv_product a rv_period. Na tyto proměnné reportu poté odkazují vzorce SETPROPERTY za účelem vyplnění třetí proměnné reportu s názvem rv_XMLFilters.

Pro dimenzi filtru Produkt se tento vzorec SETPROPERTY použije v rámci akce Nastavit parametry:

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

Pro dimenze Období se použije tento vzorec:

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

Uživatelským výběrem z filtrů Produkt a Období se do proměnné XMLFilters vyplní hodnoty z proměnných rv_product a rv_period. Například:

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

Přiřazením proměnné XML parametru reportu řazené kolekce lze hodnoty obsažené v proměnné použít pro komunikaci widgetů, pokud byl report zobrazen v dashboardu.