指定した基本メンバーに関連付けられている属性情報を戻します。
構文
EsbGetAssociatedAttributesInfo
(
hCtx
,
MbrName
,
AttrDimName
,
Count
)
ByVal
hCtx
As Long
ByVal
MbrName
As String
ByVal
AttrDimName
As String
Count
As Long
| パラメータ | 説明 |
|---|---|
hCtx |
コンテキスト・ハンドル |
MbrName |
基本メンバー名 |
AttrDimName |
(オプション)属性次元名 |
Count |
戻された属性メンバー数 |
備考
この関数を利用すると、属性メンバーに関する情報がEsbQueryDatabaseMembersの場合よりも多く取得できます。
AttrDimNameをNULLに設定すると、基本メンバーに関連付けられているすべての属性メンバーが戻されます。
オプションで、属性次元名を指定すると、基本メンバーに関連付けられているその次元メンバーに関する情報のみを取得できます。
EsbGetAssociatedAttributesInfo()を呼び出した後に、ESB_ATTRIBUTEINFO_Tを使用してEsbGetNextItem()を呼び出すと、必要な属性情報の構造体を取得できます。
この関数によって戻される属性情報が無効になる状況には、次の2つがあります:
Visual Basic APIでは、指定した属性次元の名前から、属性データ型が派生します。そのため、属性次元の値が有効でない場合もあります。EsbGetAssociatedAttributesInfo()に渡された名前が属性次元の名前と同じ場合、アプリケーションは、戻されたESB_ATTRIBUTEINFO_T構造体の属性フィールドの値を無視する必要があります。MbrInfo.MbrNameフィールドおよびMbrInfo.DimNameフィールドが等しいかどうかを確認します。等しい場合は、基本次元を参照しているので、属性情報を無視する必要があります。
日付属性には、Visual Basicによって自動的に処理される時刻情報(タイム・スタンプ)が含まれています(日付計算が実施される)。これによって日付属性の値に間違いが生じることがあります(指定したクライアント・マシンで指定されたタイムゾーンによります)。自動処理を避けるため、日付属性情報の表示では、属性値ではなく、属性名を使用します。
戻り値
正常終了の場合はsts = 0が戻されます。それ以外の場合は、エラー番号が戻されます。
アクセス
この関数を使用するのに、特別な権限は必要ありません。
例
Sub ESB_GetAssociatedAttributesInfo()
' NOTE: 'Out' is a sub to print the output within quotes to a listbox or text box.
Dim hCtx as long
Dim sts as long
Dim MbrName As String
Dim AttrDimName As String
Dim Count As Long
Dim Attribinfo As ESB_ATTRIBUTEINFO_T
Dim index As Integer
Dim tempstring As String
MbrName = InputBox("Base member name", "Base Member Name")
AttrDimName = InputBox("Attribute Dimension Name (Optional)", "Attribute Dimension Name")
sts = EsbGetAssociatedAttributesInfo(hCtx, MbrName, AttrDimName, Count)
If sts <> 0 Then
MsgBox "Error in ESB_GetAssociatedAttributesInfo: " & sts: Exit Sub
Else
tempstring = "...count = " & Count & "..."
out (tempstring)
Out "Associated Attr info for " & "[" & MbrName & "]"
Out "------------------------------------"
For index = 1 To Count
sts = EsbGetNextItem(hCtx, ESB_ATTRIBUTEINFO_TYPE, Attribinfo)
Out "Dim Name: " & Attribinfo.DimName
Out "Mbr Name: " & Attribinfo.MbrName
' NOTE: use of select case statement to discern (and act upon) type of attribute returned
Select Case VarType(Attribinfo.Attribute)
Case vbDouble
Out "Data Type : Numeric(Double)"
Out "Data Value : " & Attribinfo.Attribute
Out ""
Case vbBoolean
Out "Data Type : Boolean"
Out "Data Value : " & Attribinfo.Attribute
Out ""
Case vbDate
Out "Data Type : Date"
' Suggested way to get Date Attribute value for display
Out "Data Value : " & Attribinfo.DimName
Out ""
Case vbString
Out "Data Type : String"
Out "Data Value : " & Attribinfo.Attribute
Out ""
End Select
Out ""
Next index
End If
End Sub
関連トピック