EssOtlQueryMembersByName

アウトラインをクエリーします。

構文

            ESS_FUNC_M 
            EssOtlQueryMembersByName
             (
            hOutline
            , 
            pszMember
            , 
            pPredicate
            ,
                                     
            pMbrCounts
            , 
            phMemberArray
            );
         
パラメータデータ型説明

hOutline

ESS_HOUTLINE_T

アウトラインのコンテキスト・ハンドル。これはEssOtlOpenOutlineQuery()から戻されている必要があります。

pszMember

ESS_STR_T

操作を行うメンバーのメンバー名文字列。この値がNULLである場合、その次元の論理親を表し、アウトラインの最上部であるとみなされます。次のオプションでは、この値は無視されます:

  • ESS_NAMEDGENERATION

  • ESS_NAMEDLEVEL

  • ESS_USERATTRIBUTE

  • ESS_SEARCH

  • ESS_WILDSEARCH

pPredicate

ESS_PREDICATE_T

クエリーを定義している構造体。この構造体のフィールドは、「注意」を参照してください。

pMbrCounts

ESS_MBRCOUNTS_T

メンバー・カウントに関する情報を定義している構造体。次のフィールドが含まれます:

  • ulStart- 戻す最初の番号

  • ulMaxCount- 戻されるメンバーのハンドルの最大数。

  • ulTotalCount- クエリーの実行結果において定義されるメンバーの合計数。

  • pulReturnCount- このクエリーにおいて戻されるメンバーのハンドルの数。

phMemberArray

ESS_PPHMEMBER_T

クエリーから戻されたメンバーのハンドルの配列。

備考

戻り値

関数が正常終了した場合、戻り値は0になります。

         #include <essapi.h>
#include <essotl.h>

ESS_STS_T          sts = ESS_STS_NOERR; 
ESS_HOUTLINE_T     hOutline; 
ESS_OBJDEF_T       Object;
ESS_STR_T          pszMember;
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;

pszMember = "Qtr1";
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 = EssOtlQueryMembersByName(hOutline, pszMember, 
           &Predicate, &Counts, &phMemberArray);

     if (!sts && Counts.ulReturnCount)
     {
        sts = EssOtlFreeMembers(hOutline, 
              Counts.ulReturnCount, phMemberArray);
     }
   }
}
      

関連トピック