カスタム分析タスクを作成する方法
BAM データを処理するためのカスタム DTS タスクを作成する最も簡単な方法は、BAM で自動生成されるパッケージを基に作成を開始して、すべてのデータ処理を必要に応じて置き換えることです。
カスタム DTS タスクを作成するには
OLAP キューブを必要とする BAM 定義を作成します。 たとえば、Excel のウィザードを使用し、1 つのピボットテーブル® レポートを RTA 以外のビューとして残します。
BAM によって作成される、キューブ処理用の DTS パッケージを開きます。 BAM では、BAM_AN_<View Name と呼ばれるビューごとに 1 つのパッケージが作成されます>。
DTS デザイナーでパッケージを開き、最初の 2 つのステップと最後のステップを除くすべてのステップを削除します。 また、プライマリ インポート データベースへの接続を保持することが必要な場合もあります。
最初の ActiveX® タスクのプロパティを編集します。 DTSGlobalVariables.Parent.Steps が含まれている行は削除済みのステップを参照しているので、すべて削除します。 スクリプトの先頭部分は次のとおりです。
serverName = "<your server here>" databaseName = "<your analysis database here>" cubeName = "<your cube name here>"
Note
"データ分析開始" タスク (このパッケージの 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 回行われていないことを確認します。
最後に、"データ分析終了" という最終的なタスクを呼び出す必要があります。 このタスクは、処理済みの完了したアクティビティを解放します。これにより、オンライン時間帯以外のときに、そのアクティビティをプライマリ インポートからアーカイブおよび削除することができます。