操作時に使用できるデータに、レポートのために必要なものがすべて含まれていない場合があります。 たとえば、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 ブックを参照してください)。 たとえば、ルックアップが単純なテーブル "LookupProduct" で、ProductID 列と ProductName 列がある場合、ルックアップのテキストは次のようになります。
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 または構造化ストレージ ファイルとして保存する必要があります。
注
検索は、DTS および OLAP で実行するスケジュールされたレポートに対してのみ機能します。 リアルタイム集計で収集されるデータとは異なるデータが必要な場合は、BAM API を呼び出す前にデータを取得する必要があります。