型宣言は次のとおりです:
typedef void *ESS_MDX_QRYHDL_T; /* MDX query handle */
typedef unsigned long ESS_MDX_MEMBERIDTYPE_T; /* MDX mbr id type */
typedef void *ESS_MDX_AXISHDL_T; /* MDX axis handle */
typedef void *ESS_MDX_DIMHDL_T; /* MDX dim handle */
typedef unsigned long ESS_MDX_PROPTYPE_T; /* MDX property type */
typedef void *ESS_MDX_PROPHDL_T; /* MDX property handle */
typedef void *ESS_MDX_CLUSTERHDL_T; /* MDX cluster handle */
typedef void *ESS_MDX_MBRHDL_T; /* MDX mbr handle */
typedef void *ESS_MDX_CELLHDL_T; /* MDX cell handle */
typedef unsigned long ESS_MDX_CELLSTATUS_T; /* MDX cell status */
定数宣言は次のとおりです:
/* MDX member identifier types (ESS_MDX_MEMBERIDTYPE_T) */
#define ESS_MDX_MEMBERIDTYPE_NAME 8
#define ESS_MDX_MEMBERIDTYPE_ALIAS 16
/* MDX property value types (ESS_MDX_PROPTYPE_T) */
#define ESS_MDX_PROPTYPE_BOOL ESS_DT_BOOL
#define ESS_MDX_PROPTYPE_DOUBLE ESS_DT_DOUBLE
#define ESS_MDX_PROPTYPE_DATETIME ESS_DT_DATETIME
#define ESS_MDX_PROPTYPE_STRING ESS_DT_STRING
#define ESS_MDX_PROPTYPE_ULONG ESS_DT_ULONG
#define ESS_MDX_PROPTYPE_NONE 0
/* MDX cell status bitmasks (ESS_MDX_CELLSTATUS_T) */
#define ESS_MDX_CELLSTATUS_LINKEDOBJS 0x00000001
#define ESS_MDX_CELLSTATUS_DYNCALC 0x00000002
#define ESS_MDX_CELLSTATUS_CALCEDMBR 0x00000004
#define ESS_MDX_CELLSTATUS_READONLY 0x00000008
/* MDX cell property bitmasks (ESS_MDX_CELLPROP_T) */
#define ESS_MDX_CELLPROP_GLDRILLTHRU 0x00000008
ESS_MDX_PROPVALUE_T
typedef struct ess_mdx_propvalue_t
{
ESS_MDX_PROPTYPE_T ulPropType; /* ESS_MDX_PROPTYPE_XXXX */
union
{
ESS_BOOL_T bData; /* Boolean value */
ESS_ULONG_T ulData; /* Ulong value */
ESS_STR_T strData; /* String value */
ESS_DATETIME_T dtData; /* Datetime value */
ESS_DOUBLE_T dblData; /* Double value */
} value;
} ESS_MDX_PROPVALUE_T;
ESS_MDX_CELLVALUE_T
typedef struct mdxcellvalue
{
ESS_DOUBLE_T dblVal;
ESS_STR_T fmtVal;
ESS_STR_T fmtStr;
ESS_USHORT_T smId;
ESS_USHORT_T type;
ESS_ULONG_T flags; // captures drill through property.
} ESS_MDX_CELLVALUE_T;