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