Oracle® Hyperion Smart View for Office, Fusion Edition

新機能

リリース 11.1.1.3


Copyright © 2004, 2009, Oracle and/or its affiliates. All rights reserved.

著者: EPM 情報開発チーム

このソフトウェアおよび関連ドキュメントの使用と開示は、ライセンス契約の制約条件に従うものとし、知的財産に関する法律により保護されています。 ライセンス契約で明示的に許諾されている場合もしくは法律によって認められている場合を除き、形式、手段に関係なく、いかなる部分も使用、複写、複製、翻訳、放送、修正、ライセンス供与、送信、配布、発表、実行、公開または表示することはできません。 このソフトウェアのリバース・エンジニアリング、逆アセンブル、逆コンパイルは互換性のために法律によって規定されている場合を除き、禁止されています。 ここに記載された情報は予告なしに変更される場合があります。また、誤りが無いことの保証はいたしかねます。 誤りを見つけた場合は、オラクル社までご連絡ください。

このソフトウェアまたは関連ドキュメントが、米国政府機関もしくは米国政府機関に代わってこのソフトウェアまたは関連ドキュメントをライセンスされた者に提供される場合は、次の通知が適用されます。

U.S. GOVERNMENT RIGHTS: Programs, software, databases, and related documentation and technical data delivered to U.S. Government customers are "commercial computer software" or "commercial technical data" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations. As such, the use, duplication, disclosure, modification, and adaptation shall be subject to the restrictions and license terms set forth in the applicable Government contract, and, to the extent applicable by the terms of the Government contract, the additional rights set forth in FAR 52.227-19, Commercial Computer Software License (December 2007). Oracle USA, Inc., 500 Oracle Parkway, Redwood City, CA 94065.

このソフトウェアは様々な情報管理アプリケーションでの一般的な使用のために開発されたものです。 このソフトウェアは、危険が伴うアプリケーション(人的傷害を発生させる可能性があるアプリケーションを含む)への用途を目的として開発されていません。 このソフトウェアを危険が伴うアプリケーションで使用する際、このソフトウェアを安全に使用するために、適切な安全装置、バックアップ、冗長性、その他の対策を講じることは使用者の責任となります。 このソフトウェアを危険が伴うアプリケーションで使用したことに起因して損害が発生しても、オラクル社およびその関連会社は一切の責任を負いかねます。

Oracleは、Oracle Corporationまたはその関連会社、あるいはその両方の登録商標です。 他の名称は、それぞれの所有者の商標である可能性があります。

このソフトウェアおよびドキュメントは、第三者のコンテンツ、製品、サービスへのアクセス、あるいはそれらに関する情報を提供することがあります。 オラクル社およびその関連会社は、第三者のコンテンツ、製品、サービスに関して一切の責任を負わず、いかなる保証もいたしません。 オラクル社およびその関連会社は、第三者のコンテンツ、製品、サービスへのアクセスまたは使用によって損失、費用、あるいは損害が発生しても、一切の責任を負いかねます。


目次:

概要

ドリルスルー

Smart Viewメタデータのインポート

新規VBA関数

概要

このドキュメントでは、Oracle Hyperion Smart View for Office, Fusion Editionリリース11.1.1.3に導入された新機能について説明します。

ドリルスルー

このリリースでは、Smart Viewのドリルスルー機能が強化され、Oracle Hyperion Financial Data Quality Management ERP Integration Adapter for Oracle Applications、Oracle General Ledger、およびOracle Hyperion Financial Data Quality Management, Fusion Editionが追加されました。Smart Viewを介してOracle Hyperion Planning, Fusion EditionまたはOracle Hyperion Financial Management, Fusion Editionに接続している場合は、Smart Viewのドリルスルー機能を使用して、ERP IntegratorまたはOracle Hyperion Financial Data Quality Management, Fusion Editionのデータ・ソースにある詳細データまで、PlanningまたはFinancial Managementアプリケーションをドリルスルーできます。

Oracle Essbase StudioまたはOracle Essbase Integration Servicesで作成したアプリケーションの場合は、引き続き、リレーショナル・データベースにドリルスルーできます。Oracle Essbase Studioで作成したアプリケーションの場合は、管理者が構成したURLにもドリルスルーできます。

注:

ドリルスルーには別名テーブルは使用できません。メンバー名を使用する必要があります。

注:

ドリルスルーを使用できるようにするには、すべてのデータ・ソース・プロバイダでフロント・エンドにプロキシ・サーバーが必要となります。詳細は、『Oracle Hyperion Enterprise Performance Management Systemインストールおよび構成ガイド』を参照してください。

