クラスへの Business Intelligence 要素のパッケージ化
Business Intelligence の実装では、ほとんどの場合、テスト・システム上でアプリケーションの要素を開発し、それらをプロダクション・システムにコピーします。ここでは、InterSystems IRIS® データ・プラットフォーム Business Intelligence 要素をパッケージ化して、それらを別のシステムにコピーする方法を説明します。
このページの内容は、ユーザがスタジオに対するエクスポートとインポートのプロセスを理解していることを前提としています。
"その他のエクスポート/インポート・オプション" も参照してください。
概要
Business Intelligence の実装には、以下の要素の一部またはすべてを含めることができます。
-
キューブ・クラス定義
-
サブジェクト領域クラス定義
-
KPI クラス定義
-
Business Intelligence フォルダ項目。クラスとして定義されていないすべての項目が含まれます。これには、ピボット・テーブル、ダッシュボード、ピボット変数などがあります。
これらの項目を別のシステム (ターゲット・システムと呼ばれる) に移動させるには、以下の手順を実行します。
-
次のセクションの説明に従って、すべてのフォルダ項目を 1 つ以上の Business Intelligence コンテナ・クラスにエクスポートします。
Business Intelligence コンテナ・クラスには、任意の数の Business Intelligence フォルダ項目の XML 表現が含まれます。
-
キューブ、サブジェクト領域、および KPI クラス定義をエクスポートします。
Business Intelligence のクラス定義とフォルダ項目をすべて含むプロジェクトを作成できます。その後で、このプロジェクトを InterSystems IRIS® データ・プラットフォームからエクスポートして、このプロジェクトが必要になる別の InterSystems IRIS インスタンスにインポートできます。スタジオのエクスポート・オプションやインポート・オプションを使用することも、%SYSTEM.OBJOpens in a new tab の通常のクラス・メソッドを使用することもできます。
-
エクスポートしたフォルダ項目定義を調べて、移植のための編集が行えるようにします。
-
すべてのクラス定義をターゲット・システムにインポートします。
コンテナ・クラスをコンパイルするときに、システムはそれらのクラスに含まれるすべてのフォルダ項目に対して処理を繰り返し、それぞれの項目をターゲット・システムで作成または上書きします。
コンテナ・クラスへのフォルダ項目のエクスポート
Business Intelligence フォルダ項目をコンテナ・クラスにエクスポートするには、その項目が含まれるコンテナ・クラスを定義したファイルを生成するメソッドを使用します。メソッドは %ExportContainer() です。これはクラス %DeepSee.UserLibrary.UtilsOpens in a new tab にあります。このメソッドは、以下のとおりです。
classmethod %ExportContainer(ByRef pItemList As %String,
pFileName As %String,
pContainerClassName As %String = "") as %Status
以下はその説明です。
-
pItemList は、以下の形式のノードが含まれる多次元配列です。
ノード ノード値 pItemList(itemidentifier) "" 各 itemidentifier には、以下のいずれかの文字列を使用します。
-
dashboardname.dashboard。ここで、dashboardname はダッシュボードの名前です。すべてのダッシュボードを表すために、ワイルドカード * を使用できます。ワイルドカードは他のタイプの項目でも使用できます。
-
pivotname.pivot。ここで、pivotname はピボット・テーブルの名前です (または * を使用)。
%ExportContainer() メソッドは、エクスポートされるダッシュボードによって使用されるすべてのピボット・テーブルを識別することに注意してください。明示的にエクスポートする必要があるピボット・テーブルだけが、ダッシュボードによって使用されないピボット・テーブルです。
-
namedfiltername.namedFilter。ここで、namedfiltername は名前付きフィルタの名前です (または * を使用)。
-
sharedcalcmembername.sharedCalcMember。ここで、sharedcalcmembername は共有される計算メンバです (または * を使用)。
-
listinggroupname.listingGroup。ここで、listinggroupname はリスト・グループの名前です (または * を使用)。
-
pivotvarname.pivotVariable。ここで、pivotvarname はピボット変数の名前です (または * を使用)。
-
settingname.userSetting。ここで、settingname はユーザ設定の名前です (* を使用)。
-
termlistname.termList。ここで、termlistname は用語リストの名前です (または * を使用)。
-
themename.theme。ここで、themename はダッシュボードのテーマの名前です (または * を使用)。
-
widgettemplatename.widgetTemplate。ここで、widgettemplatename はウィジェット・テンプレートの名前です (または * を使用)。
-
linkname.link。ここで、linkname はダッシュボード・リンクの名前です (または * を使用)。
-
reportname.report。ここで、reportname はダッシュボード・レポートの名前です (または * を使用)。
-
-
pFileName は、生成するファイルの名前です。
-
pContainerClassName は、生成するコンテナ・クラスのフルネームです (パッケージを含む)。
移植のための Business Intelligence のフォルダ項目の編集
Business Intelligence フォルダ項目を別のシステムにコピーする場合は、エクスポートした XML を検証して、必要な編集を実行することが重要になります。これについては、後続のサブセクションで説明します。
また、以下の点についても注意してください。
-
ダッシュボードをエクスポートするときに、システムは、そのダッシュボードが使用するピボット・テーブルを自動的にエクスポートしません。ユーザが、それらのピボット・テーブルも特定してエクスポートする必要があります。
-
Business Intelligence 要素間の参照 (ダッシュボードからピボット・テーブルへの参照など) は、名前に基づいて行われます。
<filterState> 要素の削除
以前のリリースで保存されている場合、サポートされなくなった <filterState> 要素がフォルダ項目の定義に含まれている場合があります。この場合、これらを削除する必要があります。つまり、開始タグの <filterState> と、それに対応する終了タグ </filterState> の両方を削除します。
ローカル・データの削除
フォルダ項目の定義には、そのシステムにローカルで他のシステムでは使用できない情報が含まれていることがあります (システム間でパッケージ化および共有する要素の内容に応じて異なります)。以下の項目について、XML を確認してください。
これは、エクスポートしたダッシュボードの <widget> 要素にあります。
この属性には、ミニ・アナライザで実行されたローカルのオーバーライドが含まれています。別のシステムでエクスポートした XML を使用する場合は、これを必ずクリアしてください。例 : 変更前
localDataSource="$LOCAL/Basic Dashboard Demo/SamSmith/590125613.pivot"
変更後 :
localDataSource=""
または、localDataSource 属性を削除します。
これは、すべてのフォルダ項目にあります。
この要素には、この項目を所有するユーザの名前が含まれています。指定されたユーザがターゲット・システムに存在しない場合は、この属性を編集します。この属性は、NULL に設定できます。例 : 変更前
owner="DevUser"
変更後 :
owner=""
または、この属性を削除できます。
これは、すべてのフォルダ項目にあります。
この要素には、この項目をセキュリティ保護するために使用されたリソースの名前が含まれています (存在する場合)。このリソースがターゲット・システムに存在しない場合は、この属性を編集します。この属性は、NULL に設定することも、削除することもできます。
これは、すべてのフォルダ項目にあります。
この要素には、この項目を作成したユーザの名前が含まれています。この属性は、NULL に設定することも、削除することもできます。これを実行すると、XML のインポート時に (または、コンテナ・クラスのコンパイル時に)、createdBy が現在のユーザに設定されます。
これは、すべてのフォルダ項目にあります。
この要素には、この項目が作成された日付と時間 (UTC) が含まれます。この属性は、NULL に設定することも、削除することもできます。これを実行すると、XML のインポート時に (または、コンテナ・クラスのコンパイル時に)、timeCreated が現在のタイム・スタンプに設定されます。
これは、すべてのフォルダ項目にあります。
この要素には、ユーザがこの項目に最後にアクセスした日付と時間 (UTC) が含まれます。この属性は、NULL に設定することも、削除することもできます。これを実行すると、XML のインポート時に (または、コンテナ・クラスのコンパイル時に)、timeCreated が現在のタイム・スタンプに設定されます。
エクスポートしたコンテナ・クラスのインポート
エクスポートしたコンテナ・クラスをインポートするには、%ImportContainer() メソッドを使用します。これはクラス %DeepSee.UserLibrary.UtilsOpens in a new tab にあります。このメソッドは、以下のとおりです。
ClassMethod %ImportContainer(pFileName As %String = "", pReplace As %Boolean = 1) As %Status
以下はその説明です。
-
pFileName は、生成するファイルの名前です。
-
pReplace は、既存のクラスを置き換えるかどうかを指定します。
%ImportContainer() は、%OnLoad() メソッドを自動的に呼び出します (これがコンテナ・クラスで定義されている場合)。
フォルダマネージャの使用法
このセクションでは、フォルダマネージャを使用して、項目の依存関係の表示、項目のエクスポート、および項目のインポートを実行する方法について説明します。また、このページで後述するように、スタジオでエクスポートおよびインポートを実行することもできます。
フォルダ項目の依存関係の表示
1 つの項目のチェック・ボックスにチェックを付けた場合は、フォルダマネージャの左側の領域に、その項目の詳細 (その項目が依存する項目の一覧など) が表示されます。
サーバへの Business Intelligence フォルダ項目のエクスポート
Business Intelligence のフォルダ項目をサーバ上のファイルにエクスポートするには、以下の手順を実行します。
-
[InterSystems ランチャー] をクリックし、[管理ポータル] をクリックします。
セキュリティの設定によっては、InterSystems IRIS ユーザ名とパスワードを使用してログインするように求められます。
-
以下のように、適切なネームスペースに切り替えます。
-
現在のネームスペースの名前をクリックして、使用可能なネームスペースのリストを開きます。
-
リストから、該当するネームスペースをクリックします。
-
-
[Analytics]→[管理]→[フォルダマネージャ] の順に選択します。
-
[サーバ] を選択します。
-
[サーバ・ディレクトリ] に、項目のエクスポート先ディレクトリのフル・パスを入力します。または、そのネームスペースの既定のデータベースが含まれているディレクトリを基準とした相対ディレクトリ名を入力します。または、[参照] ボタンを使用します。
このディレクトリは既に存在している必要があります。
-
エクスポートする各項目の横にあるチェック・ボックスにチェックを付けます。
また、すべての項目を選択する場合は、チェック・ボックス列の一番上にあるチェック・ボックスにチェックを付けます。
-
[エクスポート] をクリックします。
-
必要に応じて、[ディレクトリ] タブをクリックします。このタブに、指定したディレクトリ内のファイルが表示されます。
バリエーション: コンテナ・クラスのエクスポート
代わりに特定のフォルダ項目が含まれるコンテナ・クラスで構成される単一ファイルをエクスポートするには、以下の手順を実行します。
-
前述した手順のとおりに、[サーバ] と [サーバ・ディレクトリ] を指定します。
-
エクスポートする項目を選択します。
-
[エクスポートするコンテナ・クラスの作成] オプションを選択します。
-
必要に応じて、[関連サポート項目のエクスポート] を選択します。これにより、選択したフォルダ項目の配置に必要とされる可能性のあるサポート項目をすべてエクスポートします。サポート項目の例として、ピボット変数、名前付きフィルタ、共有される計算メンバなどが挙げられます。
-
[コンテナ・クラス名] には、必要に応じて完全修飾クラス名 (パッケージとクラス) を指定します。[コンテナ・クラス名] の指定がない場合は、名前の生成にコンテナ・クラスとエクスポート・ファイルの両方が使用されるようになります。
-
[エクスポート] をクリックします。
コンテナ・クラスに関する詳細は、"クラスへの Business Intelligence フォルダ項目のパッケージ化" を参照してください。
ブラウザへの Business Intelligence フォルダ項目のエクスポート
Business Intelligence のフォルダ項目をブラウザのダウンロード・ディレクトリにエクスポートするには、以下の手順を実行します。
-
[InterSystems ランチャー] をクリックし、[管理ポータル] をクリックします。
セキュリティの設定によっては、InterSystems IRIS ユーザ名とパスワードを使用してログインするように求められます。
-
以下のように、適切なネームスペースに切り替えます。
-
現在のネームスペースの名前をクリックして、使用可能なネームスペースのリストを開きます。
-
リストから、該当するネームスペースをクリックします。
-
-
[Analytics]→[管理]→[フォルダマネージャ] の順に選択します。
-
[ブラウザ] を選択します。
-
エクスポートする項目を選択します。
-
必要に応じて、[関連サポート項目のエクスポート] を選択します。
-
[コンテナ・クラス名] には、必要に応じて完全修飾クラス名 (パッケージとクラス) を指定します。[コンテナ・クラス名] の指定がない場合は、名前の生成にコンテナ・クラスとエクスポート・ファイルの両方が使用されるようになります。
-
[エクスポート] をクリックします。
Business Intelligence フォルダ項目のインポート
エクスポート済みのフォルダ項目をインポートするには、以下の手順を実行します。
-
[Analytics]→[管理] をクリックして、[フォルダマネージャ] をクリックします。
-
[サーバ・ディレクトリ] に、エクスポート済みの項目を格納しているディレクトリのフル・パスを入力します。または、そのネームスペースの既定のデータベースが含まれているディレクトリを基準とした相対ディレクトリ名を入力します。
-
[ディレクトリ] タブをクリックします。このタブに、指定したディレクトリ内の項目のファイル名が表示されます。
-
インポートする各ファイルの横にあるチェック・ボックスにチェックを付けます。
また、すべての項目を選択する場合は、チェック・ボックス列の一番上にあるチェック・ボックスにチェックを付けます。
-
[インポート] をクリックします。
-
プロンプトで [OK] をクリックして次に進みます。または、[キャンセル] をクリックします。
ファイルのインポート時に作成される項目については、InterSystems サービスを実行するユーザ名 (_SYSTEM など) が所有者になります。
バリエーション : ローカル・ファイルのサーバへのインポート
ローカル・ファイルをサーバにインポートするには、以下の手順を実行します。
-
[Analytics]→[管理] をクリックして、[フォルダマネージャ] をクリックします。
-
[ブラウザ] を選択します。
-
[ディレクトリ] タブをクリックして、[ファイルの選択] をクリックします。
-
インポートするファイルを選択します。
-
[インポート] をクリックします。
-
プロンプトで [Ok] をクリックして次に進みます。または、[キャンセル] をクリックします。