適用於:SQL Server
Azure Data Factory 中的 SSIS Integration Runtime
在您檢閱來源資料的剖析結果之前,第一步是設定並執行「資料剖析」工作。 您可以在 Integration Services 套件內建立這個工作。 若要設定「資料分析」工作,您可以使用「資料分析工作編輯器」。 此編輯器可讓您選擇設定檔的輸出位置,以及要計算哪些設定檔。 設定好工作後,您可執行套件來計算資料設定檔。
需求和限制
資料分析工作僅用於儲存在 SQL Server 中的資料。 不支援第三方或檔案型資料來源。
此外,要執行包含資料剖析任務的套件,你必須使用一個在 tempdb 資料庫上擁有讀寫權限(包括 CREATE TABLE 權限)的帳號。
套件中的資料剖析工作
「資料分析」工作僅會設定設定檔並建立包含計算設定檔的輸出檔。 若要檢閱這個輸出檔,您必須使用獨立的檢視器程式「資料設定檔檢視器」。 由於您必須個別檢視輸出,因此可能要在不包含其他任何工作的封裝中使用「資料分析」工作。
不過,您不需要將「資料分析」工作當做封裝中的唯一工作使用。 如果您想要在更複雜封裝的工作流程或資料流程中執行資料分析,就會有下列選項:
若要實作以工作輸出檔為基礎的條件式邏輯,請在封裝的控制流程中,將「指令碼」工作放在「資料分析」工作後面。 接著,您就可以使用這個指令碼工作來查詢輸出檔案。
若要在已經載入並轉換資料流程中的資料之後分析這項資料,您必須暫時將變更的資料儲存至 SQL Server 資料表。 然後,您就可以分析已儲存的資料。
如需詳細資訊,請參閱 在封裝工作流程中納入資料分析工作。
任務輸出的設定
將「資料剖析」工作加入封裝後,您必須為該工作將計算出的剖析設定檔設定輸出。 若要設定設定檔的輸出,您可以使用 [資料分析工作編輯器] 的 [一般] 頁面。 除了指定輸出的目的地之外,[一般] 頁面還提供執行快速分析資料的功能。 當您選取快速設定檔時,「資料剖析」工作會使用部分或全部預設設定檔及其預設設定,來剖析資料表或檢視。
如需詳細資訊,請參閱資料分析工作編輯器 (一般頁面) 和單一資料表快速分析表單 (資料分析工作)。
重要
輸出檔可能包含您資料庫的相關敏感性資料,以及資料庫所包含的資料。 如需如何讓這個檔案更安全的相關建議,請參閱 對封裝使用之檔案的存取權。
要計算之設定檔的選取與設定
設定輸出檔後,您必須選取要計算的資料設定檔。 資料剖析工作可計算八種不同的資料剖析。 其中五種設定檔會分析個別的資料行,而剩餘的三種則會分析多個資料行或資料行和資料表之間的關聯性。 在單一「資料剖析」工作中,您可以針對多個資料表或檢視表中的多個資料行或資料行組合,計算多個剖析。
下表說明這些設定檔各自會計算哪些報告,以及各設定檔適用的資料類型。
| 計算 | 這有助於識別 | 使用此設定檔 |
|---|---|---|
| 選取之資料行中所有不同的字串值長度,以及該資料表中每個長度所代表之資料列的百分比。 | 無效的字串值-例如,您剖析某個應使用兩個字元表示美國州代碼的資料行時,卻發現其中有些值的長度超過兩個字元。 |
資料行長度分佈-適用於具有下列其中一種字元資料類型的資料行: char nchar varchar nvarchar |
| 一組規則運算式,其中涵蓋了字串資料行中值的指定百分比。 同時可尋找未來可用於驗證新值的規則運算式 |
無效或格式錯誤的字串值 - 例如,[郵遞區號] 資料行的模式設定檔可能會產生規則運算式:\d{5}-\d{4}、\d{5} 和 \d{9}。 如果輸出包含其他規則運算式,表示資料包含無效或格式錯誤的值。 |
資料行模式設定檔 - 適用於具有下列其中一種字元資料類型的資料行: char nchar varchar nvarchar |
| 選取之資料行中 Null 值的百分比。 | 某個資料行中 Null 值的比例過高 - 例如,您分析了應該包含美國郵遞區號的資料行,但發現遺漏郵遞區號的比例過高。 |
資料行空值比例-適用於具有下列任一資料類型的資料行: image text xml 使用者定義型別 變體類型 |
| 數值資料行的最小值、最大值、平均值和標準差,以及 datetime 資料行的最小值和最大值等統計資料。 | 無效的數值與日期-例如,您分析歷史日期資料行時,卻發現最大日期是在未來。 |
資料行統計資料設定檔 - 適用於具有下列其中一種資料類型的資料行。 數值資料類型: 整數類型 ( bit除外 money smallmoney decimal float 真實 numeric 日期和時間資料類型: datetime smalldatetime timestamp date time datetime2 datetimeoffset 注意:若為具有日期和時間資料類型的資料行,此設定檔就只會計算最小值和最大值。 |
| 選取之資料行中的所有相異值,以及該資料表中每個值所代表之資料列的百分比。 或者,資料表中所占比例超過指定百分比的值。 | 某個資料行中相異值的數目不正確 - 例如,您分析了包含美國州名的資料行,但發現超過 50 個相異值。 |
資料行值分佈-適用於具有下列任一資料類型的資料行。 數值資料類型: 整數類型 ( bit除外 money smallmoney decimal float 真實 numeric 字元資料類型: char nchar varchar nvarchar 日期和時間資料類型: datetime smalldatetime timestamp date time datetime2 datetimeoffset |
| 資料行或資料行集合是否為所選資料表的索引鍵或近似索引鍵。 | 潛在索引鍵資料行中的重複值-例如,您在 Customers 資料表中剖析 Name 和 Address 資料行,並發現名稱與地址的組合出現重複值,儘管這些組合本應是唯一的。 |
候選索引鍵- 多資料行設定檔,用於報告某個資料行或一組資料行是否適合作為所選資料表的索引鍵。 適用於具有下列其中一種資料類型的資料行。 整數資料類型: 位元 tinyint smallint int bigint 字元資料類型: char nchar varchar nvarchar 日期和時間資料類型: datetime smalldatetime timestamp date time datetime2 datetimeoffset |
| 某個資料行 (相依資料行) 中的值相依於另一個資料行或資料行集合 (行列式資料行) 中之值的程度。 | 不適用於相依資料行中的值 - 例如,您分析了包含「美國郵遞區號」之資料行與「美國州名」之資料行之間的相依性。 相同的郵遞區號應該永遠具有相同的州名。 不過,此設定檔發現了違反此相依性的情況。 |
功能相依性 - 適用於具有下列其中一種資料類型的資料行。 整數資料類型: 位元 tinyint smallint int bigint 字元資料類型: char nchar varchar nvarchar 日期和時間資料類型: datetime smalldatetime timestamp date time datetime2 datetimeoffset |
| 資料行或資料行集合是否適合當做選取之資料表之間的外部索引鍵。 也就是說,這個設定檔會報告兩個資料行或資料行集合之間值的重疊。 |
無效的值 - 例如,您分析了 Sales 資料表的 ProductID 資料行。 此設定檔分析發現,該資料行包含一些在 Products 資料表的 ProductID 資料行中找不到的值。 |
值包含 - 適用於具有下列其中一種資料類型的資料行: 整數資料類型: 位元 tinyint smallint int bigint 字元資料類型: char nchar varchar nvarchar 日期和時間資料類型: datetime smalldatetime timestamp date time datetime2 datetimeoffset |
若要選取要計算的設定檔,請使用資料剖析工作編輯器的 設定檔要求 頁面。 如需詳細資訊,請參閱資料分析工作編輯器 (設定檔要求頁面)。
在 [設定檔要求] 頁面上,您也可以指定資料來源並設定資料設定檔。 當您設定工作時,請考慮下列資訊:
若要簡化設定,並且更容易發現不熟悉資料的特性,您可以使用萬用字元 (*) 來取代個別的資料行名稱。 如果您使用這個萬用字元,此工作將會分析具有適當資料類型的每個資料行,而且可能會降低處理速度。
當所選的資料表或檢視是空的時,資料剖析工作不會計算任何剖析。
當選取之資料行中的所有值為 Null 時,資料分析工作僅會計算資料行 Null 比例設定檔。 它不會針對空的資料行計算資料行長度分佈設定檔、資料行模式設定檔、資料行統計設定檔或資料行值分佈設定檔。
每個可用的資料設定檔都有自己的組態選項。 如需有關這些選項的詳細資訊,請參閱下列主題:
包含資料剖析工作的封裝的執行
設定「資料分析」工作後,您可以執行該工作。 然後,此工作會計算資料設定檔,並將此資訊以 XML 格式輸出到檔案或封裝變數。 這個 XML 的結構會遵循 DataProfile.xsd 結構描述。 您可以在 Microsoft Visual Studio 或另一個結構描述編輯器、XML 編輯器或 [記事本] 這類文字編輯器中開啟結構描述。 此資料品質資訊的結構描述對於下列用途可能很實用:
在組織內部與跨組織交換資料品質資訊。
建立可與資料品質資訊搭配使用的自訂工具。
在結構描述中,將目標命名空間識別為 https://schemas.microsoft.com/sqlserver/2008/DataDebugger/。