Smart Viewメタデータのインポート

データ・ソース: Oracle Essbase、Planning、Financial Management、Oracle Hyperion Reporting and Analysis、Oracle Hyperion(R) Enterprise(R)、Oracle Business Intelligence Enterprise Edition

これまでのリリースでは、Excelワークシートをコピーした際に、接続情報、POV選択、別名テーブルなどの、元のシートに関連付けられているSmart Viewカスタム・プロパティ(メタデータ)は継承されませんでした。11.1.1.3では、新しい「メタデータのインポート」機能を使用して、この情報を元のシートから新たにコピーされたシートにインポートできます。

「メタデータのインポート」は、次の場合に使用できます:

  • アドホック・モード(スマート・スライスを含む)

  • データ・フォーム

  • 関数

    • Smart Viewのコピーと貼付けによって作成された、シート内のクエリーにバインドされた関数

    • 関数ビルダーで作成された、クエリーにバインドされていない関数

  • Reporting and Analysisのプロバイダからインポートされたレポートを含むワークシート

レポート・デザイナ・オブジェクトを含むワークシートでは「メタデータのインポート」を使用できませんが、これらのワークシートはSmart Viewのユーザー・ガイドまたはオンライン・ヘルプで説明されているカスケードによって複製できます。

注:

Microsoft Office 2003システムでは、「オプション」ダイアログで「向上したメタデータ・ストレージ」を選択する必要があります。

  コピーしたワークシートにメタデータをインポートする手順は、次のとおりです(この操作は元に戻せません):

  1. Excelを使用してワークシートをコピーします。この操作では、ソース・ワークシートにある表示可能なコンテンツはコピーされますが、メタデータ(接続情報、POV選択、別名テーブルなど)は宛先のワークシートにコピーされません。

  2. 宛先のワークシートがアクティブな状態で、Hyperionを選択し、次にメタデータのインポートを選択して、開いているすべてのワークブックと、それらに対応する開いているワークシートのリストを表示します。

  3. リストから、宛先のワークシートにインポートするメタデータが含まれているワークシートを選択します。

  4. OKをクリックします。選択内容を確認するメッセージが表示されます。

  5. リフレッシュを行います。

VBA関数HypCopyMetaDataを使用してメタデータのインポートを実行することもできます。

HypCopyMetaData

説明

HypCopyMetaData()はメタデータのエクスポートを実行します。

構文

HypCopyMetaData (vtSourceSheetName, vtDestinationSheetName)

ByVal vtSourceSheetName As Variant

ByVal vtDestinationSheetName As Variant

パラメータ

vtSourceSheetName: カスタム・プロパティのコピー元のソース・シートの名前。(必須)

vtDestinationSheetName: カスタム・プロパティのコピー先となるシートの名前。(必須)

戻り値

関数が正常に終了した場合はSS_OKを戻し、それ以外の場合は該当するエラー・コードを戻します。

Public Declare Function HypCopyMetaData Lib "HsAddin.dll" (ByVal vtSourceSheetName As Variant, ByVal vtDestinationSheetName As Variant) As Long

Sub Sample_HypCopyMetaData()
		Dim LRet As Long
		LRet = HypCopyMetaData (“Sheet1”, “Sheet1(2)”)
End Sub	

新規VBA関数

このリリースでは、Oracle Crystal Ball Enterprise Performance Management, Fusion Editionとの統合を容易にする新規のVBA関数がいくつか追加されています。これらの関数はより一般的な用途にも使用できます。

Smart View、Essbase、Planning、Financial Management、Oracle Hyperion Financial Data Quality Management ERP Integration Adapter for Oracle Applications、Oracle General Ledger、Oracle BI EE、Oracle Hyperion Reporting and Analysis、およびOracle Crystal Ball Enterprise Performance Management, Fusion Editionの詳細は、各製品のドキュメントを参照してください。

HypIsCellWritable

データ・ソース: Essbase、Planning、Financial Management、Oracle BI EE

モード: アド・ホック、データ・フォーム

説明

HypIsCellWritable()はセルが書込み可能かどうかをチェックします。

構文

HypIsCellWritable (vtSheetName [in], vtCellRange [out])

ByVal vtSheetName As Variant

ByVal vtCellRange As Variant

パラメータ

vtSheetName: ワークシートの名前。この引数がNULL値であるか空である場合は、デフォルトのシートが使用されます。

vtCellRange: 書込み可能かどうかをチェックする必要のあるセルの範囲(1セルのみ)。

戻り値

セルが書込み可能な場合はVARIANT_TRUEを戻し、それ以外の場合はVARIANT_FALSEを戻します。

