2014年2月11日 星期二

Lab11:主要資料維護

這個練習將學習如何建立 MDS 部署封裝;以及如何使用「匯入」來擴展實體。

建立 MDS 部署封裝

1. 你可以在「主資料管理員」中,執行[部署]功能,以開啟「模型部署精靈」。

2. 使用「建立」功能,將前一個練習所建立的模型製作成「模型部署封裝」。

3. 刪除前一個練習所建立的模型。

4. 使用「部署」功能,重新載入先前建立的 MDS 模型部署封裝。

「匯入資料」與建立「訂閱檢視」(Subscription Views)

底下練習將學習如何使用「匯入」來擴展實體。

實體的 staging table

不管是 Lab10 中所建立的 MDS 模型,或者上面練習中,使用部署方式載入的 MDS 模型,它都會在 MDS 資料庫中建立以下資料表。 這些都是與實體相關的 staging table 。

使用匯入擴展 CountryRegion 實體

1. 擴展資料

在 SSMS 中,使用以下 TSQL ,將 AdventureWorksDW2012.dbo.DimCustomer 中的資料擴展到 MyMDS.stg.CountryRegion_Leaf 資料表.

INSERT INTO stg.CountryRegion_Leaf (ImportType, ImportStatus_ID, BatchTag, Name)

SELECT DISTINCT 1, 0, N'CountryRegionLeaf_Batch00001', G.EnglishCountryRegionName
FROM AdventureWorksDW2012.dbo.DimCustomer AS C
INNER JOIN AdventureWorksDW2012.dbo.DimGeography AS G ON C.GeographyKey = G.GeographyKey;

2. 啟動暫存處理序(Staging Process)

進入主資料管理員的[整合管理]功能。

確認左上角的下拉選單,是否已選擇 ModelCustomer 模型。

點繫啟動批次(Start Batches),並確認彈出視窗中的版本是否為 VERSION_1。

這個動作會將轉換作業送到佇列,等執行完畢,其狀態會由[QueueToRun]變更成[Completed]。

3. 套用規則

完成後,你可以在[總管]功能中看到 CountryRegion 實體總共匯入了以下6筆成員資料。

而且這些資料的代碼部份都是由系統自動指定,不過所有成員的資料都尚未被驗證。

執行 Apply To All 以對屬性進行驗證。

驗證成功。

使用匯入擴展 StateProvince 實體

1. 建立 CountryRegion 的訂閱檢視

上面我們已經擴展了 CountryRegion ,且由系統幫我們產生其代碼。 現在我們要擴展 StateProvince 實體,不過 StateProvince 實體必須參考 CountryRegion 實體的代碼, 所以在擴展 StateProvince 實體前必須先在 CountryRegion 實體中建立一個[訂閱檢視]。

在 ModelCustomer 模型的 CountryRegion 實體中建立一個檢視,取名為 CountryRegion ,並將其格式設定為分葉成員,版本為 VERSION_1 。

儲存後,你可以在 MyMDS 資料庫中找到這個檢視。

2. 擴展資料

在 SSMS 中,使用以下 TSQL ,將資料擴展到 MyMDS.stg.StateProvince_Leaf 資料表.

INSERT INTO stg.StateProvince_Leaf (ImportType, ImportStatus_ID, BatchTag, Name, CountryRegion)

SELECT DISTINCT 1, 0, N'StateProvinceLeaf_Batch00001', G.StateProvinceName, CR.Code 
FROM AdventureWorksDW2012.dbo.DimCustomer AS C
INNER JOIN AdventureWorksDW2012.dbo.DimGeography AS G ON C.GeographyKey = G.GeographyKey
INNER JOIN mdm.CountryRegion AS CR ON G.EnglishCountryRegionName = CR.Name 

PS.如果 AdventureWorksDW2012.dbo.DimGeography 和 mdm.CountryRegion 的定序不同,可以使用以下轉換:

INSERT INTO stg.StateProvince_Leaf (ImportType, ImportStatus_ID, BatchTag, Name, CountryRegion)

SELECT DISTINCT 1, 0, N'StateProvinceLeaf_Batch00001', G.StateProvinceName, CR.Code 
FROM AdventureWorksDW2012.dbo.DimCustomer AS C
INNER JOIN AdventureWorksDW2012.dbo.DimGeography AS G ON C.GeographyKey = G.GeographyKey
INNER JOIN mdm.CountryRegion AS CR ON G.EnglishCountryRegionName = CR.Name COLLATE Chinese_Taiwan_Stroke_CS_AS

3. 啟動暫存處理序

4. 套用規則

5. 建立 StateProvince 的訂閱檢視

由於下一步中的 ModelCustomer 實體也會參考到 StateProvince 中的成員,所以也必須先在 StateProvince 實體中建立一個[訂閱檢視]。

使用匯入擴展 ModelCustomer 實體

匯入

INSERT INTO stg.ModelCustomer_Leaf
(ImportType, ImportStatus_ID, BatchTag, Code, Name, StateProvince, StreetAddress,
City, EmailAddress, MaritalStatus,BirthDate, YearlyIncome)

SELECT 1, 0, N'ModelCustomer_Batch00001',
C.CustomerKey, C.FirstName + ' ' + c.LastName AS Name, SP.Code, C.AddressLine1 AS StreetAddress,
G.City, C.EmailAddress, C.MaritalStatus, C.BirthDate, C.YearlyIncome
FROM AdventureWorksDW2012.dbo.DimCustomer AS C
INNER JOIN AdventureWorksDW2012.dbo.DimGeography AS G ON C.GeographyKey = G.GeographyKey 
INNER JOIN mdm.StateProvince AS SP ON G.StateProvinceName = SP.Name COLLATE Chinese_Taiwan_Stroke_CS_AS

暫存處理

套用規則

沒有留言:

張貼留言