アウトラインに次元を追加し、メンバーの属性を設定します。
構文
EsbOtlAddDimension ( hOutline, pMemberInfo, hPrevSibling, pszDataMbr, phMember ) ByVal hOutline As Long pMemberInfo As ESB_MBRINFO_T ByVal hPrevSibling As Long ByVal pszDataMbr As String phMember As Long
パラメータ | 説明 |
---|---|
hOutline |
アウトラインのコンテキスト・ハンドル。 |
pMemberInfo |
メンバーとその属性を定義しているメンバー情報構造体。 |
HPrevSibling |
前の兄弟のハンドル。このフィールドがESB_NULLである場合、次元は、アウトラインの最初の次元になります。それ以外の場合、次元はhPrevSiblingで指定された次元の後に配置されます。 |
PszDataMbr |
アウトラインが再構成されるときにデータ値を受領する、新規次元のメンバーのメンバー名。このフィールドがESB_NULLである場合、次元メンバー自身が使用されます。 |
phMember |
APIから戻された新規メンバーのハンドル。 |
備考
この関数は、アウトラインの再構築時にデータを割り当てることのできる新規次元のメンバーを指定します。
ESB_MBRINFO_T構造体を作成し、値を入れてから、この関数を呼び出す必要があります。
属性次元を追加するには、この関数を呼び出す必要があります。
属性次元でない次元を追加するには、この関数またはEsbOtlAddMember()を呼び出します。
EsbOtlAddDimension()を使用すると、追加された次元の任意のメンバーを選択して、既存の次元に割り当てられているデータ値を割り当てることができます。
EsbOtlAddMember()を使用した場合、追加された次元の最上位メンバー(次元)が使用されます。
pszDataMbrフィールドを有効にするには、fKeepTransフラグをESB_YESに設定してEsbOtlOpenOutline()を使用して、アウトラインを開いておくことが必要です。
pszDataMbrフィールドで参照されたメンバーは、次元が作成された後EsbOtlAddMember()を使用して、新しい次元に追加されます。再構成のときに参照されたメンバーが存在しない場合、次元メンバーがそのかわりに使用されます。
属性次元については、ESB_MBRINFO_Tの各フィールドを次のように設定する必要があります:
フィールド |
設定 |
---|---|
usConsolidation |
ESB_UCALC_NOOP |
fTwoPass |
ESB_FALSE |
fExpense |
ESB_FALSE |
usConversion |
ESB_CONV_NONE |
usTimeBalance |
ESB_TIMEBAL_NONE |
usSkip |
ESB_SKIP_NONE |
usShare |
ESB_SHARE_DYNCALCNOSTORE |
usStorage |
ESB_DIMTYPE_SPARSE |
usCategory |
ESB_CAT_ATTRIBUTE |
usStorageCategory |
ESB_STORECAT_ATTRIBUTE |
Attribute |
属性値。次の属性メンバー・データ型のいずれかになります:
|
属性次元に基本次元を関連付ける必要があります。
属性次元は、基本次元および標準次元の後ろに置く必要があります。
戻り値
正常終了の場合は0が戻されます。それ以外の場合は、次のいずれかの値が戻されます:
OTLAPI_BAD_CONSOL
OTLAPI_BAD_MBRNAME
OTLAPI_ERR_ADDDELETEDIMDYNAMICCALC
OTLAPI_ERR_ADDNAMEUSED
OTLAPI_ERR_BADSHARE
OTLAPI_ERR_BADSKIP
OTLAPI_ERR_BADSTORAGE
OTLAPI_ERR_BADSTORAGECATEGORY
OTLAPI_ERR_BADTIMEBAL
OTLAPI_ERR_CURTOOMANYDIMS
OTLAPI_ERR_ILLEGALBOOLEAN
OTLAPI_ERR_ILLEGALCURRENCY
OTLAPI_ERR_ILLEGALDATE
OTLAPI_ERR_ILLEGALNUMERIC
OTLAPI_ERR_ILLEGALTAG
OTLAPI_ERR_LEAFLABEL
OTLAPI_ERR_NONATTRDIMFOLLOWED
OTLAPI_ERR_NOSHAREPROTO
OTLAPI_ERR_NOTIMEDIM
例
Declare Function EsbOtlAddDimension Lib "ESBOTLN" (ByVal hOutline As Long, pMemberInfo As ESB_MBRINFO_T, ByVal hPrevSibling As Long, ByVal pszDataMbr As String, phMember As Long) As Long Sub ESB_OtlAddDimension() Dim sts As Long Dim NewInfo as ESB_OUTLINEINFO_T Dim hOutline As Long Dim MbrInfo As ESB_MBRINFO_T Dim hDimMeasures As Long NewInfo.usOutlineType = ESB_DBTYPE_NORMAL NewInfo.fCaseSensitive = ESB_FALSE NewInfo.fAutoConfigure = ESB_TRUE sts = EsbOtlNewOutline(hLocalCtx, NewInfo, hOutline) If sts = 0 Then MbrInfo.szMember = "Measures" sts = EsbOtlAddDimension(hOutline, MbrInfo, ESB_NULL, "Profit", hDimMeasures) End If End Sub
関連トピック