느린 변경 차원 변환Slowly Changing Dimension Transformation

느린 변경 차원 변환은 데이터 웨어하우스 차원 테이블의 레코드 업데이트 및 삽입을 조정합니다.The Slowly Changing Dimension transformation coordinates the updating and inserting of records in data warehouse dimension tables. 예를 들어 이 변환을 사용하면 AdventureWorks OLTP 데이터베이스의 Production.Products 테이블의 데이터로 AdventureWorksDW2012AdventureWorksDW2012 데이터베이스의 DimProduct 테이블의 레코드를 삽입 및 업데이트하는 변환 출력을 구성할 수 있습니다.For example, you can use this transformation to configure the transformation outputs that insert and update records in the DimProduct table of the AdventureWorksDW2012AdventureWorksDW2012 database with data from the Production.Products table in the AdventureWorks OLTP database.

중요

느린 변경 차원 마법사에서는 SQL ServerSQL Server에 대한 연결만 지원합니다.The Slowly Changing Dimension Wizard only supports connections to SQL ServerSQL Server.

느린 변경 차원 변환은 느린 변경 차원을 관리하기 위한 다음과 같은 기능을 제공합니다.The Slowly Changing Dimension transformation provides the following functionality for managing slowly changing dimensions:

  • 들어오는 행과 조회 테이블의 행을 일치시켜서 새로운 행과 기존 행을 식별합니다.Matching incoming rows with rows in the lookup table to identify new and existing rows.

  • 변경이 허용되지 않는 경우 변경 내용이 포함된 들어오는 행을 식별합니다.Identifying incoming rows that contain changes when changes are not permitted.

  • 업데이트가 필요한 유추 멤버 레코드를 식별합니다.Identifying inferred member records that require updating.

  • 새로운 레코드 삽입 및 기존 레코드 업데이트가 필요한 기록 변경 내용이 포함된 들어오는 행을 식별합니다.Identifying incoming rows that contain historical changes that require insertion of new records and the updating of expired records.

  • 만료된 행을 포함하여 기존 레코드의 업데이트가 필요한 변경 내용이 포함된 들어오는 행을 검색합니다.Detecting incoming rows that contain changes that require the updating of existing records, including expired ones.

    느린 변경 차원 변환은 네 가지 유형의 변경인 변경 특성, 기록 특성, 고정 특성 및 유추 멤버를 지원합니다.The Slowly Changing Dimension transformation supports four types of changes: changing attribute, historical attribute, fixed attribute, and inferred member.

  • 변경 특성 변경 내용은 기존 레코드를 덮어씁니다.Changing attribute changes overwrite existing records. 이러한 종류의 변경 내용은 Type 1 변경 내용과 동일합니다.This kind of change is equivalent to a Type 1 change. 느린 변경 차원 변환은 이러한 행을 변경 특성 업데이트 내용 출력이라는 출력으로 보냅니다.The Slowly Changing Dimension transformation directs these rows to an output named Changing Attributes Updates Output.

  • 기록 특성 변경 내용은 기존 레코드를 업데이트하는 대신 새 레코드를 만듭니다.Historical attribute changes create new records instead of updating existing ones. 기존 레코드에서 허용되는 유일한 변경 내용은 레코드가 현재 상태 또는 만료된 상태인지 여부를 나타내는 열에 대한 업데이트입니다.The only change that is permitted in an existing record is an update to a column that indicates whether the record is current or expired. 이러한 종류의 변경 내용은 Type 2 변경 내용과 동일합니다.This kind of change is equivalent to a Type 2 change. 느린 변경 차원 변환은 이러한 행을 기록 특성 삽입 내용 출력새 출력이라는 출력으로 보냅니다.The Slowly Changing Dimension transformation directs these rows to two outputs: Historical Attribute Inserts Output and New Output.

  • 고정 특성 변경 내용은 열 값이 변경되지 않도록 지정합니다.Fixed attribute changes indicate the column value must not change. 느린 변경 차원 변환은 변경 내용을 검색하고 변경 내용이 포함된 행을 고정 특성 출력이라는 출력으로 보낼 수 있습니다.The Slowly Changing Dimension transformation detects changes and can direct the rows with changes to an output named Fixed Attribute Output.

  • 유추 멤버는 행이 차원 테이블의 유추 멤버 레코드임을 나타냅니다.Inferred member indicates that the row is an inferred member record in the dimension table. 유추 멤버는 팩트 테이블이 아직 로드되지 않은 차원 멤버를 참조하는 경우 존재합니다.An inferred member exists when a fact table references a dimension member that is not yet loaded. 관련 차원 데이터가 있을 것이라는 가정하에 이후 차원 데이터 로드 시에 제공되는 최소한의 유추 멤버 레코드가 생성됩니다.A minimal inferred-member record is created in anticipation of relevant dimension data, which is provided in a subsequent loading of the dimension data. 느린 변경 차원 변환은 이러한 행을 유추 멤버 업데이트 내용 출력이라는 출력으로 보냅니다.The Slowly Changing Dimension transformation directs these rows to an output named Inferred Member Updates. 유추 멤버에 대한 데이터가 로드되면 새 레코드를 만드는 대신 기존 레코드를 업데이트할 수 있습니다.When data for the inferred member is loaded, you can update the existing record rather than create a new one.

