Dimension PutSubsetDefinition (4.1)
Creates or replaces a subset of a hierarchy.
If you create a new subset, do not define the internal subset name Alea:Subset Name=".."
.
If you replace a subset but do not change its Alea:Description
, you can use this description for the identification of the
subset as in GetSubsetDefinition
.
If you rename an existing subset (Alea:Description
changes), you must specify the Alea:Subset Name="..."
attribute, otherwise a new subset is created.
XPath syntax
Alea:Document
is the XML element.
@Name
is the attribute, member of last
listed XML element.
This table describes the structure of an Alea:Subset
XML element:
XML object | Description |
---|---|
Alea:Subset
|
Mandatory, container for the subset definition. |
@Dimension
|
Read-only, dimension name. |
@Hierarchy |
Optional, the hierarchy of the subset. If the hierarchy is missing, the default hierarchy is used. |
@User
|
Read-only, user name of creator. |
@Name
|
Read-only,
unique name assigned by OLAP Database Worker in PutSubsetDefinition .Can be used by |
@Public
|
Optional, "true" or "false". The default is "false". |
Alea:Description
|
Mandatory, long name of the subset. Unique within the dimension. |
@Language
|
Optional, the only supported value is "Neutral". |
Alea:Union
|
Mandatory, container for element selection. |
Alea:PickList
|
Zero or more static subsets. |
Alea:AttributeQuerys
|
Zero or more definitions of attribute-driven subsets. |
Alea:DataQuery
|
Zero or more definitions of data-driven subsets. |
The resulting subset is the union of all subsets defined in the Alea:Union
element.
Static subsets
This table describes static subsets:
XML object | Description |
---|---|
Alea:PickList
|
|
Alea:Element
|
One or more elements. |
@Name
|
Mandatory, the name of the element. |
OLAP does not reject elements that do not exist or that are not visible to the user. The availability of the elements for the user is checked only at the time when the subset is used. Non-available elements are filtered out.
Attribute-driven subsets
This table describes an attribute-driven subset:
XML object | Description |
---|---|
Alea:AttributeQuery
|
|
@AttribTableID
|
1-based ID of the attribute table. |
@User
|
Read-only, user name who created the subset, returned in answer. |
Alea:AttrConditionGroup
|
One or more condition groups. Condition groups are combined with the OR operator. |
Alea:AttrCondition
|
One or more conditions. Conditions within one ConditionGroup are combined with the AND operator. |
@Operator
|
Mandatory,
comparison operator. The possible values are: "EQ" - Attribute = Value "GE" - Attribute >= Value One or more "GT" - Attribute > Value "LE" - Attribute <= Value "LT" - Attribute < Value "NE" - Attribute <> Value "LIKE" "Enumeration" "OpenInterval" "ClosedInterval" |
@FieldName
|
Mandatory, attribute field name. |
@FieldType
|
Optional, added automatically during the conversion of old subsets into XML format. |
Alea:Value
|
Used in
comparison specified by @Operator . |
This is a simplified example:
<Alea:AttributeQuery>
<Alea:AttrConditionGroup>
<Alea:AttrCondition Operator="EQ" FieldName="ATT1">
<Alea:Value>V1</Alea:Value>
</Alea:AttrCondition>
<Alea:AttrCondition Operator="GT" FieldName="ATT2">
<Alea:Value>1</Alea:Value>
</Alea:AttrCondition>
</Alea:AttrConditionGroup>
<Alea:AttrConditionGroup>
<Alea:AttrCondition Operator="LT" FieldName="ATT3">
<Alea:Value>4</Alea:Value>
</Alea:AttrCondition>
</Alea:AttrConditionGroup>
</Alea:AttributeQuery>
Elements become a member of a subset if:
(ATT1 = 'V1' AND ATT2 > 1) OR (ATT3 < 4)
Data-driven subsets
This table describes data-driven subsets:
XML object | Description |
---|---|
Alea:DataQuery
|
|
Alea:DataArea
|
Mandatory, one instance of dataquery definition. |
@Cube
|
Mandatory, name of cube used in query. |
@NonExistentCellSuppression
|
Mandatory. This XML attribute can be True or False. It specifies if empty cells are included in the respective query. A special case is that a string cell can contain an empty string. That is not the same as an empty cell. |
@UseOnlyBasicElements
|
Mandatory, "true" or "false". |
Alea:PickList
|
Zero or more picklists restricting the data area. |
@Dimension
|
Mandatory, name of the restricted dimension. |
Alea:Element
|
One or more elements of the restricted dimension. |
@Name
|
Mandatory, name of the element. |
Alea:Condition
|
One or two conditions applied on each cell from the data area. |
@Operator
|
Mandatory, comparison operator. The
possible values are: "EQ" - Cell = Value "GE" - Cell >= Value "GT" - Cell > Value "LE" - Cell <= Value "LT" - Cell < Value "NE" - Cell <> Value |
Alea:Value
|
Value used in comparison specified by @Operator. |
Example 1
This example shows a static subset of the default hierarchy.
Request
<Alea:Document xmlns:Alea="http://www.misag.com">
<Alea:Request RequestID="1" Class="Dimension" Method="PutSubsetDefinition">
<Alea:Dimension Name="REGION">
<Alea:Subset Public="true">
<Alea:Description>EUR</Alea:Description>
<Alea:Union>
<Alea:PickList>
<Alea:Element Name="Austria" />
<Alea:Element Name="Belgium" />
<Alea:Element Name="France" />
<Alea:Element Name="Germany" />
<Alea:Element Name="Greece" />
<Alea:Element Name="Ireland" />
<Alea:Element Name="Italy" />
<Alea:Element Name="Netherlands" />
<Alea:Element Name="Portugal" />
<Alea:Element Name="Spain" />
</Alea:PickList>
</Alea:Union>
</Alea:Subset>
</Alea:Dimension>
</Alea:Request>
</Alea:Document>
Answer
<Alea:Document>
<Alea:Request RequestID="1">
<Alea:Return>
<Alea:Subset Public="true" Dimension="REGION" Name=" 5" User="Admin" Hierarchy="REGION">
<Alea:Description>EUR</Alea:Description>
<Alea:Union>
<Alea:PickList>
<Alea:Element Name="Austria"/>
<Alea:Element Name="Belgium"/>
<Alea:Element Name="France"/>
<Alea:Element Name="Germany"/>
<Alea:Element Name="Greece"/>
<Alea:Element Name="Ireland"/>
<Alea:Element Name="Italy"/>
<Alea:Element Name="Netherlands"/>
<Alea:Element Name="Portugal"/>
<Alea:Element Name="Spain"/>
</Alea:PickList>
</Alea:Union>
</Alea:Subset>
</Alea:Return>
</Alea:Request>
</Alea:Document>
Example 2
This example shows a static subset of a non-default hierarchy.
Request
<Alea:Document xmlns:Alea="http://www.misag.com">
<Alea:Request RequestID="5" Class="Dimension" Method="PutSubsetDefinition">
<Alea:Dimension Name="PRODUCT">
<Alea:Subset Public="true" Hierarchy="Tire Size">
<Alea:Description>Small</Alea:Description>
<Alea:Union>
<Alea:PickList>
<Alea:Element Name="145" />
<Alea:Element Name="155" />
<Alea:Element Name="165" />
</Alea:PickList>
</Alea:Union>
</Alea:Subset>
</Alea:Dimension>
</Alea:Request>
</Alea:Document>
Answer
<Alea:Document>
<Alea:Request RequestID="5">
<Alea:Return>
<Alea:Subset Public="true" Hierarchy="Tire Size" Dimension="PRODUCT" Name=" 8" User="Admin">
<Alea:Description>Small</Alea:Description>
<Alea:Union>
<Alea:PickList>
<Alea:Element Name="145"/>
<Alea:Element Name="155"/>
<Alea:Element Name="165"/>
</Alea:PickList>
</Alea:Union>
</Alea:Subset>
</Alea:Return>
</Alea:Request>
</Alea:Document>
Example 3
This example shows an attribute-driven subset.
Request
<Alea:Document xmlns:Alea="http://www.misag.com">
<Alea:Request RequestID="2" Class="Dimension" Method="PutSubsetDefinition">
<Alea:Dimension Name="PRODUCT">
<Alea:Subset Public="true">
<Alea:Description>ExampleSubset2</Alea:Description>
<Alea:Union>
<Alea:AttributeQuery AttribTableID="1">
<Alea:AttrConditionGroup>
<Alea:AttrCondition Operator="GT" FieldName="PRODUCTI">
<Alea:Value>17</Alea:Value>
</Alea:AttrCondition>
</Alea:AttrConditionGroup>
</Alea:AttributeQuery>
</Alea:Union>
</Alea:Subset>
</Alea:Dimension>
</Alea:Request>
</Alea:Document>
Answer
<Alea:Document>
<Alea:Request RequestID="2">
<Alea:Return>
<Alea:Subset Public="true" Dimension="PRODUCT" Name=" 6" User="Admin" Hierarchy="PRODUCT">
<Alea:Description>ExampleSubset2</Alea:Description>
<Alea:Union>
<Alea:AttributeQuery AttribTableID="1">
<Alea:AttrConditionGroup>
<Alea:AttrCondition Operator="GT" FieldName="PRODUCTI">
<Alea:Value>17</Alea:Value>
</Alea:AttrCondition>
</Alea:AttrConditionGroup>
</Alea:AttributeQuery>
</Alea:Union>
</Alea:Subset>
</Alea:Return>
</Alea:Request>
</Alea:Document>
Example 4
This example shows a data-driven subset.
Request
<Alea:Document xmlns:Alea="http://www.misag.com">
<Alea:Request RequestID="3" Class="Dimension" Method="PutSubsetDefinition">
<Alea:Dimension Name="PRODUCT">
<Alea:Subset Public="true">
<Alea:Description>ExampleSubset3</Alea:Description>
<Alea:Union>
<Alea:DataQuery>
<Alea:DataArea Cube="ANALYSIS" NonExistentCellSuppression="true" UseOnlyBasicElements="true">
<Alea:PickList Dimension="Period">
<Alea:Element Name="2016_Q1_01" />
</Alea:PickList>
<Alea:PickList Dimension="POS">
<Alea:Element Name="Bodyshops" />
</Alea:PickList>
<Alea:PickList Dimension="REGION">
<Alea:Element Name="Norway" />
</Alea:PickList>
<Alea:PickList Dimension="CHANNEL">
<Alea:Element Name="Direct Sales" />
</Alea:PickList>
<Alea:PickList Dimension="VALTYPE">
<Alea:Element Name="Actual" />
</Alea:PickList>
<Alea:PickList Dimension="MEASURE">
<Alea:Element Name="Units" />
</Alea:PickList>
</Alea:DataArea>
<Alea:Condition Operator="GT">
<Alea:Value>100</Alea:Value>
</Alea:Condition>
<Alea:Condition Operator="LT">
<Alea:Value>400</Alea:Value>
</Alea:Condition>
</Alea:DataQuery>
</Alea:Union>
</Alea:Subset>
</Alea:Dimension>
</Alea:Request>
</Alea:Document>
Answer
<Alea:Document>
<Alea:Request RequestID="3">
<Alea:Return>
<Alea:Subset Public="true" Dimension="PRODUCT" Name=" 7" User="Admin" Hierarchy="PRODUCT">
<Alea:Description>ExampleSubset3</Alea:Description>
<Alea:Union>
<Alea:DataQuery>
<Alea:DataArea Cube="ANALYSIS" NonExistentCellSuppression="true" UseOnlyBasicElements="true">
<Alea:PickList Dimension="Period">
<Alea:Element Name="2016_Q1_01"/>
</Alea:PickList>
<Alea:PickList Dimension="POS">
<Alea:Element Name="Bodyshops"/>
</Alea:PickList>
<Alea:PickList Dimension="REGION">
<Alea:Element Name="Norway"/>
</Alea:PickList>
<Alea:PickList Dimension="CHANNEL">
<Alea:Element Name="Direct Sales"/>
</Alea:PickList>
<Alea:PickList Dimension="VALTYPE">
<Alea:Element Name="Actual"/>
</Alea:PickList>
<Alea:PickList Dimension="MEASURE">
<Alea:Element Name="Units"/>
</Alea:PickList>
</Alea:DataArea>
<Alea:Condition Operator="GT">
<Alea:Value>100</Alea:Value>
</Alea:Condition>
<Alea:Condition Operator="LT">
<Alea:Value>400</Alea:Value>
</Alea:Condition>
</Alea:DataQuery>
</Alea:Union>
</Alea:Subset>
</Alea:Return>
</Alea:Request>
</Alea:Document>