OLE DB for OLAP adds a number of properties to the DBPROPSET_DATASOURCEINFO property set of a data source object. These properties give the consumer information about variations among multidimensional providers.
Property ID |
Description |
MDPROP_FLATTENING_
SUPPORT |
Type: VT_I4
Typical R/W: R
Description: Flattening Support.
If the value of this property is:
-
MDPROPVAL_FS_FULL_SUPPORT, then the provider supports flattening as described in “Flattening a Dataset to Produce a Rowset” in chapter 2.
-
MDPROPVAL_FS_GENERATED_COLUMN, then the provider supports flattening by using dummy names, as described in Chapter 2, “Lack of Support for Named Levels.”
-
MDPROPVAL_FS_GENERATED_DIMENSION, then the provider supports flattening by generating one column per dimension as described in Chapter 2, “Lack of Support for Named Levels.”
-
MDPROPVAL_FS_NO_SUPPORT, then the provider does not support flattening. For such a provider, calling ICommand::Execute with a language dialect of MDGUID_MDX and asking for the IRowset interface returns an error (E_NOINTERFACE).
|
MDPROP_NAMED_LEVELS |
Type: VT_I4
Typical R/W: R
Description: Support for named levels.
A bitmask specifying whether the provider supports named levels and/or numbered levels. Can be one or more of the following values:
-
MDPROPVAL_NL_NAMEDLEVELS, which means that the provider supports named levels.
-
MDPROPVAL_NL_NUMBEREDLEVELS, which means that the provider supports numbered levels using the LEVELS(n) function.
|
DBPROP_DATASOURCE_TYPE |
Type: VT_I4
Typical R/W: R
Description: Data source type.
If the value of this property is:
-
DBPROPVAL_DST_TDP, then it means that the provider is a tabular data provider.
-
DBPROPVAL_DST_MDP, then it means that the provider is a multidimensional provider.
-
DBPROPVAL_DST_TDPANDMDP, then it means that the provider is both a TDP and MDP.
Note that DBPROPVAL_DST_TDPANDMDP is the bitwise OR of DBPROPVAL_DST_TDP and DBPROPVAL_DST_MDP.
|
MDPROP_MDX_JOINCUBES |
Type: VT_I4
Typical R/W: R
Description: Support for query joining multiple cubes.
A bitmask that can be a combination of zero or more of the following:
-
MDPROPVAL_MJC_IMPLICITCUBE, which means that the provider supports an empty FROM clause. The cube is implicitly resolved by the axis and slicer dimensions.
-
MDPROPVAL_MJC_SINGLECUBE, which means that the provider supports only one cube in the CONTEXT clause of the MDX statement.
-
MDPROPVAL_MJC_MULTICUBES, which means that the provider supports more than one cube in the CONTEXT clause of the MDX statement.
|
MDPROP_AXES |
Type: VT_I4
Typical R/W: R
Description: Number of axes in the dataset.
The value of this property is the maximum number of axes that the provider supports in the dataset. To be compliant with OLE DB for OLAP, this value must be at least 3.
|
MDPROP_AGGREGATECELL_
UPDATE |
Type: VT_I4
Typical R/W: R
Description: Support for updating aggregated cells.
If the value of this property is:
-
MDPROPVAL_AU_UNSUPPORTED, then it means that the provider does not support updating nonatomic cells.
-
MDPROPVAL_AU_UNCHANGED, then it means that the provider supports updating of aggregated cells, but the value of cells beneath the aggregated cell remains unchanged.
-
MDPROPVAL_AU_UNKNOWN, then it means that the provider supports updating of aggregated cells, but the value of cells beneath the aggregated cell remains undefined.
|
MDPROP_RANGEROWSET |
Type: VT_I4
Typical R/W: R
Description: Support for cell updates.
If the value of this property is:
-
MDPROPVAL_RR_NORANGEROWSET, then it means that the provider does not support IMDRangeRowset interface.
-
MDPROPVAL_RR_READONLY, then it means that the provider supports a read-only range rowset.
-
MDPROPVAL_RR_UPDATE, then it means that the provider supports an updatable range rowset.
|
MDPROP_MDX_SLICER |
Type: VT_I4
Typical R/W: R
Description: The capabilities in the WHERE clause of an MDX statement.
If the value of this property is:
-
MDPROPVAL_MS_SINGLETUPLE, it means that the provider supports only one tuple in the WHERE clause.
-
MDPROPVAL_MS_MULTIPLETUPLES, it means that the provider supports more than one tuple in the WHERE clause.
|
MDPROP_MDX_
OBJQUALIFICATION |
Type: VT_I4
Typical R/W: R
Description: Provider’s ability to qualify a cube name.
A bitmask specifying how MD schema object names can be qualified in an MDX expression. Can be a combination of zero or more of the following:
|
MDPROP_MDX_
OUTERREFERENCE |
Type: VT_I4
Typical R/W: R
Description: Support for outer reference in an MDX statement.
-
If the value of this property is
-
MDPROPVAL_MO_TUPLE, then it means that the provider supports tuple[.VALUE] to be qualified by a cube_name argument in an MDX statement.
|
MDPROP_MDX_
QUERYBYPROPERTY |
Type: VT_BOOL
Typical R/W: R
Description: Support for querying by property values in an MDX statement.
|
MDPROP_MDX_CASESUPPORT |
Type: VT_I4
Typical R/W: R
Description: Support for MDX case statements.
A bitmask specifying the support in a provider for case statements. Can be a combination of zero or more of the following:
-
MDPROPVAL_MC_SIMPLECASE, which means that the provider supports a simple case statement.
-
MDPROPVAL_MC_SEARCHEDCASE, which means that the provider supports a searched case statement.
|
MDPROP_MDX_STRING_
COMPOP |
Type: VT_I4
Typical R/W: R
Description: Support for string comparison operators other than equals and not-equals operators.
A bitmask specifying the support in a provider for string comparison operators. Can be a combination of zero or more of the following:
-
MDPROPVAL_MSC_LESSTHAN, which means that the provider supports the less-than operator.
-
MDPROPVAL_MSC_GREATERTHAN, which means that the provider supports the greater-than operator.
-
MDPROPVAL_MSC_LESSTHANEQUAL, which means that the provider supports the less-than-or-equal-to operator.
-
MDPROPVAL_MSC_GREATERTHANEQUAL, which means that the provider supports the greater-than-or-equal-to operator.
|
MDPROP_MDX_DESCFLAGS |
Type: VT_I4
Typical R/W: R
Description: Support for various <desc flag> values in the DESCENDANTS function. Can be a combination of zero or more of the following:
-
MDPROPVAL_MD_BEFORE, which means that the provider supports the flag BEFORE.
-
MDPROPVAL_MD_AFTER, which means that the provider supports the flag AFTER.
-
MDPROPVAL_MD_SELF, which means that the provider supports the flag SELF. Note that this bit must be set by all providers because support for SELF is mandatory.
Support for other desc flag values, such as SELF_AND_BEFORE, are implied by multiple bits being on.
|
MDPROP_MDX_SET_
FUNCTIONS |
Type: VT_I4
Typical R/W: R
Description: Support for various set functions. Can be a combination of zero or more of the following:
-
MDPROPVAL_MSF_TOPPERCENT, which means that the provider supports the function TOPPERCENT.
-
MDPROPVAL_MSF_BOTTOMPERCENT, which means that the provider supports the function BOTTOMPERCENT.
-
MDPROPVAL_MSF_TOPSUM, which means that the provider supports the function TOPSUM.
-
MDPROP_MSF_BOTTOMSUM, which means that the provider supports the function BOTTOMSUM.
-
MDPROP_MSF_PERIODSTODATE, which means that the provider supports the function PERIODSTODATE.
-
MDPROP_MSF_LASTPERIODS, which means that the provider supports the function LASTPERIODS.
-
MDPROP_MSF_YTD, which means that the provider supports the function YTD.
-
MDPROP_MSF_QTD, which means that the provider supports the function QTD.
-
MDPROP_MSF_MTD, which means that the provider supports the function MTD.
-
MDPROP_MSF_WTD, which means that the provider supports the function WTD.
-
MDPROP_MSF_DRILLDOWNMEMBER, which means that the provider supports the function DRILLDOWNMEMBER.
-
MDPROP_MSF_DRILLDOWNLEVEL, which means that the provider supports the function DRILLDOWNLEVEL.
-
MDPROP_MSF_DRILLDOWNMEMBERTOP, which means that the provider supports the function DRILLDOWNMEMBERTOP.
-
MDPROP_MSF_DRILLDOWNMEMBERBOTTOM, which means that the provider supports the function DRILLDOWNMEMBERBOTTOM.
-
MDPROP_MSF_DRILLDOWNLEVELTOP, which means that the provider supports the function DRILLDOWNLEVELTOP.
-
MDPROP_MSF_DRILLDOWNLEVELBOTTOM, which means that the provider supports the function DRILLDOWNLEVELBOTTOM.
-
MDPROP_MSF_DRILLUPMEMBER, which means that the provider supports the function DRILLUPMEMBER.
-
MDPROP_MSF_DRILLUPLEVEL, which means that the provider supports the function DRILLUPLEVEL.
-
MDPROPVAL_MSF_TOGGLEDRILLSTATE, which means that the provider supports the function TOGGLEDRILLSTATE.
|
MDPROP_MDX_MEMBER_
FUNCTIONS |
Type: VT_I4
Typical R/W: R
Description: Support for various member functions. Can be a combination of zero or more of the following:
-
MDPROPVAL_MMF_COUSIN, which means that the provider supports the function COUSIN.
-
MDPROPVAL_MMF_PARALLELPERIOD, which means that the provider supports the function PARALLELPERIOD.
-
MDPROPVAL_MMF_OPENINGPERIOD, which means that the provider supports the function OPENINGPERIOD.
-
MDPROP_MMF_CLOSINGPERIOD, which means that the provider supports the function CLOSINGPERIOD.
|
MDPROP_MDX_NUMERIC_
FUNCTIONS |
Type: VT_I4
Typical R/W: R
Description: Support for various numeric functions. Can be a combination of zero or more of the following:
-
MDPROPVAL_MNF_MEDIAN, which means that the provider supports the function MEDIAN.
-
MDPROPVAL_MNF_VAR, which means that the provider supports the function VAR.
-
MDPROPVAL_MNF_STDDEV, which means that the provider supports the function STDDEV.
-
MDPROP_MNF_RANK, which means that the provider supports the function RANK.
-
MDPROPVAL_MNF_AGGREGATE, which means that the provider supports the function AGGREGATE.
-
MDPROPVAL_MNF_COVARIANCE, which means that the provider supports the function COVARIANCE.
-
MDPROPVAL_MNF_CORRELATION, which means that the provider supports the function CORRELATION.
-
MDPROP_MNF_LINREGSLOPE, which means that the provider supports the function LINREGSLOPE.
-
MDPROPVAL_MNF_LINREGVARIANCE, which means that the provider supports the function LINREGVARIANCE.
-
MDPROPVAL_MNF_LINREG2, which means that the provider supports the function LINREG2.
-
MDPROPVAL_MNF_LINREGPOINT, which means that the provider supports the function LINREGPOINT.
|
MDPROP_MDX_FORMULAS |
Type: VT_I4
Typical R/W: R
Description: Support for creation of named sets and calculated members. Can be a combination of zero or more of the following:
-
MDPROPVAL_MF_WITH_CALCMEMBERS, which means that the provider supports the creation of calculated members by using the WITH clause before a SELECT.
-
MDPROPVAL_MF_WITH_NAMEDSETS, which means that the provider supports the creation of named sets by using the WITH clause before a SELECT.
-
MDPROPVAL_MF_CREATE_CALCMEMBERS, which means that the provider supports the creation of named calculated members by using the CREATE clause.
-
MDPROPVAL_MF_CREATE_NAMEDSETS, which means that the provider supports the creation of named sets by using the CREATE clause.
-
MDPROPVAL_MF_SCOPE_SESSION, which means that the provider supports the scope value of SESSION during the creation of named sets and calculated members.
-
MDPROPVAL_MF_SCOPE_GLOBAL, which means that the provider supports the scope value of GLOBAL during the creation of named sets and calculated members.
|
MDPROP_MDX_NONMEASURE_
EXPRESSONS |
Type: VT_I4
Typical R/W: R
Description: The capabilities in the numeric_value_expression argument of set functions.
If the value of this property is:
-
MDPROPVAL_MNE_MEASURESONLY, then it means that the provider supports only expressions involving measure dimension members.
-
MDPROPVAL_MNE_ALLDIMENSIONS, then it means that the provider supports expressions involving members from any dimension.
For example, say Revenue and Cost are measures, and USA is a member of Geography dimension. In this case, in set functions that take a numeric_value_expression argument, expressions such as Revenue/3 and (Revenue - Cost)/Cost*100 are made of measures only. However, in expressions such as (USA, Sales)/3 are made of measures and nonmeasures.
|