데이터 프로파일링 태스크Data Profiling Task

데이터 프로파일링 태스크는 사용자가 데이터 원본에 익숙해지고 데이터에서 해결해야 할 문제를 식별하는 데 도움이 되는 다양한 프로필을 계산합니다.The Data Profiling task computes various profiles that help you become familiar with a data source and identify problems in the data that have to be fixed.

Integration ServicesIntegration Services 패키지 내에 있는 데이터 프로파일링 태스크를 사용하여 SQL ServerSQL Server 에 저장된 데이터를 프로파일링하고 잠재적인 데이터 품질 문제를 식별할 수 있습니다.You can use the Data Profiling task inside an Integration ServicesIntegration Services package to profile data that is stored in SQL ServerSQL Server and to identify potential problems with data quality.

참고

이 항목에서는 데이터 프로파일링 태스크의 기능 및 요구 사항에 대해서만 설명합니다.This topic only describes the the features and requirements of the Data Profiling task. 데이터 프로파일링 태스크 사용 방법에 대한 자세한 내용은 데이터 프로파일링 태스크 및 뷰어섹션을 참조하세요.For a walkthrough of how to use the Data Profiling task, see the section, Data Profiling Task and Viewer.

요구 사항 및 제한 사항Requirements and Limitations

데이터 프로파일링 태스크는 SQL ServerSQL Server에서 저장된 데이터만 사용할 수 있습니다.The Data Profiling task works only with data that is stored in SQL ServerSQL Server. 이 태스크는 타사 또는 파일 기반 데이터 원본에서는 작동하지 않습니다.This task does not work with third-party or file-based data sources.

또한 데이터 프로파일링 태스크가 포함된 패키지를 실행하려면 tempdb 데이터베이스에 대해 CREATE TABLE 권한을 비롯한 읽기/쓰기 권한이 있는 계정을 사용해야 합니다.Furthermore, to run a package that contains the Data Profiling task, you must use an account that has read/write permissions, including CREATE TABLE permissions, on the tempdb database.

데이터 프로파일러 뷰어Data Profiler Viewer

이 태스크를 사용하여 데이터 프로필을 계산하고 파일에 저장하면 독립 실행형 데이터 프로필 뷰어를 사용하여 프로필 출력을 검토할 수 있습니다.After using the task to compute data profiles and save them in a file, you can use the stand-alone Data Profile Viewer to review the profile output. 데이터 프로필 뷰어는 드릴다운 기능도 지원하므로 프로필 출력에서 식별된 데이터 품질 문제를 파악하는 데 도움이 됩니다.The Data Profile Viewer also supports drilldown capability to help you understand data quality issues tha are identified in the profile output. 자세한 내용은 데이터 프로필 뷰어를 참조하세요.For more information, see Data Profile Viewer.

중요

출력 파일에는 데이터베이스와 해당 데이터베이스에 포함된 데이터에 대한 중요 데이터가 포함될 수 있습니다.The output file might contain sensitive data about your database and the data that the database contains. 이 파일을 보다 안전하게 보호하는 방법에 대한 제안 사항은 패키지에서 사용되는 파일 액세스를 참조하세요.For suggestions about how to make this file more secure, see Access to Files Used by Packages.

데이터 프로필 뷰어에서 사용할 수 있는 드릴다운 기능은 원래 데이터 원본에 라이브 쿼리를 보냅니다.The drilldown capability, that is available in the Data Profile Viewer, sends live queries to the original data source.

사용 가능한 프로필Available Profiles

데이터 프로파일링 태스크는 8가지 데이터 프로필을 계산할 수 있습니다.The Data Profiling Task can compute eight different data profiles. 이 중 5개는 개별 열을 분석하며, 나머지 3개는 여러 열 또는 열과 테이블 간의 관계를 분석합니다.Five of these profiles analyze individual columns, and the remaining three analyze multiple columns or relationships between columns and tables.

개별 열을 분석하는 5개 프로필은 다음과 같습니다.The following five profiles analyze individual columns.

개별 열을 분석하는 프로필Profiles that analyze individual columns DescriptionDescription
열 길이 분포 프로필Column Length Distribution Profile 선택한 열에 있는 문자열 값의 모든 고유 길이, 그리고 각 길이가 나타내는 테이블 내 행의 비율을 보고합니다.Reports all the distinct lengths of string values in the selected column and the percentage of rows in the table that each length represents.

