유사 항목 그룹화 변환Fuzzy Grouping Transformation

유사 항목 그룹화 변환에서는 중복되기 쉬운 데이터 행을 식별하고 데이터 표준화에 사용할 데이터의 중복 행을 선택하여 데이터 정리 태스크를 수행합니다.The Fuzzy Grouping transformation performs data cleaning tasks by identifying rows of data that are likely to be duplicates and selecting a canonical row of data to use in standardizing the data.

참고

성능 및 메모리 제한 사항을 포함하여 유사 항목 그룹화 변환에 대한 자세한 내용은 Fuzzy Lookup and Fuzzy Grouping in SQL Server Integration Services 2005(SQL Server Integration Services 2005에서 유사 항목 조회 및 유사 항목 그룹화) 백서를 참조하세요.For more detailed information about the Fuzzy Grouping transformation, including performance and memory limitations, see the white paper, Fuzzy Lookup and Fuzzy Grouping in SQL Server Integration Services 2005.

유사 항목 그룹화 변환에는 변환 알고리즘이 작업을 수행하는 데 필요한 임시 SQL ServerSQL Server 테이블을 만들기 위해 SQL ServerSQL Server 인스턴스에 대한 연결이 필요합니다.The Fuzzy Grouping transformation requires a connection to an instance of SQL ServerSQL Server to create the temporary SQL ServerSQL Server tables that the transformation algorithm requires to do its work. 연결은 데이터베이스에 테이블을 만드는 권한을 가진 사용자로 확인되어야 합니다.The connection must resolve to a user who has permission to create tables in the database.

변환을 구성하려면 중복을 식별하는 데 사용할 입력 열을 선택하고 각 열에 대해 일치 유형으로 유사 항목 일치 또는 정확한 일치를 선택해야 합니다.To configure the transformation, you must select the input columns to use when identifying duplicates, and you must select the type of match—fuzzy or exact—for each column. 정확한 일치를 사용하면 해당 열에 동일한 값을 가진 행만 그룹화됩니다.An exact match guarantees that only rows that have identical values in that column will be grouped. DT_TEXT, DT_NTEXT 및 DT_IMAGE를 제외한 모든 Integration ServicesIntegration Services 데이터 형식의 열에 정확한 일치를 적용할 수 있습니다.Exact matching can be applied to columns of any Integration ServicesIntegration Services data type except DT_TEXT, DT_NTEXT, and DT_IMAGE. 유사 항목 일치는 비슷한 값을 가진 행을 그룹화합니다.A fuzzy match groups rows that have approximately the same values. 데이터의 근사 일치 방식은 사용자 정의 유사성 점수에 기반합니다.The method for approximate matching of data is based on a user-specified similarity score. DT_WSTR 및 DT_STR 데이터 형식을 가진 열만 유사 항목 일치에서 사용할 수 있습니다.Only columns with the DT_WSTR and DT_STR data types can be used in fuzzy matching. 자세한 내용은 Integration Services Data Types을 참조하세요.For more information, see Integration Services Data Types.

변환 출력에는 모든 입력 열, 표준화된 데이터를 가진 한 개 이상의 열 및 유사성 점수를 가진 열이 포함됩니다.The transformation output includes all input columns, one or more columns with standardized data, and a column that contains the similarity score. 점수는 0과 1 사이의 10진수 값입니다.The score is a decimal value between 0 and 1. 정식 행의 점수는 1이며The canonical row has a score of 1. 유사 항목 그룹 내 다른 행의 점수는 정식 행과 일치하는 정도를 나타냅니다.Other rows in the fuzzy group have scores that indicate how well the row matches the canonical row. 정식 행과 더 비슷하게 일치할수록 점수가 1에 가까워집니다.The closer the score is to 1, the more closely the row matches the canonical row. 유사 항목 그룹에 정식 행과 정확하게 중복되는 행이 포함된 경우 해당 행의 점수는 1입니다.If the fuzzy group includes rows that are exact duplicates of the canonical row, these rows also have a score of 1. 변환에서는 중복 행을 제거하지 않고 정식 행과 비슷한 행을 연결하는 키를 만들어 그룹화합니다.The transformation does not remove duplicate rows; it groups them by creating a key that relates the canonical row to similar rows.

