BAM データを処理するためのカスタム DTS タスクを作成する最も簡単な方法は、BAM によって自動生成されるパッケージから開始し、すべての実際のデータ処理を置き換える方法です。
カスタム DTS タスクを作成するには
OLAP キューブを必要とする BAM 定義を作成します。 たとえば、Excel ウィザードを使用し、1 つのピボットテーブル レポートを® RTA 以外のビューのままにします。
BAM によって作成されるキューブ処理用の DTS パッケージを開きます。 BAM は、ビューごとに 1 つのパッケージ (BAM_AN_<View Name> と呼ばれます) を作成します。
DTS デザイナーでパッケージを開き、最初の 2 つの手順と最後の手順を除くすべての手順を削除します。 プライマリ インポート データベースへの接続を維持することもできます。
最初の ActiveX® タスクのプロパティを編集します。 削除されたステップを参照しているため、DTSGlobalVariables.Parent.Steps を含むすべての行を削除します。 スクリプトの先頭は次のとおりです。
serverName = "<your server here>" databaseName = "<your analysis database here>" cubeName = "<your cube name here>"
注
"データ分析の開始" タスク (パッケージ内の 2 番目のタスク) は、パッケージを提供するため、非常に重要です。
- 完了したアクティビティの増分処理用の移動ウィンドウである、bam_(BamView)_View(Activity)_CompletedInstancesWindow という名前の動的 SQL ビュー
- 進行中のアクティビティのスナップショット - bam_(BamView)_View(Activity)_ActiveInstancesSnapshotという名前のテーブル。
- 完了したアクティビティの増分処理用の移動ウィンドウである、bam_(BamView)_View(Activity)_CompletedInstancesWindow という名前の動的 SQL ビュー
データがプライマリ インポート データベースの実際の瞬間スナップショットを表すように、データを挿入しない短いトランザクションでビューとテーブルを取得します。 ビューとテーブルに基づいて実際のデータ変換を入力データとして実行する 1 つ以上の手順を実装します。 分析タスクの目的が OLAP キューブを入力する以外の場合は、ジョブが最後にコミットされた時刻のタイムスタンプを保持し、最初の ActiveX タスクを、グローバル変数 "CompletedCubeLastProcessTime" にこのタイムスタンプを割り当てるコードに置き換えることを忘れないでください。 2 番目のタスクでは、この変数を使用して、データが見落とされていないこと、および DTS パッケージのクラッシュと再起動が発生した場合にデータが 2 回処理されていないことを確認します。
最後に、最後のタスク ("エンド データ分析") を呼び出す必要があります。 このタスクは、処理された完了したアクティビティを解放し、オンライン ウィンドウの外に出るとプライマリ インポートからアーカイブおよび削除できるようにします。