EssOtlQueryMembers() queries the outline.
ESS_FUNC_M EssOtlQueryMembers (hOutline, hMember, pPredicate, pMbrCounts, phMemberArray);
ESS_HOUTLINE_T | hOutline |
ESS_HMEMBER_T | hMember |
ESS_PPREDICATE_T | pPredicate |
ESS_PMBRCOUNTS_T | pMbrCounts |
ESS_PPHMEMBER_T | phMemberArray |
hOutline | Essbase outline handle. This must have been returned from EssOtlOpenOutlineQuery(). |
hMember | The member handle of the member to do the operation on. If this value is NULL, it is assumed to be the very top of the outline, representing the logical parent of the dimensions. This value will be ignored for the following options: ESS_NAMEDGENERATION ESS_NAMEDLEVEL ESS_USERATTRIBUTE ESS_SEARCH ESS_WILDSEARCH |
pPredicate | Structure defining the query. The fields of this structure are used as follows:
ulQuery Value defining the operation to perform. It can be one of the following: ESS_CHILDREN ESS_DESCENDANTS ESS_BOTTOMLEVEL ESS_SIBLINGS ESS_SAMELEVEL ESS_SAMEGENERATION ESS_PARENT ESS_DIMENSION ESS_NAMEDGENERATION ESS_NAMEDLEVEL ESS_SEARCH ESS_WILDSEARCH ESS_USERATTRIBUTE ESS_ANCESTORS ESS_DTSMEMBERS ESS_DIMUSERATTRIBUTES
ulOptions
szDimension
pszString1
pszString2 |
pMbrCounts | Structure defining information about counts It contains the following fields: ulStart Starting number to return.
ulMaxCount
ulTotalCount
pulReturnCount |
phMemberArray | An array of member handles returned from the query. |
The return value is zero if the function was successful.
#include <essapi.h> #include <essotl.h> ESS_STS_T sts = ESS_STS_NOERR; ESS_HOUTLINE_T hOutline; ESS_OBJDEF_T Object; ESS_HMEMBER_T hMember = 0; ESS_PREDICATE_T Predicate; ESS_MBRCOUNTS_T Counts; ESS_PHMEMBER_T phMemberArray = ESS_NULL; 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_CHILDREN; Predicate.pszDimension = "Year"; memset(&Counts, '\0', sizeof(Counts)); Counts.ulStart = 0; Counts.ulMaxCount = 10; if(!sts) { sts = EssOtlQueryMembers(hOutline, hMember, &Predicate, &Counts, &phMemberArray); if (!sts && Counts.ulReturnCount) { sts = EssOtlFreeMembers(hOutline, Counts.ulReturnCount, phMemberArray); } } }
EssOtlFreeMembers()
EssOtlGetDimensionUserAttributes()
EssOtlOpenOutlineQuery()
EssOtlQueryMembersByName()