이 프로필을 사용하면 잘못된 값과 같은 데이터 문제를 식별할 수 있습니다.This profile helps you identify problems in your data, such as values that are not valid. 예를 들어 두 문자로 이루어진 미국 주 코드의 열을 프로파일링하여 두 문자보다 긴 값을 검색할 수 있습니다.For example, you profile a column of United States state codes that should be two characters and discover values longer than two characters.
열 Null 비율 프로필Column Null Ratio Profile 선택한 열의 Null 값 비율을 보고합니다.Reports the percentage of null values in the selected column.

이 프로필을 사용하면 열에 포함된 지나치게 높은 null 값 비율과 같은 데이터 문제를 식별할 수 있습니다.This profile helps you identify problems in your data, such as an unexpectedly high ratio of null values in a column. 예를 들어 우편 번호 열을 프로파일링하여 허용 불가능한 수준의 누락된 코드 비율을 검색할 수 있습니다.For example, you profile a Zip Code/Postal Code column and discover an unacceptably high percentage of missing codes.
열 패턴 프로필Column Pattern Profile 문자열 열의 지정된 값 비율을 포괄하는 정규식 집합을 보고합니다.Reports a set of regular expressions that cover the specified percentage of values in a string column.

이 프로필을 사용하면 잘못된 문자열과 같은 데이터 문제를 식별할 수 있습니다.This profile helps you identify problems in your data, such as string that are not valid. 또한 이 프로필은 앞으로 새 값의 유효성 검사에 사용할 수 있는 정규식을 제안해 줍니다.This profile can also suggest regular expressions that can be used in the future to validate new values. 예를 들어 미국 우편 번호 열의 패턴 프로필이 \d{5}-\d{4}, \d{5} 및 \d{9} 정규식을 생성할 수 있습니다.For example, a pattern profile of a United States Zip Code column might produce the regular expressions: \d{5}-\d{4}, \d{5}, and \d{9}. 다른 정규식이 발견된다면 데이터에 유효하지 않거나 잘못된 형식의 값이 포함되어 있을 가능성이 높습니다.If you see other regular expressions, your data likely contains values that are not valid or in an incorrect format.
열 통계 프로필Column Statistics Profile 숫자 열의 최소값, 최대값, 평균, 표준 편차 및 datetime 열의 최소값, 최대값과 같은 통계를 보고합니다.Reports statistics, such as minimum, maximum, average, and standard deviation for numeric columns, and minimum and maximum for datetime columns.

이 프로필을 사용하면 잘못된 날짜와 같은 데이터 문제를 식별할 수 있습니다.This profile helps you identify problems in your data, such as dates that are not valid. 예를 들어 기록 날짜 열을 프로파일링하여 미래의 최대 날짜를 검색할 수 있습니다.For example, you profile a column of historical dates and discover a maximum date that is in the future.
열 값 분포 프로필Column Value Distribution Profile 선택한 열에 있는 모든 고유 값, 그리고 각 값이 나타내는 테이블 내 행의 비율을 보고합니다.Reports all the distinct values in the selected column and the percentage of rows in the table that each value represents. 또한 테이블에서 지정된 행 비율을 초과하는 값을 보고할 수도 있습니다.Can also report values that represent more than a specified percentage of rows in the table.

이 프로필을 사용하면 열에 포함된 잘못된 수의 고유 값과 같은 데이터의 문제를 식별할 수 있습니다.This profile helps you identify problems in your data, such as an incorrect number of distinct values in a column. 예를 들어 미국의 주를 포함하는 열을 프로파일링하여 50개를 초과하는 고유 값을 검색할 수 있습니다.For example, you profile a column that is supposed to contain states in the United States and discover more than 50 distinct values.

다음의 3개 프로필은 여러 열 또는 열과 테이블 간의 관계를 분석합니다.The following three profiles analyze multiple columns or relationships between columns and tables.

여러 열을 분석하는 프로필Profiles that analyze multiple columns DescriptionDescription
후보 키 프로필Candidate Key Profile 하나의 열 또는 열 집합이 선택한 테이블의 키 또는 근사 키인지 보고합니다.Reports whether a column or set of columns is a key, or an approximate key, for the selected table.