변환에서는 각 입력 열당 다음 추가 열을 포함하여 한 개의 출력 행을 생성합니다.The transformation produces one output row for each input row, with the following additional columns:

  • _key_in열, 각 행을 고유하게 식별합니다._key_in, a column that uniquely identifies each row.

  • _key_out열, 중복 행의 그룹을 식별합니다._key_out, a column that identifies a group of duplicate rows. _key_out 열은 정식 데이터 행에 _key_in 열 값을 가집니다.The _key_out column has the value of the _key_in column in the canonical data row. _key_out 에 동일한 값을 가진 행은 동일한 그룹의 일부입니다.Rows with the same value in _key_out are part of the same group. 그룹의 _key_out값은 정식 데이터 행의 _key_in 값에 해당합니다.The _key_outvalue for a group corresponds to the value of _key_in in the canonical data row.

  • _score, 입력 행 및 정식 행 간의 유사성을 나타내는 0과 1 사이의 값입니다._score, a value between 0 and 1 that indicates the similarity of the input row to the canonical row.

    이것은 기본 열 이름이며 다른 이름을 사용하도록 유사 항목 그룹화 변환을 구성할 수 있습니다.These are the default column names and you can configure the Fuzzy Grouping transformation to use other names. 출력에서는 유사 항목 그룹화에 참여하는 각 열에 유사성 점수를 제공합니다.The output also provides a similarity score for each column that participates in a fuzzy grouping.

    유사 항목 그룹화 변환에는 수행할 그룹화를 사용자 지정하는 두 가지 기능인 토큰 구분 기호 및 유사성 임계값이 포함됩니다.The Fuzzy Grouping transformation includes two features for customizing the grouping it performs: token delimiters and similarity threshold. 변환에서는 데이터를 토큰화하는 기본 구분 기호 집합을 제공하지만 새 구분 기호를 추가하여 데이터 토큰화 정도를 향상시킬 수 있습니다.The transformation provides a default set of delimiters used to tokenize the data, but you can add new delimiters that improve the tokenization of your data.

    유사성 임계값은 변환에서 얼마나 엄격하게 중복을 식별하는지를 지정합니다.The similarity threshold indicates how strictly the transformation identifies duplicates. 유사성 임계값은 구성 요소 및 열 수준에서 설정할 수 있습니다.The similarity thresholds can be set at the component and the column levels. 열 수준 유사성 임계값은 유사 항목 일치를 수행하는 열에서만 사용할 수 있습니다.The column-level similarity threshold is only available to columns that perform a fuzzy match. 유사성 범위는 0에서 1 사이입니다.The similarity range is 0 to 1. 임계값이 1에 가까울수록 서로 유사한 행과 열이 중복된 것으로 간주되기 쉽습니다.The closer to 1 the threshold is, the more similar the rows and columns must be to qualify as duplicates. 구성 요소 및 열 수준에서 MinSimilarity 속성을 설정하여 행 및 열 사이의 유사성 임계값을 지정하세요.You specify the similarity threshold among rows and columns by setting the MinSimilarity property at the component and column levels. 구성 요소 수준에서 지정된 유사성을 만족하려면 모든 행이 모든 열에 걸쳐 구성 요소 수준에서 지정된 유사성 임계값 보다 크거나 같은 유사성을 가져야 합니다.To satisfy the similarity that is specified at the component level, all rows must have a similarity across all columns that is greater than or equal to the similarity threshold that is specified at the component level.

    유사 항목 그룹화 변환에서는 유사성 내부 측정값을 계산하고 MinSimilarity에 지정된 값보다 유사도가 떨어지는 행을 그룹화에서 제외합니다.The Fuzzy Grouping transformation calculates internal measures of similarity, and rows that are less similar than the value specified in MinSimilarity are not grouped.

    다른 최소 유사성 임계값을 사용하고 유사 항목 그룹화 변환을 여러 번 적용하여 데이터에 사용 중인 유사성 임계값을 확인할 수 있습니다.To identify a similarity threshold that works for your data, you may have to apply the Fuzzy Grouping transformation several times using different minimum similarity thresholds. 변환 출력의 점수 열은 런타임에 그룹 내 각 행에 대한 유사성 점수를 포함합니다.At run time, the score columns in transformation output contain the similarity scores for each row in a group. 사용자의 데이터에 적절한 유사성 임계값을 알아내는 데 이 값을 사용할 수 있습니다.You can use these values to identify the similarity threshold that is appropriate for your data. 유사성을 높이려면 점수 열의 값 보다 큰 값으로 MinSimilarity을 설정해야 합니다.If you want to increase similarity, you should set MinSimilarity to a value larger than the value in the score columns.

    유사 항목 그룹화 변환 입력에 열 속성을 설정하여 변환에서 수행하는 그룹화를 사용자 지정할 수 있습니다.You can customize the grouping that the transformation performs by setting the properties of the columns in the Fuzzy Grouping transformation input. 예를 들어 FuzzyComparisonFlags 속성은 변환에서 열에 문자열 데이터를 비교하는 방법을 지정하며 ExactFuzzy 속성은 변환에서 유사 항목 일치를 수행하는지 또는 정확한 일치를 수행하는지를 지정합니다.For example, the FuzzyComparisonFlags property specifies how the transformation compares the string data in a column, and the ExactFuzzy property specifies whether the transformation performs a fuzzy match or an exact match.

    유사 항목 그룹화 변환에서 사용하는 메모리 양은 MaxMemoryUsage 사용자 지정 속성을 설정하여 구성할 수 있습니다.The amount of memory that the Fuzzy Grouping transformation uses can be configured by setting the MaxMemoryUsage custom property. 크기(MB)를 지정하거나 값 0을 사용하여 변환에서 요구 사항 및 사용 가능한 실제 메모리를 기반으로 메모리를 동적으로 사용하도록 할 수 있습니다.You can specify the number of megabytes (MB) or use the value 0 to allow the transformation to use a dynamic amount of memory based on its needs and the physical memory available. MaxMemoryUsage 사용자 지정 속성은 패키지 로드 시 속성 식을 사용하여 업데이트할 수 있습니다.The MaxMemoryUsage custom property can be updated by a property expression when the package is loaded. 자세한 내용은 Integration Services(SSIS) 식, 패키지에서 속성 식 사용변환 사용자 지정 속성을 참조하세요.For more information, see Integration Services (SSIS) Expressions, Use Property Expressions in Packages, and Transformation Custom Properties.

    이 변환은 하나의 입력과 하나의 출력을 가지며This transformation has one input and one output. 오류 출력은 지원하지 않습니다.It does not support an error output.

