照合を使用して BAM データを強化する方法
操作時に使用できるデータに、レポート処理で必要となるデータがすべて含まれているとは限らない場合があります。 たとえば、実行時に、ProductID があっても ProductName がない場合があります。 BAM アクティビティは実際のデータ収集方法に依存しない抽象概念を表すので、レポートに最終的に表示するデータとして "ProductName" という名前の項目を含める必要があります。 この項目は、他の項目と同様に、マイルストーン グループ、期間、ディメンション、メジャーなどの解釈型の構成要素で使用できます。 ProductName が実行時に使用できないので、ProductID など、照合の実行に必要な追加データを取得しなければなりません。
レポートに必要なデータに代わるデータを同じ列に収集します。 たとえば、実行時には ProductName ではなく ProductID を収集します。 さらに多くの列が必要な場合は、アクティビティに多くの項目を作成することはできますが、これらをビューで使用することはできません。
照合によって BAM データを強化するには
BAM 定義をデプロイします。
SQL Server Management Studio で、必要なデータが入ったサーバーをリモート サーバーとして追加します。
BAM_AN_という名前のデータ分析パッケージを
<View Name>
見つけます。 たとえば、ビューが SalesMgr の場合は BAM_AN_SalesMgr を探します。パッケージのビューを拡大表示するためにズーム (たとえば、100%) を設定します。
照合に使用する SQL 接続を追加します。
"クリーンアップ ステージング" ステップの後にデータ変換タスクを配置します。 このタスクでは、PrimaryImport データベースから StarSchema データベースにデータを移動します。 このタスクには、完了したアクティビティ用と進行中のアクティビティの 2 つのインスタンスがあります。 両方のタスクに残りのすべてのステップを適用します。
[変換] をクリックします。
[照合] をクリックします。照合接続を使用して "LookupProductByID" という照合を追加します (照合については、SQL Server Books Online を参照してください)。 たとえば、照合が ProductID 列と ProductName 列を含む単純なテーブル "LookupProduct" の場合、照合のテキストは次のようになります。
SELECT ProductName FROM LookupProduct WHERE ProductID=?
[変換] タブをクリックします。既定のデータ変換 "Transform" を削除し、代わりに ActiveX 変換を作成します。 変換元列をクリックしてすべての列を追加し、 変換先列をクリックしてすべての列を追加します。
[全般] タブをクリックし、[プロパティ] をクリックします。 この結果、次のような簡単なコピー変換を実行するスクリプトが自動的に生成されます。
Function Main() ... DTSDestination("ProductName") = DTSSource("ProductName") ... Main = DTSTransformStat_OK End Function
次のように、照合を使用して値を変更します。
Function Main() ... DTSDestination("Product")= _ DTSLookups( "LookupProductByID" ).Execute( _ DTSSource("Product")) ... Main = DTSTransformStat_OK End Function
パッケージを保存してから実行します。
最終的に正しいデータが OLAP キューブに含まれることを確認します。 パッケージには、BAM から自動生成されたステップだけでなくカスタム コードが含まれているため、パッケージを VBScript または構造化ストレージ ファイルとして保存する必要があります。
Note
参照は、DTS と OLAP で実行するスケジュールされたレポートに対してのみ機能します。 リアルタイム集計で収集したデータとは異なるデータが必要な場合は、BAM API を呼び出す前にデータを取得する必要があります。