Returns the user defined attributes used in the specified dimension.
Syntax
ESS_FUNC_M EssOtlGetDimensionUserAttributes (hOutline, pPredicate, pCounts, ppAttributeNames);
Parameter | Data Type | Description |
---|---|---|
hOutline | ESS_HOUTLINE_T | Essbase outline handle. This must have been returned from EssOtlOpenOutlineQuery(). |
pPredicate | ESS_PREDICATE_T | Structure defining the query. The fields of this structure are used as follows:
|
pCounts | ESS_MBRCOUNTS_T | Structure defining information about counts It contains the following fields:
|
ppAttributeNames | ESS_PPMBRNAME_T | An array of attribute names returned from the query. |
Notes
This function is used only to get the user's defined attributes on a specific dimension. Therefore, the only valid value for Predicate is ESS_DIMUSERATTRIBUTES_T.
Solve order property on a member or dimension specifies its calculation order.
Member solve order takes precedence over dimension solve order. Solve order can be between 0 and 127. The default is 0.
Members without formulas that do not have a specified solve order inherit the solve order of their dimension. Members with formulas that do not have a specified solve order have a solve order of zero.
Return Value
The return value is zero if the function was successful.
Example
#include <essapi.h> #include <essotl.h> ESS_STS_T sts = ESS_STS_NOERR; ESS_HOUTLINE_T hOutline; ESS_OBJDEF_T Object; ESS_PREDICATE_T Predicate; ESS_MBRCOUNTS_T Counts; ESS_MBRNAME_T pAttribNames; ESS_ULONG_T i; ESS_ACCESS_T Access; ESS_STR_T AppName; ESS_STR_T DbName; AppName = "Sample"; DbName = "Basic"; sts = EssSetActive(hCtx, AppName, DbName, &Access); if ( sts == 0) { memset(&Object, '\0', sizeof(Object)); sts = EssOtlOpenOutlineQuery(hCtx, &Object, &hOutline); memset(&Predicate, '\0', sizeof(Predicate)); Predicate.ulQuery = ESS_DIMUSERATTRIBUTES; Predicate.pszDimension = "Market"; memset(&Counts, '\0', sizeof(Counts)); Counts.ulStart = 0; Counts.ulMaxCount = 10; if(!sts) { sts = EssOtlGetDimensionUserAttributes(hOutline, &Predicate, &Counts, &pAttribNames); if (!sts && Counts.ulReturnCount) { sts = EssFree(hInstance, pAttribNames); } } }
See Also