Uso de variables XML con dimensiones de filtro

Los informes dinámicos no dependen de un origen de datos concreto. En su lugar, las variables y los parámetros de informe se utilizan como marcadores de posición para la conexión de datos y cubos requeridos, y para las dimensiones.

El diseñador de un informe dinámico no puede saber con qué base de datos o estructura de datos se utilizará el informe ni tampoco sabe, por ejemplo, el número de dimensiones o cuáles se utilizarán como dimensiones de filtro. Si el informe se va a utilizar en un panel y las dimensiones de filtro para la comunicación de widget, se deben almacenar los valores seleccionados para cada dimensión de filtro. Sin embargo, puesto que las dimensiones son desconocidas, esto no se puede realizar asignando variables individuales y parámetros a cada dimensión. La solución es almacenar los valores de filtro en una variable XML con un formato específico. Dicha variable se puede asignar a un parámetro de informe de tupla y utilizar en comunicación de widget en un panel.

Esta solución implica el uso de distintas fórmulas SETPROPERTY en varias acciones para completar una única variable XML.

Por ejemplo, tiene un informe en el que las dimensiones Product y Period son dimensiones de filtro. Las selecciones del usuario para dichas dimensiones se transfieren a variables de informe denominadas rv_product y rv_period. A continuación, las fórmulas SETPROPERTY hacen referencia a estas variables de informe para completar una tercera variable de informe denominada rv_XMLFilters.

Para la dimensión de filtro Product se utiliza esta fórmula SETPROPERTY con una acción Establecer parámetros:

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

Para la dimensión Period se utiliza esta fórmula:

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

Como los usuarios seleccionan desde los filtros Product y Period, la variable XMLFilters se completa con los valores de rv_product y rv_period. Por ejemplo:

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

Al asignar la variable XML a un parámetro de informe de tupla, los valores que contiene la variable se podrían utilizar para comunicación de widget si el informe se mostrara en un panel.