EssOtlVaryingGetAssociatedAttributes

指定した基本メンバーと関連付けられた指定の属性次元に属性メンバーを戻します。この場合、関連付けの妥当性には指定したパースペクティブのタプルが1つ以上含まれています。

該当している各属性メンバーに対して、基本メンバーへの関連付けの完全な妥当性セットをオプションで戻すことができます(pppValiditySetsにNULL以外の値を指定することによって可能です)。

pphMembersにはメンバー・ハンドルの配列が含まれ、pppValiditySetsには妥当性セット・ポインタの配列が含まれます。

usValiditySetTypeを使用して、必要な妥当性セットのタイプを指定します。

パースペクティブは、独立したメンバーを個別に指定する必要がある点に注意してください。

パースペクティブが指定されていない場合、またはパースペクティブで独立したメンバーのNULLセットが指定されている場合、独立したメンバーの任意の組合せに対して存在するすべての関連付けがルーチンによって検討されます。この場合、戻された妥当性セットには、個別の独立したメンバーの範囲が含まれることがあり、クライアントはこれらを分割する必要があります。

構文

            ESS_FUNC_M EssOtlVaryingGetAssociatedAttributes (
            hOutline, hBaseMember, hAttrDim, pPerspective, pusCount,
pphMembers, usValiditySetType, **pppValiditySets
            );
         
パラメータデータ型説明

hOutline

ESS_HOUTLINE_T

アウトラインのコンテキスト・ハンドル

hBaseMember

ESS_HMEMBER_T

基本次元メンバーのハンドル

hAttrDim

ESS_HMEMBER_T

属性メンバーのハンドル

pPerspective

ESS_PERSPECTIVE_T

クライアントまたはサーバーで関連付けをクエリーする際に使用される、独立したメンバーの集合へのポインタ

pusCount

ESS_PUSHORT_T

戻される可変属性メンバーの数へのポインタ

pphMembers

ESS_PPHMEMBER_T

属性メンバーのハンドルの配列へのポインタ

usValiditySetType

ESS_USHORT_T

独立したメンバーに割り当てられた妥当性セットのタイプ:

  • ESS_VALIDITYSET_TYPE_MBRHDLS - メンバー・ハンドルのXRange。たとえば、Mar 2003-Feb 2004は2003年の10か月(3月から開始)と、2004年の最初の2か月(2月に終了)から構成されています。

  • ESS_VALIDITYSET_TYPE_MBRNAMS - メンバー名のXRange

**pppValiditySets

ESS_VALIDITYSET_T

関連付けがTRUEの独立したメンバーの集合

戻り値

正常終了の場合は、0が戻されます。

         void DisplayVaryingAttributes(ESS_HOUTLINE_T hOutline, ESS_HMEMBER_T hBaseMbr, ESS_HMEMBER_T hAttrDim,
											  ESS_PERSPECTIVE_T *pPerspective, ESS_USHORT_T usValiditySetType)
{
	ESS_STS_T				sts = ESS_STS_NOERR;
	ESS_USHORT_T			Count, i, j, totalIndMbrs;
	ESS_PHMEMBER_T			phAttrMbrs;
	ESS_PVALIDITYSET_T  *ppValiditySets;
	ESS_PMBRINFO_T			pMemberInfo1, pMemberInfo2;

	sts = EssOtlVaryingGetAssociatedAttributes(hOutline, 
			hBaseMbr, 
			hAttrDim,
			pPerspective, 
			&Count,
			&phAttrMbrs,
			usValiditySetType,
			&ppValiditySets);
	printf("\nEssOtlVaryingGetAssociatedAttributes sts: %d", sts);
	if(!sts)
	{
		if(Count)
		{
			for (i = 0; i < Count ;++i)
			{
				sts = EssOtlGetMemberInfo(hOutline, phAttrMbrs[i], &pMemberInfo1);
				printf("\n\t%s", pMemberInfo1->szMember);
				EssOtlFreeStructure(hOutline, ESS_DT_STRUCT_MBRINFO, 1, pMemberInfo1);

				if(ppValiditySets[i])
				{
					totalIndMbrs = (ESS_SHORT_T)(ppValiditySets[i]->countOfIndepRanges) * 4;
					printf("\n\t\tValidity Type: %d - ", ppValiditySets[i]->usValiditySetType);
					switch(ppValiditySets[i]->usValiditySetType)
					{
						case ESS_VALIDITYSET_TYPE_MBRHDLS: 
							printf("Member Handles");	
							
							for(j = 0; j < totalIndMbrs; j++)
							{
								if(j >= 3)
									if(j%4 == 0)
										printf("\n");
								sts = EssOtlGetMemberInfo(hOutline, ppValiditySets[i]->pIndepMbrs[j], &pMemberInfo2);
								printf("\n\t\tValidity independent member: %s", pMemberInfo2->szMember);
								EssOtlFreeStructure(hOutline, ESS_DT_STRUCT_MBRINFO, 1, pMemberInfo2);
							}						
							break;
						case ESS_VALIDITYSET_TYPE_MBRNAMS:
							printf("Member Names");
							
							for(j = 0; j < totalIndMbrs; j++)
							{
								if(j >= 3)
									if(j%4 == 0)
										printf("\n");
								printf("\n\t\tValidity independent member: %s", ppValiditySets[i]->pIndepMbrs[j]);
							}
							break;
						default: 
							printf("Unrecognized");
					}
					printf("\n\t\tValidity count of Indep Dims: %d", ppValiditySets[i]->countOfIndepDims);
					printf("\n\t\tValidity count of Indep Ranges: %d", ppValiditySets[i]->countOfIndepRanges);			 
					printf("\n");
				}
				EssFree(hInst, ppValiditySets[i]);
			}
			printf("\n");
		}
		else
			printf("\n\tNo member returned.\n");
	}
	printf("\n");
	EssFree(hInst,ppValiditySets);

}
      

関連トピック