SETPROPERTY
=SETPROPERTY(ReportVariables.DemoXML.Text, "visibility","ReportObjects.ListView6.Alias" ,"false")
Men når den settes inn i en celle, returnerer den samme formelen den gjeldende verdien av DemoXML-variabelen:<Table><Row name="visibility"><Property name="ReportObjects.ListView6.Alias" value="False" /></Row></Table>
For å endre variabelen må du derfor bruke en handling som tilordner utdataene som returneres av SETPROPERTY-funksjonen tilbake til variabelen.
På et listevisningsobjekt, for eksempel en kombinasjonsboks, kan du for eksempel definere en Angi parametere-handling som skal utløses når valget i kombinasjonsboksen endres. I parameteravsnittet av dialogen Opprett handling velger du variabelen som skal fylles som navn, og definerer en SETPROPERTY-funksjon som verdien. I visningsmodusen fylles parameteren ut når handlingen utløses.
Du kan legge til, endre eller slette enhver egenskap.
Du kan bruke funksjonen for å angi en enkel egenskap og verdi eller flere egenskaper, hver med en verdi. Bruk den for eksempel for å fylle en XML-variabel med verdiene fra skivedimensjonen i en rapport. Du kan også bruke funksjonen for å slette egenskaper og verdier fra en variabel.
SETPROPERTY kan brukes for å referere til spesifikke elementer eller kan brukes for å referere til hyperblokkceller.
Bruk GETPROPERTY til å returnere verdier fra egenskapene for en variabel.
Vi kan ikke garantere rekkefølgen nøkler eller egenskaper sammenlignes i.
Disse eksemplene er basert på Eksempler-applikasjonen og bruker egenskaper med navn Unik og Tittel til å lagre det unike navnet og tittelen til et element:
Syntaks
SETPROPERTY("XML_properties","key","property","value")
Det første argumentet i formelen kan være en variabel eller en streng.
* jokertegnet kan brukes sammen med nøkkel- og egenskapsargumentene for å skrive over eller slette flere verdier samtidig.
Eksempler på enkeltegenskaper og verdier
-
=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")
I alle tre eksemplene er produktdimensjonen nøkkelen og egenspaksnavnet er 'unik'.
I det første eksemplet er produktdimensjonen og det unike navnet til et produkt spesifisert. I det andre eksemplet er navnet til en hyperblokk som inneholder produktdimensjonens spesifisert. Det tredje eksemplet handler om rapportvariabler som inneholder et dimensjonsnavn og et unikt elementnavn.
I XML-definisjon utgjør nøkkelen radnavnet.
Angi flere egenskaper og verdier
SETPROPERTY("XML_properties", "key", "property","value",{,"property"}{,"value"})
Eksempel
=SETPROPERTY(globalvariables._gv_property,"[Product]","unique","[Product].[All
Tires].[Car Tires all Season]","Caption","Car Tires all Season")
Flere nøkler
=SETPROPERTY(SETPROPERTY("XML_properties","key","property","value"),
"key","property","value")
Hver nøkkel utgjør en rad i XML-definisjonen av variabelen.
Eller bruk flere SETPROPERTY-formler i flere handlinger for å fylle en enkel XML-variabel - for eksempel for å lagre filterdimensjonene i en dynamisk rapport.
Slette en enkel egenskap
SETPROPERTY("XML_properties", "key", "property","")
Eksempel
Dette sletter Tittel-egenskapen til en variabel som lagrer det unike navnet og tittelen til et element i produktdimensjonen.
=SETPROPERTY(globalvariables._gv_property,"[Product]","caption","")
Slette flere egenskaper
=SETPROPERTY("XML_properties","key","property","","property,"")
Slette alle egenskaper i en rad
=SETPROPERTY("XML_propertes","key")
SETPROPERTY i hyperblokker
SETPROPERTY-funksjonen kan referere til hyperblokkceller. Når de brukes i hyperblokker er det mulig å definere denne kombinasjonen av nøkler, egenskaper og verdier i en XML-variabel:
- Én nøkkel med flere egenskaper og verdipar
- Flere nøkler med én egenskap og ett verdipar
- Flere nøkler med flere egenskaper og verdipar
- Flere nøkler med flere egenskaper og én verdi
Eksempler
Disse eksemplene bruker en vertikal hyperblokk i cellene B2, B3 og B4 og en global variabel med navnet gv_SetProperty. Celle B2 er nøkkelkolonnen, B3 egenskapskolonnen og B4 tilhørende verdier.
Én nøkkel med flere egenskaper og verdipar:
=SETPROPERTY(globalvariables.gv_setproperty,"[Product]",B3,B4)
Flere nøkler med én egenskap og ett verdipar:
=SETPROPERTY(globalvariables.gv_setproperty,B2,"Property","Value")
Flere nøkler med flere egenskaper og verdipar:
=SETPROPERTY(globalvariables.gv_setproperty,B2,B3,B4)
Flere nøkler med flere egenskaper og én verdi:
=SETPROPERTY(globalvariables.gv_setproperty,B2,B3,"Value")
Redigere og slette egenskaper og verdier
Hvis SETPROPERTY brukes for å referere til hyperblokkceller er disse handlinger mulige:
- Slette en rad fra XML-definisjonen
- Slette en enkel verdi
- Slette flere egenskaper
- Oppdatere eller angi en enkel verdi
- Oppdatere eller angi flere verdier
Eksempler
Slette en rad fra XML-definisjonen:
=SETPROPERTY(globalvariables.gv_setproperty,"Key")
Slette en enkel verdi:
=SETPROPERTY(globalvariables.gv_setproperty,"Key","")
=SETPROPERTY("XML_properties","key","property1","","property3","")
Angi en enkel verdi:
=SETPROPERTY("XML_properties","key","property","value")
Angi flere verdier:
=SETPROPERTY("XML_properties","key","property1","value1","property2",
"Value2","Property3","Value3")
Endre flere verdier med jokertegn på nøkkel:
<Table><Row name="Key1"><Property name="property" value ="Value1" /></Row>
<Row name="Key2"><Property name="property" value ="Value2" /></Row></Table>
For å endre både Verdi1 og Verdi2 til NyVerdi:
=SETPROPERTY("XML_properties"," key*
","property","new_value")
Jokertegnet identifiserer begge nøkler og formelen endrer begge verdiene.
Endre flere variabler med jokertegn på egenskap:
<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>
For å endre verdien til Egenskap1 og Egenskap2 for Nøkkel1, bruk:
=SETPROPERTY("XML_properties","key","property*","new_value")
Jokertegnet identifiserer både Egenskap1 og Egenskap2 til Nøkkel1.
For å endre egenskapene til begge nøkler, bruk et jokertegn på både nøkkel og egenskap:
=SETPROPERTY("XML_properties"
,"key*","property*","new_value")