행 비교Row Comparison

유사 항목 그룹화 변환을 구성하는 경우 변환에서 변환 입력 내의 행을 비교하는 데 사용할 비교 알고리즘을 지정할 수 있습니다.When you configure the Fuzzy Grouping transformation, you can specify the comparison algorithm that the transformation uses to compare rows in the transformation input. Exhaustive 속성을 true로 설정하면 변환에서는 입력의 모든 각 행을 입력의 다른 행과 비교합니다.If you set the Exhaustive property to true, the transformation compares every row in the input to every other row in the input. 이 비교 알고리즘을 사용하면 더 정확한 결과를 얻을 수 있지만 입력 행의 수가 많으면 변환 성능이 느려집니다.This comparison algorithm may produce more accurate results, but it is likely to make the transformation perform more slowly unless the number of rows in the input is small. 성능 문제를 방지하려면 패키지 개발 시에만 Exhaustive 속성을 true 로 설정하는 것이 좋습니다.To avoid performance issues, it is advisable to set the Exhaustive property to true only during package development.

임시 테이블 및 인덱스Temporary Tables and Indexes

유사 항목 그룹화 변환에서는 런타임에 변환에서 연결하는 SQL ServerSQL Server 데이터베이스에 테이블 및 인덱스와 같은 크기가 큰 임시 개체를 만듭니다.At run time, the Fuzzy Grouping transformation creates temporary objects such as tables and indexes, potentially of significant size, in the SQL ServerSQL Server database that the transformation connects to. 테이블 및 인덱스의 크기는 변환 입력 내 행의 수 및 유사 항목 그룹화 변환에서 만든 토큰의 수에 비례합니다.The size of the tables and indexes are proportional to the number of rows in the transformation input and the number of tokens created by the Fuzzy Grouping transformation.

