2.8 Filter

Applies to RDLRS 2011/01, RDLRS 2012/01, and RDLRS 2013/01

The Filter element describes the state of a filter within a ReportSection or a DataRegion.

Mode: Specifies an element that describes the state of the filter's mode.  The Mode element MUST be specified.

In RDLRS 2011/01, the values and meanings for the Mode element are as follows.

Value

Meaning

Advanced

The filter is in advanced mode.

Basic

The filter is in basic mode.

Cleared

The filter is cleared.

In RDLRS 2012/01 and RDLRS 2013/01, the values and meanings for the Mode element are as follows.

Value

Meaning

Advanced

The filter is in advanced mode.

Cleared

The filter is cleared.

List

The filter is a list filter.

Range

The filter is a range filter.

IsMeasure: Specifies whether this filter is applied to aggregated data. The IsMeasure element is optional and MUST NOT specified more than once.

Operand: Specifies an element that describes the state of an operand that was used in a filter. The Operand element MUST be specified and MUST NOT be specified more than once.

Operand.QueryExpression: Specifies a QueryExpression that was used as the filter operand. The Operand.QueryExpression element MUST be specified and MUST NOT be specified more than once.

Condition: Specifies an element that describes the state of a condition in a filter. The Condition element is optional and MUST NOT be specified more than once.

Condition.CompoundFilterCondition: Specifies a CompoundFilterCondition that describes a set of conditions that are logically combined through a filter operator. The Condition.CompoundFilterCondition element MUST be specified and MUST NOT be specified more than once.

Type: Specifies the PrimitiveType of the data being filtered. The Type attribute MUST be specified and MUST NOT be specified more than once.

IsDrilldownFilter: Specifies a Boolean value that indicates whether drilling down is enabled within the DataRegion associated with this filter. The IsDrilldownFilter element is optional and MUST not be specified more than once. If IsDrilldownFilter is not specified, its value is interpreted as false. (Applies to RDLRS 2012/01.

Following is the XSD for the Filter element.

   <xs:complexType name="FilterType">
     <xs:sequence>
       <xs:choice>
         <xs:element name="Mode">
           <xs:simpleType>
             <xs:restriction base="xs:string">
               <xs:enumeration value="Advanced" />
               <xs:enumeration value="Basic" />
               <xs:enumeration value="Cleared" />
             </xs:restriction>
           </xs:simpleType>
         </xs:element>
         <xs:element ref="rs2012:Mode" />
       </xs:choice>
       <xs:element name="IsMeasure" minOccurs="0" />
       <xs:element ref="rs2012:IsDrilldownFilter" minOccurs="0" /> 
       <xs:element name="Operand">
         <xs:complexType>
           <xs:sequence>
             <xs:element name="QueryExpression" type="QueryExpression"/>
           </xs:sequence>
         </xs:complexType>
       </xs:element>
       <xs:element name="Condition" minOccurs="0">
         <xs:complexType>
           <xs:sequence>
             <xs:element name="CompoundFilterCondition" type="CompoundFilterCondition"/>
           </xs:sequence>
         </xs:complexType>
       </xs:element>
     </xs:sequence>
     <xs:attribute name="Type" type="PrimitiveType" />
   </xs:complexType> 
            

RDLRS 2012/01 and RDLRS 2013/01 define the Mode element as follows.

         <xs:element name="Mode">
           <xs:simpleType>
             <xs:restriction base="xs:string">
               <xs:enumeration value="Advanced" />
               <xs:enumeration value="Cleared" />
               <xs:enumeration value="List" />
               <xs:enumeration value="Range" />
             </xs:restriction>
           </xs:simpleType>
         </xs:element>