이 프로필을 사용하면 잠재적 키 열의 중복 값과 같은 데이터의 문제를 식별할 수 있습니다.This profile also helps you identify problems in your data, such as duplicate values in a potential key column.
함수 종속성 프로필Functional Dependency Profile 한 열(종속 열)의 값이 다른 열 또는 열 집합(결정 열)의 값에 종속되는 범위를 보고합니다.Reports the extent to which the values in one column (the dependent column) depend on the values in another column or set of columns (the determinant column).

이 프로필을 사용하면 잘못된 값과 같은 데이터 문제도 식별할 수 있습니다.This profile also helps you identify problems in your data, such as values that are not valid. 예를 들어 미국 우편 번호를 포함하는 열과 미국의 주를 포함하는 열 간의 종속성을 프로파일링할 수 있습니다.For example, you profile the dependency between a column that contains United States Zip Codes and a column that contains states in the United States. 우편 번호가 같으면 주도 동일해야 하므로 프로필에서 이러한 종속성 위반을 검색할 수 있습니다.The same Zip Code should always have the same state, but the profile discovers violations of this dependency.
값 포함 프로필Value Inclusion Profile 두 개의 열 또는 열 집합 간에 겹치는 값을 계산합니다.Computes the overlap in the values between two columns or sets of columns. 이 프로필을 사용하면 열 또는 열 집합이 선택한 테이블 간의 외래 키 역할을 수행하기에 적합한지 여부를 확인할 수 있습니다.This profile can determine whether a column or set of columns is appropriate to serve as a foreign key between the selected tables.

이 프로필을 사용하면 잘못된 값과 같은 데이터 문제도 식별할 수 있습니다.This profile also helps you identify problems in your data, such as values that are not valid. 예를 들어 Sales 테이블의 ProductID 열을 프로파일링하여 Products 테이블의 ProductID 열에 없는 값이 포함된 열을 검색할 수 있습니다.For example, you profile the ProductID column of a Sales table and discover that the column contains values that are not found in the ProductID column of the Products table.

유효한 프로필의 필수 구성 요소Prerequisites for a Valid Profile

프로필이 유효하려면 비어 있지 않은 테이블과 열을 선택해야 하며 열에 포함된 데이터 형식이 프로필에 적합해야 합니다.A profile is not valid unless you select tables and columns that are not empty, and the columns contain data types that are valid for the profile.

유효한 데이터 형식Valid Data Types

일부 프로필은 특정 데이터 형식에 대해서만 의미가 있습니다.Some of the available profiles are meaningful only for certain data types. 예를 들어 숫자 또는 datetime 값을 포함하는 열의 열 패턴 프로필 계산은 의미가 없습니다.For example, computing a Column Pattern profile for a column that contains numeric or datetime values is not meaningful. 따라서 이러한 프로필은 유효하지 않게 됩니다.Therefore, such a profile is not valid.

프로필Profile 유효한 데이터 형식Valid Data Types
ColumnStatisticsProfileColumnStatisticsProfile 숫자 형식 또는 datetime 형식의 열( datetime 열의 경우 meanstddev 없음)Columns of numeric type or datetime type (no mean and stddev for datetime column)
ColumnNullRatioProfileColumnNullRatioProfile 모든 열All columns
ColumnValueDistributionProfileColumnValueDistributionProfile integer 형식, char 형식 및 datetime 형식의 열Columns of integer type, char type, and datetime type
ColumnLengthDistributionProfileColumnLengthDistributionProfile char 형식의 열Columns of char type
ColumnPatternProfileColumnPatternProfile char 형식의 열Columns of char type
CandidateKeyProfileCandidateKeyProfile integer 형식, char 형식 및 datetime 형식의 열Columns of integer type, char type, and datetime type
FunctionalDependencyProfileFunctionalDependencyProfile integer 형식, char 형식 및 datetime 형식의 열Columns of integer type, char type, and datetime type
InclusionProfileInclusionProfile integer 형식, char 형식 및 datetime 형식의 열Columns of integer type, char type, and datetime type

