SETPROPERTY
=SETPROPERTY(ReportVariables.DemoXML.Text, "visibility","ReportObjects.ListView6.Alias" ,"false")
그러나 셀에 삽입된 경우 같은 수식은 DemoXML 변수의 현재 값을 반환합니다.<Table><Row name="visibility"><Property name="ReportObjects.ListView6.Alias" value="False" /></Row></Table>
그러므로 이 변수를 수정하려면 SETPROPERTY 함수로 변수에 다시 반환된 출력을 할당하는 작업을 사용해야 합니다.
예를 들어 콤보 상자 같은 목록 뷰 개체에서 콤보 상자의 선택 사항이 변경될 때 매개 변수 설정 작업이 트리거되도록 정의합니다. 작업 만들기 대화 상자의 매개 변수 섹션에서 이름으로 채울 변수를 선택하고 SETPROPERTY 함수를 값으로 정의하십시오. 뷰 모드에서 해당 작업이 트리거되면 매개 변수가 채워집니다.
속성을 추가, 수정 또는 삭제할 수 있습니다.
이 함수를 사용하여 단일 속성 및 값을 설정하거나 값이 각각 있는 여러 속성을 설정할 수 있습니다. 예를 들어 이를 사용하여 XML 변수에 보고서의 조각 차원 값을 채웁니다. 이 함수를 사용하여 변수에서 속성 및 값을 삭제할 수도 있습니다.
SETPROPERTY는 특정 요소를 참조하는 데 사용할 수 있거나 하이퍼블록 셀을 참조하는 데 사용할 수 있습니다.
변수 속성에서 값을 반환하려면 GETPROPERTY를 사용합니다.
키 또는 속성이 일치하는 순서는 보장되지 않습니다.
이 예제는 샘플 응용 프로그램을 기반으로 하며 Unique 및 Caption이라는 속성을 사용하여 요소의 고유 이름과 설명을 저장합니다.
구문
SETPROPERTY("XML_properties","key","property","value")
수식의 첫 번째 인수는 변수 또는 문자열일 수 있습니다.
* 와일드카드 문자는 키(key) 및 속성(property) 인수와 함께 사용하여 여러 값을 동시에 덮어쓰거나 삭제할 수 있습니다.
단일 속성 및 값의 예
-
=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")
세 가지 예 모두에서 Product 차원이 키이고 속성 이름이 'Unique'입니다.
첫 번째 예에서는 Product 차원과 제품의 고유 이름이 지정됩니다. 두 번째 예에서는 Product 차원이 포함된 하이퍼블록 이름이 지정됩니다. 세 번째 예는 차원 이름과 요소 고유 이름이 포함된 보고서 변수를 참조합니다.
XML 정의에서 키는 행 이름을 형성합니다.
여러 속성 및 값 설정
SETPROPERTY("XML_properties", "key", "property","value",{,"property"}{,"value"})
예제
=SETPROPERTY(globalvariables._gv_property,"[Product]","unique","[Product].[All
Tires].[Car Tires all Season]","Caption","Car Tires all Season")
다중 키
=SETPROPERTY(SETPROPERTY("XML_properties","key","property","value"),
"key","property","value")
각 키는 변수의 XML 정의에 행을 형성합니다.
또는 여러 작업에서 여러 SETPROPERTY 수식을 사용하여 단일 XML 변수를 채웁니다. 예를 들어 필터 차원을 동적 보고서에 저장하는 등의 작업을 수행할 수 있습니다.
단일 속성 삭제
SETPROPERTY("XML_properties", "key", "property","")
예제
그러면 Product 차원의 요소의 고유 이름과 설명을 저장하는 변수에서 Caption 속성이 삭제됩니다.
=SETPROPERTY(globalvariables._gv_property,"[Product]","caption","")
여러 속성 삭제
=SETPROPERTY("XML_properties","key","property","","property,"")
행의 모든 속성 삭제
=SETPROPERTY("XML_propertes","key")
하이퍼블록 내 SETPROPERTY
SETPROPERTY 함수는 하이퍼블록 셀을 참조할 수 있습니다. 하이퍼블록과 함께 사용하면 XML 변수에 키, 속성 및 값의 이러한 조합을 정의할 수 있습니다.
- 여러 속성 및 값 쌍이 있는 하나의 키
- 하나의 속성 및 값 쌍을 가진 다중 키
- 여러 속성 및 값 쌍이 있는 다중 키
- 여러 속성과 하나의 값을 가진 다중 키
예제
이 예제에서는 B2, B3 및 B4 셀의 세로 하이퍼블록과 gv_SetProperty이라는 글로벌 변수를 사용합니다. 셀 B2는 키 열이고 B3은 속성 열이며 B4는 해당 값입니다.
여러 속성 및 값 쌍이 있는 하나의 키:
=SETPROPERTY(globalvariables.gv_setproperty,"[Product]",B3,B4)
하나의 속성 및 값 쌍을 가진 다중 키:
=SETPROPERTY(globalvariables.gv_setproperty,B2,"Property","Value")
여러 속성 및 값 쌍이 있는 다중 키:
=SETPROPERTY(globalvariables.gv_setproperty,B2,B3,B4)
여러 속성과 하나의 값을 가진 다중 키:
=SETPROPERTY(globalvariables.gv_setproperty,B2,B3,"Value")
속성 및 값 편집 및 삭제
SETPROPERTY를 사용하여 하이퍼블록 셀을 참조하면 다음 작업을 수행할 수 있습니다.
- XML 정의에서 행 삭제
- 단일 값 삭제
- 여러 속성 삭제
- 단일 값 업데이트 또는 설정
- 다중 값 업데이트 또는 설정
예제
XML 정의에서 행 삭제:
=SETPROPERTY(globalvariables.gv_setproperty,"Key")
단일 값 삭제:
=SETPROPERTY(globalvariables.gv_setproperty,"Key","")
=SETPROPERTY("XML_properties","key","property1","","property3","")
단일 값 설정:
=SETPROPERTY("XML_properties","key","property","value")
다중 값 설정:
=SETPROPERTY("XML_properties","key","property1","value1","property2",
"Value2","Property3","Value3")
키에 와일드카드를 사용하여 다중 값 변경:
<Table><Row name="Key1"><Property name="property" value ="Value1" /></Row>
<Row name="Key2"><Property name="property" value ="Value2" /></Row></Table>
Value1과 Value2를 모두 NewValue로 변경하려면 다음을 수행하십시오.
=SETPROPERTY("XML_properties"," key*
","property","new_value")
와일드카드는 두 키를 모두 식별하며 수식은 두 값을 모두 변경합니다.
속성에서 와일드카드로 다중 값 변경:
<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>
Key1의 Property1 및 Property2 값을 변경하려면 다음을 사용하십시오.
=SETPROPERTY("XML_properties","key","property*","new_value")
와일드카드는 Key1의 Property1과 Property2를 모두 식별합니다.
두 키의 속성을 변경하려면 키와 속성 모두에 와일드카드를 사용하십시오.
=SETPROPERTY("XML_properties"
,"key*","property*","new_value")