변환은 또한 임시 테이블을 쿼리합니다.The transformation also queries the temporary tables. 따라서 프로덕션 서버에 사용 가능한 디스크 공간이 제한되는 경우 프로덕션 SQL ServerSQL Server가 아닌 인스턴스로 유사 항목 그룹화 변환을 연결해야 합니다.You should therefore consider connecting the Fuzzy Grouping transformation to a non-production instance of SQL ServerSQL Server, especially if the production server has limited disk space available.

변환에서 사용하는 테이블 및 인덱스가 로컬 컴퓨터에 있는 경우 변환의 성능이 향상될 수 있습니다.The performance of this transformation may improve if the tables and indexes it uses are located on the local computer.

유사 항목 그룹화 변환 구성Configuration of the Fuzzy Grouping Transformation

SSISSSIS 디자이너를 사용하거나 프로그래밍 방식으로 속성을 설정할 수 있습니다.You can set properties through SSISSSIS Designer or programmatically.

고급 편집기 대화 상자를 사용하거나 프로그래밍 방식으로 설정할 수 있는 속성에 대한 자세한 내용을 보려면 다음 항목 중 하나를 클릭하세요.For more information about the properties that you can set in the Advanced Editor dialog box or programmatically, click one of the following topics:

이 태스크의 속성 설정 방법에 대한 자세한 내용을 보려면 다음 항목 중 하나를 클릭하십시오.For details about how to set properties of this task, click one of the following topics:

유사 항목 그룹화 변환 편집기(연결 관리자 탭)Fuzzy Grouping Transformation Editor (Connection Manager Tab)

유사 항목 그룹화 변환 편집기 대화 상자의 연결 관리자 탭을 사용하여 기존 연결을 선택하거나 새 연결을 만들 수 있습니다.Use the Connection Manager tab of the Fuzzy Grouping Transformation Editor dialog box to select an existing connection or create a new one.

참고

연결에 지정된 서버에서는 SQL ServerSQL Server를 실행해야 합니다.The server specified by the connection must be running SQL ServerSQL Server. 유사 항목 그룹화 변환에서는 변환에 대한 전체 입력만큼 클 수 있는 임시 데이터 개체를 tempdb에 만듭니다.The Fuzzy Grouping transformation creates temporary data objects in tempdb that may be as large as the full input to the transformation. 실행되는 동안 변환에서는 이러한 임시 개체에 대한 서버 쿼리를 실행합니다.While the transformation executes, it issues server queries against these temporary objects. 이 작업은 전체적인 서버 성능에 영향을 줄 수 있습니다.This can affect overall server performance.

옵션Options

OLE DB 연결 관리자OLE DB connection manager
목록 상자를 사용하여 기존 OLE DB 연결 관리자를 선택하거나 새로 만들기 단추를 사용하여 새 연결을 만듭니다.Select an existing OLE DB connection manager by using the list box, or create a new connection by using the New button.

새로 만들기New
OLE DB 연결 관리자 구성 대화 상자를 사용하여 새 연결을 만듭니다.Create a new connection by using the Configure OLE DB Connection Manager dialog box.

유사 항목 그룹화 변환 편집기(열 탭)Fuzzy Grouping Transformation Editor (Columns Tab)

유사 항목 그룹화 변환 편집기 대화 상자의 탭을 사용하여 중복 값을 가진 행을 그룹화하는 데 사용할 열을 지정할 수 있습니다.Use the Columns tab of the Fuzzy Grouping Transformation Editor dialog box to specify the columns used to group rows with duplicate values.

