共用方式為


如何使用查找擴充 BAM 數據

在某些情況下,運行時可用的數據可能不包含報告用途所需的所有資訊。 例如,您在運行時可能會有 ProductID,但沒有 ProductName。 由於 BAM 活動代表與實際收集數據方式無關的抽象概念,因此它應該包含名為的專案做為您想要在報表 「ProductName」 中看到的最終數據。 就像任何其他項目一樣,您可以在解譯建構中使用此功能,例如里程碑群組、持續時間、維度和量值。 由於 ProductName 在運行時無法使用,因此您必須取得一些足以執行查找的其他數據,例如 ProductID。

您應該從相同的欄位中收集數據,而不是收集報表所需的數據。 例如,您應該在執行時收集 ProductID,而不是 ProductName。 如果需要更多欄位,您可以在活動中建立更多項目,但不要在任何檢視中使用這些項目。

透過查詢改善 BAM 數據

  1. 部署 BAM 定義。

  2. 在 SQL Server Management Studio 中,將包含感興趣數據的伺服器新增為遠端伺服器。

  3. 找出名為 BAM_AN_<View Name> 的數據分析套件。 例如,如果檢視是 SalesMgr,則為 BAM_AN_SalesMgr。

  4. 設定縮放以放大封裝的檢視(例如 100%)

  5. 在查詢中新增您將使用的SQL連接。

  6. 在步驟「清理準備區」之後,定位轉換數據的任務。 這是您將數據從 PrimaryImport 移至 StarSchema 資料庫的位置。 這項工作有兩個實例,一個用於已完成的活動,另一個用於進行中。 將其餘步驟全部套用至這兩項工作。

  7. 請點擊轉換。

  8. 選擇查閱;使用查閱連線新增您的查閱「LookupProductByID」(查閱相關資訊請參閱在線 SQL 書籍)。 例如,如果查詢是一個簡單的數據表「LookupProduct」,該表包含 ProductID 和 ProductName 欄位,則查詢的文字會是:

    SELECT ProductName  
    FROM   LookupProduct  
    WHERE ProductID=?  
    
  9. 按一下 [轉換] 索引標籤。刪除預設數據轉換「轉換」,然後建立 ActiveX 轉換。 按一下 [源欄],並新增所有欄位。 按兩下 [目的地資料行],然後新增所有資料行。

  10. 按一下 [一般] 索引標籤,然後按一下 [屬性]。 這會導致自動產生執行簡單複製轉換的腳本,如下所示:

    Function Main()  
       ...  
       DTSDestination("ProductName") = DTSSource("ProductName")  
       ...  
       Main = DTSTransformStat_OK  
    End Function  
    
  11. 請使用查找來變更值,具體如下所示:

    Function Main()  
       ...  
       DTSDestination("Product")= _  
                      DTSLookups( "LookupProductByID" ).Execute(  _                                  DTSSource("Product"))  
       ...  
       Main = DTSTransformStat_OK  
    End Function  
    
  12. 儲存並執行封裝。

  13. 確定正確的數據最終會出現在 OLAP Cube 中。 您應該將封裝儲存為 VBScript 或結構化記憶體檔案,因為它包含您的自定義程式代碼,而不只是 BAM 自動產生的步驟。

備註

查找僅適用於您使用 DTS 和 OLAP 執行的已排程報表。 如果您需要的數據與即時匯總中所收集的數據不同,則必須在呼叫 BAM API 之前擷取數據。

另請參閱

使用商務活動監視
部署本地化的 BAM XML 檔案