基本次元を属性次元と関連付け、可変属性を持つ基本次元として定義します。メンバー属性の関連付けは、pucIndependentTypesで指定されたタイプの、指定した独立次元のレベル-0メンバーに応じて異なります。連続独立次元は最後に指定する必要があります。
構文
ESS_FUNC_M EssOtlVaryingAssociateAttributeDimension (
hOutline, hBaseDim, hAttrDim, countOfIndepDims, *pIndepDims, *pucIndependentTypes
);
パラメータ | データ型 | 説明 |
---|---|---|
hOutline |
ESS_HOUTLINE_T |
アウトラインのコンテキスト・ハンドル |
hBaseDim |
ESS_HMEMBER_T |
基本次元ハンドル |
hAttrDim |
ESS_HMEMBER_T |
属性次元ハンドル |
countOfIndepDims |
ESS_INT32_T |
可変属性を制御する独立次元の数 |
*pIndepDims |
ESS_HMEMBER_T |
独立次元についてのメンバー・ハンドルの配列へのポインタ |
*pucIndependentTypes |
ESS_UCHAR_T |
*pIndepDimsに含まれる独立タイプの配列へのポインタ。 次の独立したタイプをサポートします:
|
戻り値
成功の場合、0が戻されます。
例
void TestEssOtlVaryingAssociateAttributeDimenion() { ESS_STS_T sts = ESS_STS_NOERR; ESS_HOUTLINE_T hOutline = ESS_NULL; ESS_OBJDEF_T Object; ESS_HMEMBER_T hBaseDim = ESS_NULL; ESS_HMEMBER_T IndDimsArray[2]; ESS_HMEMBER_T hAttrDimArray[9]; ESS_INT32_T countOfIndDims; ESS_UCHAR_T pucIndependentTypes[2]; int i; memset(&Object, '\0', sizeof(Object)); Object.hCtx = hCtx; Object.ObjType = ESS_OBJTYPE_OUTLINE; Object.AppName = szAppName; Object.DbName = szDbName; Object.FileName = szDbName; printf("\n"); sts = EssOtlOpenOutline(hCtx, &Object, ESS_TRUE, ESS_TRUE, &hOutline); printf("EssOtlOpenOutline sts: %ld\n",sts); SetupTest(hOutline); /* Assign independent dimension array*/ sts = EssOtlFindMember(hOutline, "Time Periods", &IndDimsArray[0]); printf("EssOtlFindMember sts: %d\n", sts); sts = EssOtlFindMember(hOutline, "Years", &IndDimsArray[1]); printf("EssOtlFindMember sts: %d\n", sts); /* Get handles to base and attribute dimensions for test.*/ sts = EssOtlFindMember(hOutline, "Entities", &hBaseDim); printf("\nEssOtlFindMember sts: %d\n", sts); sts = EssOtlFindMember(hOutline, "Type", &hAttrDimArray[0]); printf("EssOtlFindMember sts: %d\n", sts); sts = EssOtlFindMember(hOutline, "FT/PT", &hAttrDimArray[1]); printf("EssOtlFindMember sts: %d\n", sts); /* Disassociate current association before tests.*/ for (i = 0; i < 2; i++) { sts = EssOtlDisassociateAttributeDimension(hOutline, hBaseDim, hAttrDimArray[i]); printf("EssOtlDisassociateAttributeDimension sts: %d\n", sts); } /* Associate the dimension Entities to Type*/ printf("\nValid case: Associate the dimension Entities and Type:\n"); countOfIndDims = 2; pucIndependentTypes[0] = ESS_ASSOCIATE_TYPE_DISCRETE; pucIndependentTypes[1] = ESS_ASSOCIATE_TYPE_CONTINUOUS; sts = EssOtlVaryingAssociateAttributeDimension(hOutline, hBaseDim, hAttrDimArray[0], countOfIndDims, IndDimsArray, pucIndependentTypes); printf("EssOtlVaryingAssociateAttributeDimension sts: %d\n", sts); sts = EssUnlockObject(hCtx, ESS_OBJTYPE_OUTLINE, Object.AppName, Object.DbName, Object.FileName); printf("\nEssUnlockObject sts: %d\n", sts); sts = EssOtlCloseOutline(hOutline); printf("EssOtlCloseOutline sts: %d\n",sts); }
関連トピック