SETPROPERTY
=SETPROPERTY(ReportVariables.DemoXML.Text, "visibility","ReportObjects.ListView6.Alias" ,"false")
Wenn sie jedoch in eine Zelle eingefügt wird, gibt dieselbe Formel den aktuellen Wert der DemoXML-Variable zurück:<Table><Row name="visibility"><Property name="ReportObjects.ListView6.Alias" value="False" /></Row></Table>
Um die Variable zu ändern, müssen Sie also eine Aktion verwenden, die die Ausgabe zuweist, die von der SETPROPERTY-Funktion an die Variable zurückgegeben wird.
Definieren Sie beispielsweise bei einem ListView-Objekt wie einem Kombinationsfeld eine Aktion Parameter setzen, die ausgelöst werden soll, wenn sich die Auswahl im Kombinationsfeld ändert. Wählen Sie im Bereich Parameter des Dialogs Aktion erstellen die zu füllende Variable als Name aus, und definieren Sie die Funktion SETPROPERTY als Wert. Im Ansichtsmodus wird der Parameter gefüllt, wenn die Aktion ausgelöst wird.
Sie können Eigenschaften hinzufügen, ändern oder löschen.
Sie können die Funktion verwenden, um eine einzelne Eigenschaft und einen Wert oder mehrere Eigenschaften mit Werten festzulegen. Sie können sie beispielsweise verwenden, um eine XML-Variable mit den Werten der Slice-Dimensionen in einem Bericht zu füllen. Sie können die Funktion auch verwenden, um Eigenschaften und Werte einer Variablen zu löschen.
Mit SETPROPERTY können Sie bestimmte Elemente oder Hyperblock-Zellen referenzieren.
Um Eigenschaftswerte einer Variablen zurückzugeben, verwenden Sie GETPROPERTY.
Es besteht keine Garantie für die Reihenfolge, in der Schlüssel oder Eigenschaften zugeordnet werden.
Diese Beispiele verwenden Eigenschaften namens Eindeutig und Caption, um den eindeutigen Namen und die Caption eines Elements zu speichern:
Syntax
SETPROPERTY("XML_properties","key","property","value")
Das erste Argument der Formel kann eine Variable oder eine Zeichenfolge sein.
Das Platzhalterzeichen * kann mit den Schlüssel- und Eigenschaftsargumenten verwendet werden, um mehrere Werte gleichzeitig zu überschreiben oder zu löschen.
Beispiele für einzelne Eigenschaften und Werte
-
=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")
In allen drei Beispielen ist die Dimension Product der Schlüssel, und der Eigenschaftsname ist 'Unique'.
Im ersten Beispiel werden die Dimension Product und der eindeutige Name eines Produkts angegeben. Im zweiten Beispiel wird der Name eines Hyperblocks angegeben, der die Dimension Product enthält. Im dritten Beispiel werden Berichtsvariablen referenziert, die einen Dimensionsnamen und einen eindeutigen Elementnamen enthalten.
In der XML-Definition bildet der Schlüssel den Zeilennamen.
Mehrere Eigenschaften und Werte festlegen
SETPROPERTY("XML_properties", "key", "property","value",{,"property"}{,"value"})
Beispiel
=SETPROPERTY(globalvariables._gv_property,"[Product]","unique","[Product].[All
Tires].[Car Tires all Season]","Caption","Car Tires all Season")
Mehrere Schlüssel
=SETPROPERTY(SETPROPERTY("XML_properties","key","property","value"),
"key","property","value")
Jeder Schlüssel bildet eine Zeile in der XML-Definition der Variablen.
Alternativ verwenden Sie mehrere SETPROPERTY-Formeln in mehreren Aktionen, um eine einzelne XML-Variable zu füllen – z. B. um die Filterdimensionen in einem dynamischen Bericht zu speichern.
Einzelne Eigenschaft löschen
SETPROPERTY("XML_properties", "key", "property","")
Beispiel
In diesem Beispiel wird die Eigenschaft Caption einer Variablen gelöscht, die den eindeutigen Namen und die Caption eines Elements der Dimension Product speichert.
=SETPROPERTY(globalvariables._gv_property,"[Product]","caption","")
Mehrere Eigenschaften löschen
=SETPROPERTY("XML_properties","key","property","","property,"")
Alle Eigenschaften einer Zeile löschen
=SETPROPERTY("XML_propertes","key")
SETPROPERTY in Hyperblocks
Mit der Funktion SETPROPERTY können Sie Hyperblock-Zellen referenzieren. In Verbindung mit Hyperblocks ist es möglich, diese Kombinationen aus Schlüsseln, Eigenschaften und Werten in einer XML-Variablen zu definieren:
- Ein Schlüssel mit mehreren Eigenschaft-Wert-Paaren
- Mehrere Schlüssel mit einem Eigenschaft-Wert-Paar
- Mehrere Schlüssel mit mehreren Eigenschaft-Wert-Paaren
- Mehrere Schlüssel mit mehreren Eigenschaften und einem Wert
Beispiele
In diesen Beispielen wird ein Hyperblock in den Zellen B2, B3 und B4 sowie eine globale Variable mit dem Namen gv_SetProperty verwendet. Zelle B2 ist die Schlüsselspalte, B3 ist die Eigenschaftenspalte, und B4 enthält die entsprechenden Werte.
Ein Schlüssel mit mehreren Eigenschaft-Wert-Paaren:
=SETPROPERTY(globalvariables.gv_setproperty,"[Product]",B3,B4)
Mehrere Schlüssel mit einem Eigenschaft-Wert-Paar:
=SETPROPERTY(globalvariables.gv_setproperty,B2,"Property","Value")
Mehrere Schlüssel mit mehreren Eigenschaft-Wert-Paaren:
=SETPROPERTY(globalvariables.gv_setproperty,B2,B3,B4)
Mehrere Schlüssel mit mehreren Eigenschaften und einem Wert:
=SETPROPERTY(globalvariables.gv_setproperty,B2,B3,"Value")
Eigenschaften und Werte bearbeiten und löschen
Bei Verwendung von SETPROPERTY für die Referenzierung von Hyperblock-Zellen sind folgende Aktionen möglich:
- Eine Zeile aus der XML-Definition löschen
- Einzelnen Wert löschen
- Mehrere Eigenschaften löschen
- Einzelnen Wert aktualisieren oder festlegen
- Mehrere Werte aktualisieren oder festlegen
Beispiele
Eine Zeile aus der XML-Definition löschen:
=SETPROPERTY(globalvariables.gv_setproperty,"Key")
Einzelnen Wert löschen:
=SETPROPERTY(globalvariables.gv_setproperty,"Key","")
=SETPROPERTY("XML_properties","key","property1","","property3","")
Einzelnen Wert festlegen:
=SETPROPERTY("XML_properties","key","property","value")
Mehrere Werte festlegen:
=SETPROPERTY("XML_properties","key","property1","value1","property2",
"Value2","Property3","Value3")
Mehrere Werte ändern mit Platzhalter für Schlüssel:
<Table><Row name="Key1"><Property name="property" value ="Value1" /></Row>
<Row name="Key2"><Property name="property" value ="Value2" /></Row></Table>
So ändern Sie sowohl Value1 als auch Value2 in NewValue:
=SETPROPERTY("XML_properties"," key*
","property","new_value")
Der Platzhalter identifiziert beide Schlüssel, und die Formel ändert deren Werte.
Mehrere Werte ändern mit Platzhalter für Eigenschaft:
<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>
So ändern Sie den Wert von Property1 und Property2 von Key1:
=SETPROPERTY("XML_properties","key","property*","new_value")
Der Platzhalter identifiziert sowohl Property1 als auch Property2 von Key1.
Um die Eigenschaften beider Schlüssel zu ändern, verwenden Sie einen Platzhalter für Key und Property:
=SETPROPERTY("XML_properties"
,"key*","property*","new_value")