두 선택 프로세스의 병합으로 인한 예기치 않은 결과 발생
문제점 또는 오류: 병합 프로세스 포함 시 일치(AND) 옵션을 사용하여 두 선택 프로세스가 병합된 경우, 결과는 동등한 단일 선택 프로세스의 결과와 같지 않습니다.
솔루션: 이 동작은 올바르며, 데이터가 정규화되지 않은 경우 발생할 수 있습니다.
정규화되지 않은 데이터에 대해 작업하는 별도의 두 선택 프로세스의 포함 시 일치(AND)와의 병합이 ID 선택 조건 옵션의 두 기준을 사용한 단일 선택 프로세스와 다른 의미가 있습니다. 비즈니스 경우에 원하는 동작의 해당 플로우차트 구현을 사용하십시오.
다음 이미지는 정규화되지 않은 데이터가 이 동작을 어떻게 발생시킬 수 있는지 설명합니다.
첫 번째 예는ID 선택 조건 옵션의 두 기준이 있는 단일 선택 프로세스가 정규화되지 않은 데이터에 대해 실행됨을 보여 줍니다. 데이터 행은 결과에 포함될 모든 조건을 충족해야 합니다. 이 선택의 의미는 "동일 계정에 대해 Phone_OptInMail_OptIn 모두가 Y와 동일한 고유 고객 ID의 목록을 리턴합니다."입니다.
다음 예는각 조건이 다른 선택 프로세스에서 별도로 실행되어 ID 목록을 검색하고 포함 시 일치(AND) 옵션으로 병합 프로세스를 사용하여 ID가 병합되었을 때 발생하는 내용을 표시합니다. 각 ID가 독립 조건(별도의 선택 프로세스에서 구현된 각 조건)을 충족해야 하더라도 조건이 데이터의 동일 행을 충족하지 않아도 되므로 결과는 비교 가능한 단일 선택 프로세스와 다를 수 있습니다.
이 두 선택은 "해당 고객에 대해 하나 이상의 계정이 Phone_OptInY인 고유 고객 ID 목록을 리턴하며 해당 고객에 대해 하나 이상의 계정이 Mail_OptInY인 고유 ID의 두 번째 목록을 리턴한다는 것을 의미합니다." 다음으로, 병합 프로세스는 "선택 결과 세트 모두에 나타나는 고객 ID 목록 리턴"을 의미하는 두 결과 세트의 교차점을 수행하며, 첫번째 예에서 설명한 단일 선택에서의 ID 선택 조건 조건과 동일하지 않습니다.