참고

느린 변경 차원 변환은 차원 테이블 변경이 필요한 Type 3 변경 내용을 지원하지 않습니다.The Slowly Changing Dimension transformation does not support Type 3 changes, which require changes to the dimension table. 고정 특성 업데이트 유형의 열을 식별하면 Type 3 변경 내용이 될 가능성이 있는 데이터 값을 캡처할 수 있습니다.By identifying columns with the fixed attribute update type, you can capture the data values that are candidates for Type 3 changes.

런타임 시 느린 변경 차원 변환은 먼저 들어오는 행을 조회 테이블의 레코드와 일치시키려고 시도합니다.At run time, the Slowly Changing Dimension transformation first tries to match the incoming row to a record in the lookup table. 일치 항목이 없으면 들어오는 행이 새 레코드이고, 따라서 느린 변경 차원 변환은 추가 작업을 수행하지 않고 이 행을 새 출력으로 보냅니다.If no match is found, the incoming row is a new record; therefore, the Slowly Changing Dimension transformation performs no additional work, and directs the row to New Output.

일치 항목이 있으면 느린 변경 차원 변환은 행에 변경 내용이 들어 있는지 검색합니다.If a match is found, the Slowly Changing Dimension transformation detects whether the row contains changes. 행에 변경 내용이 있으면, 느린 변경 차원은 각 열에 대한 업데이트 유형을 확인하고 행을 변경 특성 업데이트 내용 출력, 고정 특성 출력, 기록 특성 삽입 내용 출력또는 유추 멤버 업데이트 내용 출력으로 보냅니다.If the row contains changes, the Slowly Changing Dimension transformation identifies the update type for each column and directs the row to the Changing Attributes Updates Output, Fixed Attribute Output, Historical Attributes Inserts Output, or Inferred Member Updates Output. 행이 변경되지 않았으면 느린 변경 차원 변환은 행을 변경되지 않은 출력으로 보냅니다.If the row is unchanged, the Slowly Changing Dimension transformation directs the row to the Unchanged Output.

느린 변경 차원 변환 출력Slowly Changing Dimension Transformation Outputs

느린 변경 차원 변환에는 하나의 입력과 최대 6개의 출력이 포함됩니다.The Slowly Changing Dimension transformation has one input and up to six outputs. 출력은 행의 업데이트 및 삽입 요구 사항과 일치하는 데이터 흐름의 하위 집합으로 행을 보냅니다.An output directs a row to the subset of the data flow that corresponds to the update and the insert requirements of the row. 이 변환은 오류 출력을 지원하지 않습니다.This transformation does not support an error output.

다음 표에서는 변환 출력과 이후의 데이터 흐름 요구 사항에 대해 설명합니다.The following table describes the transformation outputs and the requirements of their subsequent data flows. 요구 사항은 느린 변경 차원 마법사에서 만드는 데이터 흐름을 설명합니다.The requirements describe the data flow that the Slowly Changing Dimension Wizard creates.