옵션Options

사용 가능한 입력 열Available Input Columns
중복 값을 가진 행을 그룹화하는 데 사용할 입력 열을 이 목록에서 선택합니다.Select from this list the input columns used to group rows with duplicate values.

이름Name
사용 가능한 입력 열 이름을 표시합니다.View the names of available input columns.

통과Pass Through
입력 열을 변환의 출력에 포함할지 여부를 선택합니다.Select whether to include the input column in the output of the transformation. 그룹화에 사용되는 모든 열이 자동으로 출력에 복사됩니다.All columns used for grouping are automatically copied to the output. 이 열을 선택하여 추가 열을 포함할 수 있습니다.You can include additional columns by checking this column.

입력 열Input Column
사용 가능한 입력 열 목록에서 이전에 선택한 입력 열 중 하나를 선택합니다.Select one of the input columns selected earlier in the Available Input Columns list.

출력 별칭Output Alias
해당 출력 열을 설명하는 이름을 입력합니다.Enter a descriptive name for the corresponding output column. 기본적으로 출력 열 이름은 입력 열 이름과 같습니다.By default, the output column name is the same as the input column name.

그룹 출력 별칭Group Output Alias
그룹화된 중복의 정식 값이 포함될 열을 설명하는 이름을 입력합니다.Enter a descriptive name for the column that will contain the canonical value for the grouped duplicates. 이 출력 열의 기본 이름은 입력 열 이름에 _clean이 추가된 것입니다.The default name of this output column is the input column name with _clean appended.

일치 유형Match Type
유사 항목 일치 또는 정확히 일치를 선택합니다.Select fuzzy or exact matching. 유사 항목 일치 유형에서 모든 열이 충분히 유사할 경우 중복 행으로 간주됩니다.Rows are considered duplicates if they are sufficiently similar across all columns with a fuzzy match type. 또한 특정 열에 대해 정확히 일치를 지정하면 정확히 일치 열에 동일한 값이 포함된 행만 중복 가능한 것으로 간주됩니다.If you also specify exact matching on certain columns, only rows that contain identical values in the exact matching columns are considered as possible duplicates. 따라서 특정 열에 확실하게 오류 없음이나 불일치가 포함되어 있으면 해당 열에 대해 정확히 일치를 지정하여 다른 열에 대한 유사 항목 일치의 정확도를 높일 수 있습니다.Therefore, if you know that a certain column contains no errors or inconsistencies, you can specify exact matching on that column to increase the accuracy of the fuzzy matching on other columns.

최소 유사성Minimum Similarity
슬라이더를 사용하여 조인 수준에서 유사성 임계값을 설정합니다.Set the similarity threshold at the join level by using the slider. 값이 1에 가까울수록 조회 값과 원본 값이 근접하여 일치 항목으로 처리됩니다.The closer the value is to 1, the closer the resemblance of the lookup value to the source value must be to qualify as a match. 임계값을 높이면 고려할 레코드 수가 감소하기 때문에 비교 속도를 향상시킬 수 있습니다.Increasing the threshold can improve the speed of matching since fewer candidate records need to be considered.

유사성 출력 별칭Similarity Output Alias
선택한 조인에 대한 유사성 점수가 포함된 새 출력 열의 이름을 지정합니다.Specify the name for a new output column that contains the similarity scores for the selected join. 이 값을 비워 놓으면 출력 열이 생성되지 않습니다.If you leave this value empty, the output column is not created.

숫자Numerals
열 데이터 비교 시 선행 및 후행 숫자의 의미를 지정합니다.Specify the significance of leading and trailing numerals in comparing the column data. 예를 들어 선행 숫자가 의미가 있을 경우 "123 Main Street"는 "456 Main Street"와 그룹화되지 않습니다.For example, if leading numerals are significant, "123 Main Street" will not be grouped with "456 Main Street."

