データ・プロバイダ・タイプ: Oracle Essbase、Oracle Hyperion Planning、Oracle Planning and Budgeting Cloud、Oracle Hyperion Financial Management
説明
HypGetDimMbrsForDataCell()は、データ・セルに対するディメンション・メンバーのセット全体を取得します。これらのメンバーはグリッドに存在する必要があります。
構文
HypGetDimMbrsForDataCell (vtSheetName, vtCellRange, vtServerName, vtAppName, vtCubeName, vtFormName, vtDimensionNames, vtMemberNames)
ByVal vtSheetName As Variant
ByVal vtCellRange As Variant
ByRef vtServerName As Variant
ByRef vtAppName As Variant
ByRef vtCubeName As Variant
ByRef vtFormName As Variant
ByRef vtDimensionNames As Variant
ByRef vtMemberNames As Variant
パラメータ
vtSheetName: 入力変数。関数を実行するワークシートの名前。vtSheetNameがNull
またはEmpty
の場合、アクティブなワークシートが使用されます。
vtCellRange: 入力変数。セルの範囲(1セルのみ)
vtServerName: 出力変数。シート上の関連する接続が接続しているサーバーの名前
vtAppName: 出力変数。シート上の関連する接続が接続しているアプリケーションの名前
vtCubeName: 出力変数。シート上の関連する接続が接続しているキューブ/データベース(Planningの場合はプラン・タイプ)の名前
vtFormName: 出力変数。シート上の関連する接続が接続しているフォームの名前(アド・ホック・グリッドの場合、これは空の文字列として戻されます)
vtDimensionNames: 出力変数。ディメンション名の配列
vtMemberNames: 出力変数。メンバー名の配列
戻り値
正常に終了した場合は0を戻し、それ以外の場合は該当するエラー・コードを戻します。
例
次の例を実行するには、oSheetName
に定義されたシートに有効なグリッドが含まれ、oSheetDisp.Range
に定義されたセルまたはセル範囲が、グリッド内で有効なデータ・セルであることが必要です。
Public Declare Function HypGetDimMbrsForDataCell Lib "HsAddin" (ByVal vtSheetName As Variant, ByVal vtCellRange As Variant, ByRef vtServerName As Variant, ByRef vtAppName As Variant, ByRef vtCubeName As Variant, ByRef vtFormName As Variant, ByRef vtDimensionNames As Variant, ByRef vtMemberNames As Variant) As Long
Sub Example_HypGetDimMbrsForDataCell()
Dim oRet As Long
Dim oSheetName As String
Dim oSheetDisp As Worksheet
Dim vtDimNames As Variant
Dim vtMbrNames As Variant
Dim vtServerName As Variant
Dim vtAppName As Variant
Dim vtCubeName As Variant
Dim vtFormName As Variant
Dim lNumDims As Long
Dim lNumMbrs As Long
Dim sPrintMsg As String
oSheetName = "Sheet1"
Set oSheetDisp = Worksheets("Sheet1")
oRet = HypGetDimMbrsForDataCell("", oSheetDisp.Range("valid data cell"), vtServerName, vtAppName, vtCubeName, vtFormName, vtDimNames, vtMbrNames)
If (oRet = SS_OK) Then
If IsArray(vtDimNames) Then
lNumDims = UBound(vtDimNames) - LBound(vtDimNames) + 1
End If
If IsArray(vtMbrNames) Then
lNumMbrs = UBound(vtMbrNames) - LBound(vtMbrNames) + 1
End If
sPrintMsg = "Number of Dimensions = " & lNumDims & " Number of Members = " & lNumMbrs & " Cube Name - " & vtCubeName
MsgBox (sPrintMsg)
End If
End Sub