출력Output DescriptionDescription 데이터 흐름 요구 사항Data flow requirements
변경 특성 업데이트 내용 출력Changing Attributes Updates Output 조회 테이블의 레코드가 업데이트됩니다.The record in the lookup table is updated. 이 출력은 변경 특성 행에 대해 사용됩니다.This output is used for changing attribute rows. OLE DB 명령 변환은 UPDATE 문을 사용하여 레코드를 업데이트합니다.An OLE DB Command transformation updates the record using an UPDATE statement.
고정 특성 출력Fixed Attribute Output 변경되지 않아야 하는 행의 값이 조회 테이블의 값과 일치하지 않습니다.The values in rows that must not change do not match values in the lookup table. 이 출력은 고정 특성 행에 대해 사용됩니다.This output is used for fixed attribute rows. 기본 데이터 흐름이 생성되지 않습니다.No default data flow is created. 고정 특성 열의 변경 내용이 발견되어도 계속되도록 변환이 구성된 경우에는 이러한 행을 캡처하는 데이터 흐름을 만들어야 합니다.If the transformation is configured to continue after it encounters changes to fixed attribute columns, you should create a data flow that captures these rows.
기록 특성 삽입 내용 출력Historical Attributes Inserts Output 조회 테이블에 일치하는 행이 적어도 한 개 이상 있습니다.The lookup table contains at least one matching row. “현재”로 표시된 행은 이제 "만료됨"으로 표시해야 합니다.The row marked as “current” must now be marked as "expired". 이 출력은 기록 특성 행에 대해 사용됩니다.This output is used for historical attribute rows. 파생 열 변환은 만료된 행과 현재 행을 표시하기 위한 열을 만듭니다.Derived Column transformations create columns for the expired row and the current row indicators. OLE DB 명령 변환은 이제 "만료됨"으로 표시되어야 하는 레코드를 업데이트합니다.An OLE DB Command transformation updates the record that must now be marked as "expired". 새 열 값이 있는 행은 새 출력으로 전송됩니다. 여기서 해당 행은 삽입되고 "현재"로 표시됩니다.The row with the new column values is directed to the New Output, where the row is inserted and marked as "current".
유추 멤버 업데이트 내용 출력Inferred Member Updates Output 유추 차원 멤버에 대한 행이 삽입됩니다.Rows for inferred dimension members are inserted. 이 출력은 유추 멤버 행에 대해 사용됩니다.This output is used for inferred member rows. OLE DB 명령 변환은 SQL UPDATE 문을 사용하여 레코드를 업데이트합니다.An OLE DB Command transformation updates the record using an SQL UPDATE statement.
새 출력New Output 조회 테이블에 일치하는 행이 없습니다.The lookup table contains no matching rows. 차원 테이블에 행이 추가됩니다.The row is added to the dimension table. 이 출력은 새 행에 대해 사용되며 기록 특성 행으로 변경됩니다.This output is used for new rows and changes to historical attributes rows. 파생 열 변환은 현재 행 표시를 설정하고 OLE DB 대상이 행을 삽입합니다.A Derived Column transformation sets the current row indicator, and an OLE DB destination inserts the row.
변경되지 않은 출력Unchanged Output 조회 테이블의 값이 행 값과 일치합니다.The values in the lookup table match the row values. 이 출력은 변경되지 않은 출력에 대해 사용됩니다.This output is used for unchanged rows. 느린 변경 차원 변환에서 아무 작업도 실행되지 않기 때문에 기본 데이터 흐름이 생성되지 않습니다.No default data flow is created because the Slowly Changing Dimension transformation performs no work. 이러한 행을 캡처하려면 이 출력에 대한 데이터 흐름을 만들어야 합니다.If you want to capture these rows, you should create a data flow for this output.

비즈니스 키Business Keys

느린 변경 차원 변환에는 적어도 하나 이상의 비즈니스 키 열이 필요합니다.The Slowly Changing Dimension transformation requires at least one business key column.

