Uso de fórmulas y una variable XML para controlar varios objetos
En este ejemplo se muestra cómo se puede utilizar la opción Fórmula de la ficha Disponibilidad de objetos. En este caso, se utilizan objetos del cuadro de texto, pero en su lugar puede utilizar objetos de imagen.
En este ejemplo, aparece un cuadro de texto diferente según se seleccione África o Europa en un cuadro combinado. Una acción en el cuadro combinado utiliza una fórmula SETPROPERTY para completar una variable XML. En la variable, la clave es la Visibilidad
, el país seleccionado es una propiedad y TRUE
es el valor asignado a la propiedad.
Para evitar que los cuadros de texto quedan visibles cuando se selecciona un país distinto a Europa o África, la fórmula establece Visibilidad
en False
para todos los países.
Una fórmula GETPROPERTY en la ficha Disponibilidad de cada cuadro de texto devuelve la clave y la propiedad de la variable. En un cuadro, la fórmula extrae la visibilidad para Europa y, en el otro, la visibilidad para África.
Una técnica alternativa sería ocultar o mostrar las filas que contienen los cuadros de texto.
En este ejemplo se utilizan dimensiones del cubo Análisis.
- Cree una variable de informe y asígnele el nombre rv_VisibilityXML.
- Inserte un cuadro combinado y vincúlelo a la dimensión Region. Asigne al cuadro combinado el nombre Región.
- Abra las propiedades del cuadro combinado y seleccione Ejecutar acción, cuando la selección cambia en General.
-
Cree una acción Establecer parámetros con rv_VisibilityXML como parámetro. Especifique esta fórmula como valor del parámetro:
=SETPROPERTY(SETPROPERTY(ReportVariables.rv_VisibilityXML.Text, "visibility","*" ,"false"), "visibility",ReportObjects.Region.Alias,"TRUE")
- Añada dos cuadros de texto al informe y añada texto. Por ejemplo, datos clave sobre África y hechos clave sobre Europa.
-
Haga clic con el botón secundario en el cuadro de texto de África y seleccione Formatear objeto de texto. Especifique esta fórmula en la ficha Disponibilidad:
=GetProperty(ReportVariables.rv_VisibilityXML.Text,"visibility","Africa")
- Especifique la misma fórmula para el cuadro de texto Europa, sustituyendo "Africa" por "Europa".