SETPROPERTY
=SETPROPERTY(ReportVariables.DemoXML.Text, "visibility","ReportObjects.ListView6.Alias" ,"false")
Pero cuando se insertan en una celda, la misma fórmula devuelve el valor actual de la variable DemoXML:<Table><Row name="visibility"><Property name="ReportObjects.ListView6.Alias" value="False" /></Row></Table>
De este modo, para modificar la variable, debe utilizar una acción que asigne la salida devuelta por la función SETPROPERTY a la variable.
Por ejemplo, en un objeto Listview, como un cuadro combinado, defina una acción Establecer parámetros que se activará cuando la selección del cuadro combinado cambie. En la sección Parámetros del cuadro de diálogo Crear acción, seleccione la variable que se va a completar como el Nombre y defina una función SETPROPERTY como el Valor. En modo Vista, el parámetro se completa cuando se activa la acción.
Puede añadir, modificar o eliminar cualquier propiedad.
Puede utilizar la función para establecer una sola propiedad y un valor o múltiples propiedades, cada una con su valor correspondiente. Puede utilizarla, por ejemplo, para completar una variable XML con los valores de las dimensiones de sector en un informe. También puede utilizar la función para eliminar las propiedades y los valores de una variable.
Se puede utilizar SETPROPERTY para hacer referencia a elementos específicos, o bien para hacer referencia a las celdas del hiperbloque.
Para devolver valores de las propiedades de una variable, utilice GETPROPERTY.
No se puede garantizar el orden en el que coinciden las claves o propiedades.
Estos ejemplos utilizan propiedades denominadas Exclusivo y Título leyenda para almacenar el nombre exclusivo y el título leyenda de un elemento:
Sintaxis
SETPROPERTY("XML_properties","key","property","value")
El primer argumento de la fórmula puede ser una variable o una cadena.
El carácter comodín * se puede utilizar con los argumentos de clave y propiedad para sobrescribir o eliminar varios valores simultáneamente.
Ejemplos de propiedades y valores individuales
-
=SETPROPERTY(globalvariables.gv_property,"[Product]","Unique", "[Product].[All Tires].[Car Tires All Season]")
-
=SETPROPERTY(globalvariables.gv_property,reportobjects.Hyperblock4.Text, "Unique","[Product].[All Tires].[Car Tires All Season]")
-
=SETPROPERTY(globalvariables.gv_property,"reportvariables.rv_dimension.text","Unique", "reportvariables.rv_element.text")
En los tres ejemplos, la dimensión Product es la clave y el nombre de propiedad es "Unique".
En el primer ejemplo, se especifican la dimensión Product y el nombre exclusivo de un producto. En el segundo ejemplo, se especifica el nombre de un hiperbloque que contiene la dimensión Product. El tercer ejemplo hace referencia a las variables de informe que contienen un nombre de dimensión y un nombre de elemento exclusivo.
En la definición XML, la clave forma el nombre de la fila.
Establecimiento de varias propiedades y valores
SETPROPERTY("XML_properties", "key", "property","value",{,"property"}{,"value"})
Ejemplo
=SETPROPERTY(globalvariables._gv_property,"[Product]","unique","[Product].[All
Tires].[Car Tires all Season]","Caption","Car Tires all Season")
Claves múltiples
=SETPROPERTY(SETPROPERTY("XML_properties","key","property","value"),
"key","property","value")
Cada clave forma una fila en la definición XML de la variable.
O bien, utilice varias fórmulas SETPROPERTY en varias acciones para completar una única variable XML, por ejemplo, para almacenar las dimensiones de filtro en un informe dinámico.
Eliminación de una única propiedad
SETPROPERTY("XML_properties", "key", "property","")
Ejemplo
Esto elimina la propiedad Caption de una variable que almacena el nombre exclusivo y el título de un elemento de la dimensión Product.
=SETPROPERTY(globalvariables._gv_property,"[Product]","caption","")
Eliminación de múltiples propiedades
=SETPROPERTY("XML_properties","key","property","","property,"")
Eliminación de todas las propiedades de una fila
=SETPROPERTY("XML_propertes","key")
SETPROPERTY en hiperbloques
La función SETPROPERTY puede hacer referencia a las celdas del hiperbloque. Cuando se utilizan con hiperbloques, es posible definir estas combinaciones de claves, propiedades y valores en una variable XML:
- Una clave con varios pares de propiedades y valores
- Varias claves con un par de propiedades y valores
- Varias claves con varios pares de propiedades y valores
- Varias claves con varias propiedades y un valor
Ejemplos
En los siguientes ejemplos se utiliza un hiperbloque vertical en las celdas B2, B3 y B4, y una variable global denominada gv_SetProperty. La celda B2 es la columna clave, B3 la columna de propiedades y B4 los valores correspondientes.
Una clave con varios pares de propiedades y valores:
=SETPROPERTY(globalvariables.gv_setproperty,"[Product]",B3,B4)
Varias claves con un par de propiedades y valores:
=SETPROPERTY(globalvariables.gv_setproperty,B2,"Property","Value")
Varias claves con varios pares de propiedades y valores:
=SETPROPERTY(globalvariables.gv_setproperty,B2,B3,B4)
Varias claves con varias propiedades y un valor:
=SETPROPERTY(globalvariables.gv_setproperty,B2,B3,"Value")
Edición y eliminación de propiedades y valores
Cuando se utiliza SETPROPERTY para hacer referencia a las celdas del hiperbloque, es posible realizar las siguientes acciones:
- Eliminar una fila de la definición XML
- Eliminar un valor único
- Eliminación de múltiples propiedades
- Actualizar o establecer un valor único
- Actualizar o establecer múltiples valores
Ejemplos
Eliminación de una fila de la definición XML:
=SETPROPERTY(globalvariables.gv_setproperty,"Key")
Eliminación de un valor único:
=SETPROPERTY(globalvariables.gv_setproperty,"Key","")
=SETPROPERTY("XML_properties","key","property1","","property3","")
Establecimiento de un valor único:
=SETPROPERTY("XML_properties","key","property","value")
Establecimiento de varios valores:
=SETPROPERTY("XML_properties","key","property1","value1","property2",
"Value2","Property3","Value3")
Cambie múltiples valores con el comodín de la clave:
<Table><Row name="Key1"><Property name="property" value ="Value1" /></Row>
<Row name="Key2"><Property name="property" value ="Value2" /></Row></Table>
Para cambiar Value1 y Value2 a NewValue:
=SETPROPERTY("XML_properties"," key*
","property","new_value")
El comodín identifica ambas claves y la fórmula cambia sus dos valores.
Puede cambiar múltiples valores con el comodín de la propiedad:
<Table><Row name="Key1"><Property name="property1" value ="Value1"/>
<Property name="property2" value ="Value11"/></Row>
<Row name="Key2"><Property name="property1" value ="Value2" />
<Property name="property2" value ="Value21"/></Row></Table>
Para cambiar el valor de Property1 y Property2 de Key1, utilice:
=SETPROPERTY("XML_properties","key","property*","new_value")
El comodín identifica Property1 y Property2 de Key1.
Para cambiar las propiedades de ambas claves, utilice un comodín en la clave y en la propiedad:
=SETPROPERTY("XML_properties"
,"key*","property*","new_value")