느린 변경 차원 변환은 Null 비즈니스 키를 지원하지 않습니다.The Slowly Changing Dimension transformation does not support null business keys. 데이터에 비즈니스 키가 Null인 행이 있으면 해당 행을 데이터 흐름에서 제거해야 합니다.If the data include rows in which the business key column is null, those rows should be removed from the data flow. 조건부 분할 변환을 사용하면 비즈니스 키 열에 Null 값이 포함된 행을 필터링할 수 있습니다.You can use the Conditional Split transformation to filter rows whose business key columns contain null values. 자세한 내용은 Conditional Split Transformation을 참조하세요.For more information, see Conditional Split Transformation.

느린 변경 차원 변환의 성능 최적화Optimizing the Performance of the Slowly Changing Dimension Transformation

느린 변경 차원 변환의 성능을 향상하는 방법은 데이터 흐름 성능 기능을 참조하세요.For suggestions on how to improve the performance of the Slowly Changing Dimension Transformation, see Data Flow Performance Features.

느린 변경 차원 변환 문제 해결Troubleshooting the Slowly Changing Dimension Transformation

느린 변경 차원 변환이 외부 데이터 공급자에 대해 수행하는 호출을 로깅할 수 있습니다.You can log the calls that the Slowly Changing Dimension transformation makes to external data providers. 이 로깅 기능을 사용하여 느린 변경 차원 변환이 수행하는 외부 데이터 원본에 대한 연결, 명령 및 쿼리 문제를 해결할 수 있습니다.You can use this logging capability to troubleshoot the connections, commands, and queries to external data sources that the Slowly Changing Dimension transformation performs. 느린 변경 차원 변환이 외부 데이터 공급자에 대해 수행하는 호출을 로깅하려면 패키지 로깅을 설정하고 패키지 수준에서 Diagnostic 이벤트를 선택합니다.To log the calls that the Slowly Changing Dimension transformation makes to external data providers, enable package logging and select the Diagnostic event at the package level. 자세한 내용은 패키지 실행 문제 해결 도구를 참조하세요.For more information, see Troubleshooting Tools for Package Execution.

느린 변경 차원 변환 구성Configuring the Slowly Changing Dimension 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:

느린 변경 차원 변환 출력 구성Configuring the Slowly Changing Dimension Transformation Outputs

특히 Type 1 및 Type 2 변경 내용이 사용되는 경우에는 차원 테이블의 행 업데이트 및 삽입을 조정하는 태스크가 복잡할 수 있습니다.Coordinating the update and insertion of records in dimension tables can be a complex task, especially if both Type 1 and Type 2 changes are used. SSISSSIS 디자이너는 느린 변경 차원에 대한 지원을 구성하기 위한 두 가지 방법을 제공합니다. Designer provides two ways to configure support for slowly changing dimensions:

  • 고급 편집기 대화 상자에서는 연결을 선택하고, 공용 및 사용자 지정 구성 요소 속성을 설정하고, 입력 열을 선택하고, 6개의 출력에 열 속성을 설정할 수 있습니다.The Advanced Editor dialog box, in which you to select a connection, set common and custom component properties, choose input columns, and set column properties on the six outputs. 느린 변경 차원에 대한 지원 구성 태스크를 완료하려면 느린 변경 차원 변환에서 사용되는 출력에 대한 데이터 흐름을 수동으로 만들어야 합니다.To complete the task of configuring support for a slowly changing dimension, you must manually create the data flow for the outputs that the Slowly Changing Dimension transformation uses. 자세한 내용은 Data Flow을 참조하세요.For more information, see Data Flow.

  • 차원 로드 마법사에서는 단계별 안내에 따라 느린 변경 차원 변환을 구성하고 변환 출력에 대한 데이터 흐름을 작성할 수 있습니다.The Load Dimension Wizard, which guides you though the steps to configure the Slowly Changing Dimension transformation and build the data flow for transformation outputs. 느린 변경 차원에 대한 구성을 변경하려면 차원 로드 마법사를 다시 실행하십시오.To change the configuration for slowly change dimensions, rerun the Load Dimension Wizard. 자세한 내용은 느린 변경 차원 마법사를 사용하여 출력 구성을 참조하세요.For more information, see Configure Outputs Using the Slowly Changing Dimension Wizard.

데이터 흐름 구성 요소의 속성 설정Set the Properties of a Data Flow Component