3.1.4.2.2.1.3.63.1 Columns

The MDSCHEMA_FUNCTIONS rowset contains the following columns.

Name

Type

Restriction

Description

FUNCTION_NAME           

xsd:string

No

The name of the function.

DESCRIPTION

xsd:string

No

A description of the function.

PARAMETER_LIST

xsd:string

No

A description the parameters accepted by the function.

RETURN_TYPE

xsd:int

No

The OLE DB data type that is returned by the function.

ORIGIN

xsd:int

Yes

The possible values are as follows:

  • (0x1) MSOLAP

  • (0x2) UDF

  • (0x3) RELATIONAL

  • (0x4) SCALAR

INTERFACE_NAME

xsd:string

Yes

A logical classification of the type of function. For example:

  • DATETIME

  • LOGICAL

  • FILTER

LIBRARY_NAME<355>

xsd:string

Yes

The library that implements the function.

DLL_NAME

xsd:string

No

Unused

HELP_FILE

xsd:string

No

Unused

HELP_CONTEXT

xsd:int

No

Unused

OBJECT

xsd:string

No

The type of object on which this function can be called. For example, the Children MDX function can be called on a Member object.

CAPTION

xsd:string

No

The caption of the function.

PARAMETERINFO

nested rowset

No

The parameters that can be provided to this function.

DIRECTQUERY_PUSHABLE

xsd:int

No

A bitmask that indicates the scenarios in which this function can be used when the model is in DirectQuery mode. The possible values are as follows:

  • (0x1) MEASURE: This function can be used in measure expressions.

  • (0x2) CALCCOL: This function can be used in calculated column expressions.

VISUAL_CALCULATIONS_INFO

xsd:int

No

A bitmask with information regarding the use of this function in relation to visual calculations. Currently only the first bit is used. A value of (0x1) indicates that the function can only be used in visual calculations.

The PARAMETERINFO column is a nested rowset. The following table describes the columns of that rowset.

Name

Type

Restriction

Description

NAME

xsd:string

No

The name of the parameter.

DESCRIPTION

xsd:string

No

The description of the parameter.

OPTIONAL

xsd:boolean

No

A Boolean that, when true, indicates that the parameter is optional.

REPEATABLE

xsd:boolean

No

A Boolean that, when true, indicates that multiple values can be specified for this parameter.

REPEATGROUP

xsd:int

No

The index of the repeat group of this parameter.

SKIPPABLE

xsd:boolean

No

A Boolean that, when true, indicates that the parameter can be fully skipped. That is, when using the respective function, the user can omit not only the parameter but also the separator comma.

For example, the Axis parameter of the FIRST visual calculation function is optional and skippable, so the following usages are all valid and equivalent:

§ FIRST([Sales], ROWS, DEFAULT)

§ FIRST([Sales], , DEFAULT)

§ FIRST([Sales], DEFAULT)

The rowset is not sorted.

The response has the following definition.

       <xsd:element name="root">
         <xsd:complexType>
           <xsd:sequence minOccurs="0" maxOccurs="unbounded">
             <xsd:element name="row" type="row" />
           </xsd:sequence>
         </xsd:complexType>
       </xsd:element>
       <xsd:complexType name="row">
         <xsd:sequence>
           <xsd:element sql:field="FUNCTION_NAME" name="FUNCTION_NAME" type="xsd:string" 
                        minOccurs="0" />
           <xsd:element sql:field="DESCRIPTION" name="DESCRIPTION" type="xsd:string" 
                        minOccurs="0" />
           <xsd:element sql:field="PARAMETER_LIST" name="PARAMETER_LIST" type="xsd:string" 
                        minOccurs="0" />
           <xsd:element sql:field="RETURN_TYPE" name="RETURN_TYPE" type="xsd:int" 
                        minOccurs="0" />
           <xsd:element sql:field="ORIGIN" name="ORIGIN" type="xsd:int" minOccurs="0" />
           <xsd:element sql:field="INTERFACE_NAME" name="INTERFACE_NAME" type="xsd:string" 
                        minOccurs="0" />
           <xsd:element sql:field="LIBRARY_NAME" name="LIBRARY_NAME" type="xsd:string" 
                        minOccurs="0" />
           <xsd:element sql:field="DLL_NAME" name="DLL_NAME" type="xsd:string" 
                        minOccurs="0" />
           <xsd:element sql:field="HELP_FILE" name="HELP_FILE" type="xsd:string" 
                        minOccurs="0" />
           <xsd:element sql:field="HELP_CONTEXT" name="HELP_CONTEXT" type="xsd:int" 
                        minOccurs="0" />
           <xsd:element sql:field="OBJECT" name="OBJECT" type="xsd:string" minOccurs="0" />
           <xsd:element sql:field="CAPTION" name="CAPTION" type="xsd:string" minOccurs="0" />
           <xsd:element sql:field="PARAMETERINFO" name="PARAMETERINFO" minOccurs="0" 
                        maxOccurs="unbounded">
             <xsd:complexType>
               <xsd:sequence>
                 <xsd:element sql:field="NAME" name="NAME" type="xsd:string" minOccurs="0" />
                 <xsd:element sql:field="DESCRIPTION" name="DESCRIPTION" type="xsd:string" 
                              minOccurs="0" />
                 <xsd:element sql:field="OPTIONAL" name="OPTIONAL" type="xsd:boolean" 
                              minOccurs="0" />
                 <xsd:element sql:field="REPEATABLE" name="REPEATABLE" type="xsd:boolean" 
                              minOccurs="0" />
                 <xsd:element sql:field="REPEATGROUP" name="REPEATGROUP" type="xsd:int" 
                              minOccurs="0" />
               </xsd:sequence>
             </xsd:complexType>
           </xsd:element>
           <xsd:element sql:field="DIRECTQUERY_PUSHABLE" name="DIRECTQUERY_PUSHABLE" 
                        type="xsd:int" minOccurs="0" />
         </xsd:sequence>
       </xsd:complexType>