Public Declare Function HypIsCellWritable Lib "HsAddin.dll" (ByVal vtSheetName As Variant, ByVal vtCellRange As Variant) As Boolean

Sub TestIsCellWritable()

			Dim oRet As Boolean
			Dim oSheetName As String
			Dim oSheetDisp As Worksheet
	
			oSheetName = "Sheet1"
			Set oSheetDisp = Worksheets(oSheetName$)
			oRet = HypIsCellWritable (Sheet1, oSheetDisp.Range("G2"))

End Sub

HypIsSmartViewContentPresent

データ・ソース: Essbase、Planning、Financial Management、Oracle BI EE

モード: アド・ホック、データ・フォーム、レポート・デザイナで作成されたレポート

説明

HypIsSmartViewContentPresent()はシートにSmart Viewコンテンツが含まれているかどうかをチェックします。

構文

HypIsSmartViewContentPresent(vtSheetName [in], pContentType [out])

ByVal vtSheetName As Variant

ByRef vtTypeOfContentsInSheet

パラメータ

vtSheetName: ワークシートの名前。この引数がNULL値であるか空である場合は、デフォルトのシートが使用されます。

pContentType: 関数によってシート上の適切なタイプのコンテンツが戻されます。値は下記のような列挙型で戻されます。

Enum TYPE_OF_CONTENTS_IN_SHEET
    EMPTY_SHEET
    ADHOC_SHEET
    FORM_SHEET
    INTERACTIVE_REPORT_SHEET
End Enum

戻り値

ワークシートにOracle Hyperion Smart View for Office, Fusion Editionコンテンツが含まれている場合はVARIANT_TRUEを戻し、それ以外の場合はVARIANT_FALSEを戻します。

Public Declare Function HypIsSmartViewContentPresent Lib "HsAddin.dll" (ByVal vtSheetName As Variant, _
ByRef vtTypeOfContentsInSheet As TYPE_OF_CONTENTS_IN_SHEET) As Boolean

Sub TestIsSVCContentOnSheet()

	Dim oRet As Boolean
	Dim oContentType As TYPE_OF_CONTENTS_IN_SHEET
	Dim oSheetName As String
	Dim oSheetDisp As Worksheet

	oSheetName = "Sheet1"
	Set oSheetDisp = Worksheets(oSheetName$)
	oRet = HypIsSmartViewContentPresent (Sheet1, oContentType)

End Sub

HypGetDimMbrsForDataCell

データ・ソース: Essbase、Planning、Financial Management、Oracle BI EE

モード: アド・ホック、データ・フォーム

説明

HypGetDimMbrsForDataCell()はデータ・セルに対する次元メンバーのセット全体を取得します。

構文

HypGetDimMbrsForDataCell (vtSheetName [in], vtCellRange [in], vtServerName [out], vtAppName [out], vtCubeName [out], vtFormName [out], vtDimensionNames [out], vtMemberNames [out])

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: ワークシートの名前。この引数がNULL値であるか空である場合は、デフォルトのシートが使用されます。

vtCellRange: 書込み可能かどうかをチェックする必要のあるセルの範囲(1セルのみ)。

pvtServerName: シート上の関連する接続が接続しているサーバーの名前

pvtApplicationName: シート上の関連する接続が接続しているアプリケーションの名前

pvtCubeName: シート上の関連する接続が接続しているキューブ/データベース(Planningの場合はプラン・タイプ)の名前

pvtFormName: シート上の関連する接続が接続しているフォームの名前(アド・ホック・グリッドの場合、これは空の文字列として戻されます)

pvtDimensionNames: 次元名の配列

pvtMemberNames: メンバー名の配列

戻り値

関数が正常に終了した場合はSS_OKを戻し、それ以外の場合は該当するエラー・コードを戻します。