Value DescriptionDescription
NeitherNeither 선행 및 후행 숫자 모두 의미가 없습니다.Leading and trailing numerals are not significant.
LeadingLeading 선행 숫자만 의미가 있습니다.Only leading numerals are significant.
TrailingTrailing 후행 숫자만 의미가 있습니다.Only trailing numerals are significant.
LeadingAndTrailingLeadingAndTrailing 선행 및 후행 숫자 모두 의미가 있습니다.Both leading and trailing numerals are significant.

비교 플래그Comparison Flags
문자열 비교 옵션에 대한 자세한 내용은 문자열 데이터 비교를 참조하세요.For information about the string comparison options, see Comparing String Data.

유사 항목 그룹화 변환 편집기(고급 탭)Fuzzy Grouping Transformation Editor (Advanced Tab)

유사 항목 그룹화 변환 편집기 대화 상자의 고급 탭을 사용하여 입/출력 열을 지정하고, 유사성 임계값을 설정하고, 구분 기호를 정의할 수 있습니다.Use the Advanced tab of the Fuzzy Grouping Transformation Editor dialog box to specify input and output columns, set similarity thresholds, and define delimiters.

참고

유사 항목 그룹화 변환의 ExhaustiveMaxMemoryUsage 속성은 유사 항목 그룹화 변환 편집기에서 사용할 수 없지만 고급 편집기를 사용하여 설정할 수 있습니다.The Exhaustive and the MaxMemoryUsage properties of the Fuzzy Grouping transformation are not available in the Fuzzy Grouping Transformation Editor, but can be set by using the Advanced Editor. 이러한 속성에 대한 자세한 내용은 Transformation Custom Properties의 유사 항목 그룹화 변환 섹션을 참조하십시오.For more information on these properties, see the Fuzzy Grouping Transformation section of Transformation Custom Properties.

옵션Options

입력 키 열 이름Input key column name
각 입력 행에 대한 고유 식별자를 포함하는 출력 열의 이름을 지정합니다.Specify the name of an output column that contains the unique identifier for each input row. _key_in 열에는 각 행을 고유하게 식별하는 값이 있습니다.The _key_in column has a value that uniquely identifies each row.

출력 키 열 이름Output key column name
중복 행 그룹의 정식 행에 대한 고유 식별자를 포함하는 출력 열의 이름을 지정합니다.Specify the name of an output column that contains the unique identifier for the canonical row of a group of duplicate rows. _key_out 열은 정식 데이터 행의 _key_in 값에 해당합니다.The _key_out column corresponds to the _key_in value of the canonical data row.

유사성 점수 열 이름Similarity score column name
유사성 점수를 포함하는 열의 이름을 지정합니다.Specify a name for the column that contains the similarity score. 유사성 점수는 입력 행과 정식 행의 유사성을 나타내는 0과 1 사이의 값입니다.The similarity score is a value between 0 and 1 that indicates the similarity of the input row to the canonical row. 정식 행과 더 비슷하게 일치할수록 점수가 1에 가까워집니다.The closer the score is to 1, the more closely the row matches the canonical row.

유사성 임계값Similarity threshold
슬라이더를 사용하여 유사성 임계값을 설정합니다.Set the similarity threshold by using the slider. 임계값이 1에 가까울수록 두 행이 보다 유사하여 중복으로 처리됩니다.The closer the threshold is to 1, the more the rows must resemble each other to qualify as duplicates. 임계값을 높이면 고려할 레코드 수가 감소하기 때문에 비교 속도를 향상시킬 수 있습니다.Increasing the threshold can improve the speed of matching because fewer candidate records have to be considered.

토큰 구분 기호Token delimiters
변환에서 데이터 토큰화에 사용할 수 있는 기본 구분 기호 집합을 제공하지만 필요에 따라 목록을 편집하여 구분 기호를 추가 또는 제거할 수 있습니다.The transformation provides a default set of delimiters for tokenizing data, but you can add or remove delimiters as needed by editing the list.

참고 항목See Also

유사 항목 조회 변환 Fuzzy Lookup Transformation
Integration Services 변환Integration Services Transformations