* 위의 유효한 데이터 형식 표에서 integer, char, datetimenumeric 형식에는 다음과 같은 특정 데이터 형식이 포함됩니다.* In the previous table of valid data types, the integer, char, datetime, and numeric types include the following specific data types:

정수 형식에는 bit, tinyint, smallint, intbigint가 포함됩니다.Integer types include bit, tinyint, smallint, int, and bigint.

문자 형식에는 char, nchar, varcharnvarchar 가 포함되지만 varchar(max)nvarchar(max)는 포함되지 않습니다.Character types include char, nchar, varchar, and nvarchar, but do not include varchar(max) and nvarchar(max).

날짜 및 시간 형식에는 datetime, smalldatetimetimestamp가 포함됩니다.Date and time types include datetime, smalldatetime, and timestamp.

숫자 형식에는 integer 형식( bit제외), money, smallmoney, decimal, float, realnumeric이 포함됩니다.Numeric types include integer types (except bit), money, smallmoney, decimal, float, real, and numeric.

** image, text, XML, udtvariant 형식은 열 Null 비율 프로필 이외의 프로필에 대해서는 지원되지 않습니다.** image, text, XML, udt, and variant types are not supported for profiles other than the Column Null Ratio Profile.

유효한 테이블 및 열Valid Tables and Columns

테이블 또는 열이 비어 있으면 데이터 프로파일링이 다음 동작을 수행합니다.If the table or column is empty, the Data Profiling takes the following actions:

  • 선택한 테이블 또는 뷰가 비어 있으면 데이터 프로파일링 태스크가 프로필을 계산하지 않습니다.When the selected table or view is empty, the Data Profiling task does not compute any profiles.

  • 선택한 열의 모든 값이 Null이면 데이터 프로파일링 태스크가 열 Null 비율 프로필만 계산합니다.When all the values in the selected column are null, the Data Profiling task computes only the Column Null Ratio profile. 열 길이 분포 프로필, 열 패턴 프로필, 열 통계 프로필 또는 열 값 분포 프로필은 계산하지 않습니다.The task does not compute the Column Length Distribution profile, Column Pattern profile, Column Statistics profile, or Column Value Distribution profile.

데이터 프로파일링 태스크의 기능Features of the Data Profiling Task

데이터 프로파일링 태스크는 다음과 같은 편리한 구성 옵션을 제공합니다.The Data Profiling task has these convenient configuration options:

  • 와일드카드 열 프로필 요청을 구성하는 경우 태스크는 열 이름 대신 (*) 와일드카드를 허용합니다.Wildcard columns When you are configuring a profile request, the task accepts the (*) wildcard in place of a column name. 이 기능을 통해 구성을 간편히 수행하고 생소한 데이터의 특성을 보다 쉽게 검색할 수 있습니다.This simplifies the configuration and makes it easier to discover the characteristics of unfamiliar data. 태스크는 실행될 때 해당 데이터 형식을 가진 모든 열을 프로파일링합니다.When the task runs, the task profiles every column that has an appropriate data type.

  • 빠른 프로필 빠른 프로필을 선택하여 신속히 태스크를 구성할 수 있습니다.Quick Profile You can select Quick Profile to configure the task quickly. 빠른 프로필은 모든 기본 프로필과 기본 설정을 사용하여 테이블 또는 뷰를 프로파일링합니다.A Quick Profile profiles a table or view by using all the default profiles and default settings.

데이터 프로파일링 태스크에 사용할 수 있는 사용자 지정 로깅 메시지Custom Logging Messages Available on the Data Profililng Task

다음 표에서는 데이터 프로파일링 태스크에 대한 사용자 지정 로그 항목을 나열합니다.The following table lists the custom log entries for the Data Profiling task. 자세한 내용은 Integration Services(SSIS) 로깅을 참조하세요.For more information, see Integration Services (SSIS) Logging.

로그 항목Log entry DescriptionDescription
DataProfilingTaskTraceDataProfilingTaskTrace 태스크 상태에 대한 설명 정보를 제공합니다.Provides descriptive information about the status of the task. 메시지에는 다음 정보가 포함됩니다.Messages include the following information:

처리 요청 시작Start Processing Requests

쿼리 시작Query Start

쿼리 끝Query End