Public Declare Function HypGetDimMbrsForDataCell Lib "HsAddin.dll" (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 TestGetDimMbrsForDataCell()

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(oSheetName$)
oRet = HypGetDimMbrsForDataCell("", oSheetDisp.Range("B2"), 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

HypCaptureFormatting

データ・ソース: Essbase、Planning、Financial Management、Oracle BI EE

モード: アド・ホック

説明

HypCaptureFormatting()はズーム・インによって作成されたセルにグリッドのフォーマットを適用します。

構文

HypCaptureFormatting (vtSheetName [in], vtRange [in])

ByVal vtSheetName As Variant

ByVal vtSelectionRange As Variant

パラメータ

vtSheetName: ワークシートの名前。この引数がNULL値であるか空である場合は、デフォルトのシートが使用されます。

vtRange: フォーマットを取得する必要のあるセル(複数可)の範囲。(複数の範囲がサポートされます)

戻り値

関数が正常に終了した場合はSS_OKを戻し、それ以外の場合は該当するエラー・コードを戻します。

Public Declare Function HypCaptureFormatting Lib "HsAddin.dll" (ByVal vtSheetName As Variant, ByVal vtSelectionRange As Variant) As Long

Sub TestCaptureFormatting()

		Dim oRet As Long
		Dim oSheetName As String
		Dim oSheetDisp As Worksheet

		oSheetName = "Sheet1"
		Set oSheetDisp = Worksheets(oSheetName$)
		oRet = HypCaptureFormatting ("", oSheetDisp.Range("B2"))

		MsgBox (oRet)

End Sub

HypRemoveCapturedFormats

データ・ソース: Essbase、Planning、Financial Management、Oracle BI EE

モード: アド・ホック

説明

HypRemoveCapturedFormats()は取得したフォーマットを削除します。

注:

元のフォーマットが適用される前に、ユーザーはグリッドをリフレッシュする必要があります。

構文

HypRemoveCapturedFormats (vtSheetName [in], vtRemoveAllCapturedFormats [in],vtSelectionRange [in])

ByVal vtSheetName As Variant

ByVal vtbRemoveAllCapturedFormats As Variant

ByVal vtSelectionRange As Variant

パラメータ

vtSheetName: ワークシートの名前。この引数がNULL値であるか空である場合は、デフォルトのシートが使用されます。

vtbRemoveAllCapturedFormats: グリッド上のすべての取得済フォーマットを削除するかどうかを指定するブール値。(このパラメータがTRUEの場合、次に続くパラメータの値は使用されないため、ユーザーはvtSelectionRangeにNULLを渡すことができます。)

vtSelectionRange: フォーマットを取得する必要のあるセル(複数可)の範囲。(複数の範囲がサポートされます)

戻り値

関数が正常に終了した場合はSS_OKを戻し、それ以外の場合は該当するエラー・コードを戻します。

Public Declare Function HypRemoveCapturedFormats Lib "HsAddin.dll" (ByVal vtSheetName As Variant, ByVal vtbRemoveAllCapturedFormats As Variant, ByVal vtSelectionRange As Variant) As Long

Sub TestRemoveCaptureFormatting()

		Dim oRet As Long
		Dim oSheetName As String
		Dim oSheetDisp As Worksheet

		oSheetName = "Sheet1"
		Set oSheetDisp = Worksheets(oSheetName$)
		'oRet = HypRemoveCapturedFormats("", False, oSheetDisp.Range("B2"))
		oRet = HypRemoveCapturedFormats("", True, Null)
		MsgBox (oRet)

End Sub

HypListCalcScriptsEx

データ・ソース: Essbase、Planning

モード: アド・ホック、データ・フォーム

説明

HypListCalcScriptsEx()はすべてのビジネス・ルールをリストします。

注:

詳細および例は、HypListCalcScriptsExの使用方法を参照してください。

構文

HypListCalcScriptsEx (vtSheetName [in], vtbRuleOnForm [in], pvtArCubeNames [out], pvtArBRNames [out], pvtArBRTypes [out], pvtArBRHasPrompts [out], pvtArBRNeedPageInfo [out], pvtArBRHidePrompts [out])

ByVal vtSheetName As Variant

ByVal vtbRuleOnForm As Variant

ByRef vtCubeNames As Variant

ByRef vtBRNames As Variant

ByRef vtBRTypes As Variant

ByRef vtBRHasPrompts As Variant

ByRef vtBRNeedsPageInfo As Variant

ByRef vtBRHidePrompts As Variant

パラメータ

vtSheetName: ワークシートの名前。この引数がNULL値であるか空である場合は、デフォルトのシートが使用されます。

vtbRuleOnForm: ユーザーが、シート上の開いているフォームにのみ関連付けられているビジネス・ルールをリストするよう求めているかどうかを示すブール値。この引数がFALSEの場合、アプリケーションに関連付けられているすべてのビジネス・ルールが戻されます。

pvtArCubeNames: ビジネス・ルールに関連付けられているキューブ名(Planningの場合はプラン・タイプ)の配列

pvtArBRNames: ビジネス・ルール名の配列

pvtArBRTypes: ビジネス・ルール・タイプの配列

pvtArBRHasPrompts: - ビジネス・ルールに実行時のプロンプトがあるかどうかを示すブール値の配列

pvtArBRNeedPageInfo: ビジネス・ルールの実行にシート上のページ情報が必要かどうかを示すブール値の配列

pvtArBRHidePrompts: そのビジネス・ルールのRTPが非表示となっているかどうかを示すブール値の配列

戻り値

関数が正常に終了した場合はSS_OKを戻し、それ以外の場合は該当するエラー・コードを戻します。

HypExecuteCalcScriptEx

データ・ソース: Essbase、Planning

モード: アド・ホック、データ・フォーム

説明

HypExecuteCalcScriptEx()は選択されたビジネス・ルールを起動します。

構文

HypExecuteCalcScriptEx(vtSheetName [in], vtCubeName [in], vtBRName [in], vtBRType [in], vtbBRHasPrompts [in], vtbBRNeedPageInfo [in], vtRTPNames() [in], vtRTPValues() [in], vtbShowRTPDlg [in], vtbRuleOnForm [in], vtbBRRanSuccessfuly [out], vtCubeName [out], vtBRName [out], vtBRType [out], vtbBRHasPrompts [out], vtbBRNeedPageInfo [out], vtbBRHidePrompts [out], vtRTPNamesUsed [out], vtRTPValuesUsed [out])

ByVal vtSheetName As Variant

ByVal vtCubeName As Variant

ByVal vtBRName As Variant

ByVal vtBRType As Variant

ByVal vtbBRHasPrompts As Variant

ByVal vtbBRNeedPageInfo As Variant

ByRef vtRTPNames() As Variant

ByRef vtRTPValues() As Variant

ByVal vtbShowRTPDlg As Variant

ByVal vtbRuleOnForm As Variant

ByRef vtbBRRanSuccessfuly As Variant

ByRef vtCubeName As Variant

ByRef vtBRName As Variant

ByRef vtBRType As Variant

ByRef vtbBRHasPrompts As Variant

ByRef vtbBRNeedPageInfo As Variant

ByRef vtbBRHidePrompts As Variant

ByRef vtRTPNamesUsed As Variant

ByRef vtRTPValuesUsed As Variant

パラメータ

vtSheetName: ワークシートの名前。この引数がNULL値であるか空である場合は、デフォルトのシートが使用されます。

vtCubeName: ビジネス・ルールが関連付けられているキューブ名(Planningの場合はプラン・タイプ)

vtBRName: 実行するBRのビジネス・ルール名

vtBRType: 実行するBRのビジネス・ルール・タイプ

vtbBRHasPromps: ビジネス・ルールにRTPがあるかどうかを示すブール値

vtbNeedPageInfo: ビジネス・ルールの実行にページ情報が必要かどうかを示すブール値(この情報はHypListCalcScriptsExから、または前回のHypExecuteCalcScriptExの実行結果から取得します)

ppRTPNames: ビジネス・ルールに関連付けられているRTP名の配列

ppRTPValues: RTP名に対応するRTP値の配列

vtbShowBRDlg:「ビジネス・ルール」ダイアログ・ボックスを表示してユーザーに実行するビジネス・ルールを選択させるか、BRを自動実行するかを指定するブール値。このフラグがTRUEの場合、そのBRに関連するすべての入力パラメータは無視されます。推奨事項: BRの初回実行時にはこのフラグをTRUEに設定し、出力パラメータを使用して2回目以降から同じBRの実行を自動化してください。その場合、このフラグを2回目以降はFALSEに設定する必要があります

vtbRuleOnForm: アクティブ・シート上で開いているフォームにビジネス・ルールが関連付けられているかどうかを示すブール値

pvtbBRRanSuccessfully: 前回のビジネス・ルールの実行が正常に行われたかどうかを示すブール値を戻します

pvtCubeNameUsed: 最終実行ビジネス・ルールに関連付けられているキューブ名(Planningの場合はプラン・タイプ)

pvtBRNameUsed: 最終実行ビジネス・ルールのビジネス・ルール名

pvtBRTypeUsed: 最終実行ビジネス・ルールのビジネス・ルール・タイプ

pvtbBRHasPrompts: 最終実行ビジネス・ルールがRTPを有していたかどうかを示すブール値

pvtbBRNeedPageInfo: 最終実行ビジネス・ルールがページ情報を必要としたかどうかを示すブール値

pvtbBRHidePrompts: 最終実行ビジネス・ルールが非表示のRTPを有していたかどうかを示すブール値

pvtRTPNamesUsed: 最終実行ビジネス・ルールの実行に使用されたRTP名の配列

pvtRTPValuesUsed: 最終実行ビジネス・ルールの実行に使用されたRTP名に関連付けられているRTP値の配列

戻り値

関数が正常に終了した場合はSS_OKを戻し、それ以外の場合は該当するエラー・コードを戻します。

Declare Function HypListCalcScriptsEx Lib "HsAddin.dll" (ByVal vtSheetName As Variant, ByVal vtbRuleOnForm As Variant, ByRef vtCubeNames As Variant, ByRef vtBRNames As Variant, ByRef vtBRTypes As Variant, ByRef vtBRHasPrompts As Variant, ByRef vtBRNeedsPageInfo As Variant, ByRef vtBRHidePrompts As Variant) As Long

Declare Function HypExecuteCalcScriptEx Lib "HsAddin.dll" (ByVal vtSheetName As Variant, ByVal vtCubeName As Variant, ByVal vtBRName As Variant, ByVal vtBRType As Variant, ByVal vtbBRHasPrompts As Variant , ByVal vtbBRNeedPageInfo As Variant, ByRef vtRTPNames() As Variant, ByRef vtRTPValues() As Variant, ByVal vtbShowRTPDlg As Variant, ByVal vtbRuleOnForm As Variant, ByRef vtbBRRanSuccessfuly As Variant, ByRef vtCubeName As Variant, ByRef vtBRName As Variant, ByRef vtBRType As Variant, ByRef vtbBRHasPrompts As Variant, ByRef vtbBRNeedPageInfo As Variant, ByRef vtbBRHidePrompts As Variant, ByRef vtRTPNamesUsed As Variant, ByRef vtRTPValuesUsed As Variant) As Long

Sub TestListAndExecuteCalcScriptsEx()

Dim oRet As Long
Dim oSheetName As String
Dim oSheet As Worksheet
Dim vtCubeNames As Variant
Dim vtBRNames As Variant
Dim vtBRTypes As Variant
Dim vtBRHasPrompts As Variant
Dim vtBRNeedsPageInfo As Variant
Dim vtBRHidePrompts As Variant
Dim sAllCalcs As String
Dim sCalcName As String
Dim bNeedPageInfo As Variant
Dim vtInRTPNames() As Variant
Dim vtInRTPValues() As Variant
Dim vtOutRTPNames As Variant
Dim vtOutRTPValues As Variant
Dim vtbBRRanSuccessfully As Variant
Dim vtbBRRanSuccessfully2 As Variant
Dim vtOutCubeName As Variant
Dim vtOutBRName As Variant
Dim vtOutBRType As Variant
Dim bBRHasPrompts As Variant
Dim bBRNeedPageInfo As Variant
Dim bBRHidePrompts As Variant
Dim bShowDlg As Variant
Dim bRuleOnForm As Variant

'Set oSheet = ActiveSheet
'oSheetName = oSheet.Name
oSheetName = "Sheet3"

oRet = HypListCalcScriptsEx (oSheetName, False, vtCubeNames, vtBRNames, vtBRTypes, vtBRHasPrompts, vtBRNeedsPageInfo, vtBRHidePrompts)
If (oRet = 0) Then
    If IsArray(vtBRNames) Then
        lNumMbrs = (UBound(vtBRNames) - LBound(vtBRNames) + 1)
    End If

    sPrintMsg = "Number of Calc Scripts = " & lNumMbrs
    MsgBox (sPrintMsg)

    'Start Executing the Calc Script

    bShowDlg = True
    bRuleOnForm = False
    iScript = 1

    oRet = HypExecuteCalcScriptEx (oSheetName, vtCubeNames(iScript), vtBRNames(iScript),  vtBRTypes(iScript), vtBRHasPrompts(iScript), vtBRNeedsPageInfo(iScript), vtInRTPNames, vtInRTPValues, bShowDlg, bRuleOnForm, vtbBRRanSuccessfully, vtOutCubeName, vtOutBRName, vtOutBRType,bBRHasPrompts, bBRNeedPageInfo, bBRHidePrompts, vtOutRTPNames, vtOutRTPValues)
    If (oRet = 0) Then
        MsgBox ("Last BR ran successfully -  " & vtbBRRanSuccessfully)

        If (vtbBRRanSuccessfully = True) Then
            bShowDlg = False
            bRuleOnForm = False

            If IsArray(vtOutRTPNames) And IsArray(vtOutRTPValues) Then
                lNumRTPNames = (UBound(vtOutRTPNames) - LBound(vtOutRTPNames) + 1)
                lNumRTPVals = (UBound(vtOutRTPValues) - LBound(vtOutRTPValues) + 1)
            End If

            If (lNumRTPNames > 0) Then
                ReDim vtInRTPNames(lNumRTPNames - 1) As Variant
                ReDim vtInRTPValues(lNumRTPNames - 1) As Variant

                For iRTPs = 0 To lNumRTPNames - 1
                    sBRName = vtOutRTPNames(iRTPs)
                    sBRVal = vtOutRTPValues(iRTPs)

                    vtInRTPNames(iRTPs) = sBRName
                    vtInRTPValues(iRTPs) = sBRVal
                Next iRTPs
            End If

            oRet = HypExecuteCalcScriptEx (oSheetName, vtOutCubeName, vtOutBRName, vtOutBRType, bBRHasPrompts , bBRNeedPageInfo, vtInRTPNames, vtInRTPValues, bShowDlg, bRuleOnForm, vtbBRRanSuccessfully2, vtOutCubeName,  vtOutBRName, vtOutBRType, bBRHasPrompts, bBRNeedPageInfo, bBRHidePrompts, vtOutRTPNames, vtOutRTPValues)
            MsgBox ("Automated BR ran successfully -  " & vtbBRRanSuccessfully2)
        End If
    Else
        sPrintMsg = "Error - " & oRet
        MsgBox (sPrintMsg)
    End If
Else
    sPrintMsg = "Error - " & oRet
    MsgBox (sPrintMsg)
End If

End Sub

使用方法

HypExecuteCalcScriptExの前にHypListCalcScriptsExが呼び出されたかどうかに応じて、HypExecuteCalcScriptExは4つのモードで使用できます。

HypExecuteCalcScriptExの前にHypListCalcScriptsExを呼び出していない場合は、HypListCalcScriptsExを初めて呼び出す際に、初回の使用のためにvtbShowBRDlg引数をTRUEに設定し、その後でFALSEに設定する必要があります。

  • vtbShowBRDlg引数がTRUEの場合(モード1):

    • 入力引数: vtSheetName、vtCubeName、vtbRuleOnFormが使用されます。vtBRName、vtBRType、vtbBRHasPrompts、vtbNeedPageInfo、ppRTPNames、ppRTPValuesは無視されます。

    • 動作: vtbRuleOnFormの値に応じて「ビジネス・ルール」ダイアログ・ボックスに使用可能なすべてのルールが表示されます。ユーザーが「ビジネス・ルール」ダイアログ・ボックスでビジネス・ルールを選択して実行し、ダイアログを終了すると、そのビジネス・ルールの詳細が出力引数に設定され呼び出し側に戻されます。

    • 出力引数: すべての出力引数に値が設定されて呼び出し側に戻され、呼び出し側はそれらを後続の呼び出しで使用できるようになります。

  • vtbShowBRDlg引数がFALSEの場合(モード2):

    • 入力引数: すべての入力引数が使用されます。

    • 動作: ビジネス・ルールは「ビジネス・ルール」ダイアログ・ボックスを表示せずに実行され、該当するステータスが呼び出し側に戻されます。

    • 出力引数: 呼び出し側はその特定のビジネス・ルールの実行に必要な全情報をすでに有しており、呼び出し側に情報を渡す必要がないため、すべての出力引数は未変更のままとなります。

HypExecuteCalcScriptExの前にHypListCalcScriptsExを呼び出す場合、HypListCalcScriptsExが呼び出された時点で、ユーザーはすべてのビジネス・ルールと実行時プロンプト(RTP)に関する情報を取得します(該当する場合)。

ユーザーがRTPのないビジネス・ルールを実行する場合、vtbShowBRDlg引数にFALSEを設定してHypExecuteCalcScriptExを呼び出し、他のすべての情報を入力引数として提供できます。

ユーザーがRTPのあるビジネス・ルールを実行する場合は、ビジネス・ルールとそのRTPを表示してユーザーがそのビジネス・ルールを実行するためのRTP値を選択できるよう、vtbShowBRDlgにTRUEを設定してHypExecuteCalcScriptExを呼び出す必要があります。(注: Planningでは、表示されるRTPがない場合はビジネス・ルールのRTPフラグをTRUEに設定しても差し支えありません。)

  • キューブ名、ビジネス・ルール名、およびビジネス・ルール・タイプが空としてHypExecuteCalcScriptExで渡された場合(モード3)、「ビジネス・ルール」ダイアログ・ボックスが表示され、vtbRuleOnForm引数に応じてすべてのビジネス・ルールが表示されます。それ以外はすべてモード1と同じ動作になります。

  • キューブ名、ビジネス・ルール名、およびビジネス・ルール・タイプの値が指定されてHypExecuteCalcScriptExで渡された場合(モード4)、「ビジネス・ルール」ダイアログ・ボックスが表示され、渡されたビジネス・ルール(指定されたキューブ名に対するビジネス・ルール名)のみがそのRTPとともに表示されます。それ以外はすべてモード1と同じ動作になります。

HypGetCellRangeForMbrCombination

データ・ソース: Essbase、Planning、Financial Management、Oracle BI EE

モード: アド・ホック、データ・フォーム

説明

HypGetCellRangeForMbrCombination()は選択したメンバーの組合せのセル範囲を取得します。

構文

HypGetCellRangeForMbrCombination (vtSheetName [in], ppvtDimNames [in], ppvtMbrNames [in], pvtCellIntersectionRange [out])

By Val vtSheetName As Variant

ByRef vtDimNames As Variant

ByRef vtMbrNames As Variant

ByRef vtCellIntersectionRange As Variant

パラメータ

vtSheetName: ワークシートの名前。この引数がNULL値であるか空である場合は、デフォルトのシートが使用されます。

ppvtDimNames: 次元名の配列

ppvtMbrNames: 次元に対応するメンバー名の配列(同じ順序)

pvtCellIntersectionRange: グリッド上のセル(複数可)の範囲

戻り値

関数が正常に終了した場合はSS_OKを戻し、それ以外の場合は該当するエラー・コードを戻します。

Public Declare Function HypGetCellRangeForMbrCombination Lib "HsAddin.dll" (ByVal vtSheetName As Variant, ByRef vtDimNames() As Variant, ByRef vtMbrNames() As Variant, ByRef vtCellIntersectionRange As Variant) As Long

Sub GetCellRangeForMbrCombination()

		Dim oRet As Long
		Dim oSheetName As String
		Dim oSheetDisp As Worksheet
		Dim vtDimNames(3) As Variant
		Dim vtMbrNames(3) As Variant
		Dim vtReturnCellRange As Variant
		Dim oRange As Range
	
		'oSheetName = "Sheet1"
		'Set oSheetDisp = Worksheets(oSheetName$)

		vtDimNames(0) = "Measures"
		vtDimNames(1) = "Market"
		vtDimNames(2) = "Year"
		vtDimNames(3) = "Product"
		'vtDimNames(4) = ""

		vtMbrNames(0) = "Sales"
		vtMbrNames(1) = "New York"
		vtMbrNames(2) = "Year"
		vtMbrNames(3) = " Product"
		'vtMbrNames(4) = ""

oRet = HypGetCellRangeForMbrCombination ("", vtDimNames, vtMbrNames, vtReturnCellRange)

If (oRet = 0) Then
    Set oRange = vtReturnCellRange
End If

HypIsDataModified

データ・ソース: Essbase、Planning、Financial Management、Oracle BI EE

モード: アド・ホック、データ・フォーム

説明

HypIsDataModified()は、変更されたものの送信されていないデータ・セルがないかどうかをチェックします。

構文

HypIsDataModified (vtSheetName [in])

By Val vtSheetName As Variant

パラメータ

vtSheetName: ワークシートの名前。この引数がNULL値であるか空である場合は、デフォルトのシートが使用されます。

戻り値

更新されたものの送信されていないデータ・セルがシートに含まれている場合はVARIANT_TRUEを戻し、それ以外の場合はVARIANT_FALSEを戻します。

Public Declare Function HypIsDataModified Lib "HsAddin.dll" (ByVal vtSheetName As Variant) As Boolean

Sub TestIsSheetDirty()

		Dim oRet As Boolean

		oRet = HypIsDataModified("")
		MsgBox (oRet)

End Sub

HypIsFreeForm

データ・ソース: Oracle Essbase、Oracle Hyperion Planning, Fusion Edition、Financial Management、Oracle Business Intelligence Enterprise Edition

モード: アド・ホック、データ・フォーム(Oracle Hyperion Financial Management, Fusion Editionではアド・ホックのみ)

説明

HypIsFreeForm()はワークシートがフリー・フォームかどうかをチェックします。

構文

HypIsFreeForm (vtSheetName [in])

By Val vtSheetName As Variant

パラメータ

vtSheetName: ワークシートの名前。この引数がNULL値であるか空である場合は、デフォルトのシートが使用されます。

戻り値

セルがフリー・フォーム状態の場合、つまりメンバー・セルまたはコメント・セルのいずれかが変更されておりシートがリフレッシュされていない場合はVARIANT_TRUEを戻し、それ以外の場合はVARIANT_FALSEを戻します。

Public Declare Function HypIsFreeForm Lib "HsAddin.dll" (ByVal vtSheetName As Variant) As BooleanSub TestIsSheetFreeForm()

Sub HypIsFreeForm() 
		Dim oRet As Boolean

		oRet = HypIsFreeForm("")
		MsgBox (oRet)

End Sub