계산 요청 마침Finish Computing Request

출력 및 스키마Output and Its Schema

데이터 프로파일링 태스크는 선택한 프로필을 DataProfile.xsd 스키마에 따라 구조화된 XML로 출력합니다.The Data Profiling task outputs the selected profiles into XML that is structured according to the DataProfile.xsd schema. 이 XML을 파일 또는 패키지 변수에 저장하도록 지정할 수 있습니다.You can specify whether this XML output is saved in a file or in a package variable. 이 스키마는 http://schemas.microsoft.com/sqlserver/2008/DataDebugger/에서 온라인으로 볼 수 있습니다.You can view this schema online at http://schemas.microsoft.com/sqlserver/2008/DataDebugger/. 웹 페이지에서 스키마를 로컬 복사본으로 저장할 수 있습니다.From the webpage, you can save a local copy of the schema. 그런 다음 Microsoft Visual StudioVisual Studio 또는 다른 스키마 편집기, XML 편집기나 메모장과 같은 텍스트 편집기에서 스키마의 로컬 복사본을 볼 수 있습니다.You can then view the local copy of the schema in Microsoft Visual StudioVisual Studio or another schema editor, in an XML editor, or in a text editor such as Notepad.

데이터 품질 정보에 대한 이 스키마는 다음과 같은 경우 유용할 수 있습니다.This schema for data quality information could be useful for:

패키지 조건부 워크플로의 출력Output in the Conditional Workflow of a Package

데이터 프로파일링 구성 요소에는 데이터 프로파일링 태스크의 출력을 기반으로 Integration ServicesIntegration Services 패키지의 워크플로에 조건부 논리를 구현하기 위한 기본 제공 기능이 없습니다.The data profiling components do not include built-in functionality to implement conditional logic in the workflow of the Integration ServicesIntegration Services package based on the output of the Data Profiling task. 그러나 이 논리는 스크립트 태스크를 사용하여 최소한의 프로그래밍 작업으로 손쉽게 추가할 수 있습니다.However, you can easily add this logic, with a minimal amount of programming, in a Script task. 이 코드는 XML 출력을 대상으로 XPath 쿼리를 수행한 다음 그 결과를 패키지 변수로 저장합니다.This code would perform an XPath query against the XML output, and then save the result in a package variable. 스크립트 태스크를 후속 태스크에 연결하는 선행 제약 조건은 식을 사용하여 워크플로를 확인할 수 있습니다.Precedence constraints that connect the Script task to subsequent tasks can use an expression to determine the workflow. 예를 들어 스크립트 태스크는 열에서 특정 임계값을 초과하는 null 값의 비율을 탐지합니다.For example, the Script task detects that the percentage of null values in a column exceeds a certain threshold. 이 경우 패키지를 중단하면 문제가 계속되기 전에 해결할 수 있습니다.When this condition is true, you might want to interrupt the package and resolve the problem before continuing.

데이터 프로파일링 태스크 구성Configuration of the Data Profiling Task

데이터 프로파일링 태스크는 데이터 프로파일링 태스크 편집기를 사용하여 구성합니다.You configure the Data Profiling task by using the Data Profiling Task Editor. 이 편집기에는 다음과 같은 두 개의 페이지가 있습니다.The editor has two pages:

일반 페이지General Page
일반 페이지에서는 출력 파일 또는 변수를 지정합니다.On the General page, you specify the output file or variable. 또한 빠른 프로필 을 선택하여 기본 설정으로 신속히 태스크를 구성, 프로필을 계산할 수 있습니다.You can also select Quick Profile to configure the task quickly to compute profiles by using the default settings. 자세한 내용은 단일 테이블 빠른 프로필 형식(데이터 프로파일링 태스크)을 참조하세요.For more information, see Single Table Quick Profile Form (Data Profiling Task).

프로필 요청 페이지Profile Requests Page
프로필 요청 페이지에서는 데이터 원본을 지정하고 계산할 데이터 프로필을 선택 및 구성할 수 있습니다.On the Profile Requests page, you specify the data source, and select and configure the data profiles that you want to compute. 구성 가능한 여러 프로필에 대한 자세한 내용은 다음 항목을 참조하십시오.For more information about the various profiles that you can configure, see the following topics: