프로젝트에서 데이터의 품질을 평가하기 위한 SQL 기반 데이터 품질 규칙을 작성할 수 있습니다. 특정 품질 기준의 준수를 평가하기 보다는 오류를 측정하는 데 이러한 규칙을 사용하십시오.
SQL 기반 데이터 품질 규칙이 자산 또는 열의 데이터 품질 점수에 기여하도록 하려면 해당 자산 또는 열을 관련 항목으로 해당 규칙에 추가하세요. 데이터 품질 유효성 검증 관계 유형을 사용하십시오. 이 관계 유형과 링크된 모든 자산 및 열에 대해 동일한 점수 및 문제가 보고됩니다.
SQL 기반 데이터 품질 규칙을 작성하려면 다음을 수행하십시오.
프로젝트를 열고 새로운 자산 > 데이터 품질 측정 및 모니터링 .
세부사항을 정의하십시오.
데이터 품질 규칙의 이름을 지정하십시오.
선택사항: 설명을 제공하십시오.
선택사항: 데이터 품질 차원을 선택하여 이 자산의 규칙 로직에 대한 기본 데이터 품질 메트릭을 설명하십시오. 선택한 차원을 보고서 카테고리, 필터링 또는 선택한 데이터 시각화에 사용할 수 있습니다.
데이터 품질 정의에서 규칙을 작성할 때 데이터 품질 차원이 이미 설정되어 있을 수 있습니다. 이를 유지하거나 차원 설정을 삭제하거나 다른 차원을 선택할 수 있습니다.
SQL문 사용 옵션을 사용으로 설정하십시오.
기존 연결을 선택하거나 새 연결을 작성하여 확인할 데이터의 소스를 지정하십시오. 지원되는 데이터 소스는 큐레이션 및 데이터 품질에 대해 지원되는 데이터 소스를 참조하십시오.
기존 연결을 선택하고 이 연결이 개인 신임 정보를 사용하여 작성된 경우 연결을 잠금 해제해야 합니다.
SQL문을 입력하십시오.
쿼리를 작성할 때 SELECT문이 다음 조건을 충족하는지 확인하십시오.
- 명령문은 고유한 이름을 갖는 컬럼만 리턴합니다. 이름이 중복된 열은 유효성 검증 오류를 유발합니다.
- 명령문은 데이터 품질 조건을 충족하지 않는 레코드 수를 리턴합니다. SQL 기반 규칙은 데이터 품질 정의에서 작성된 규칙과 다른 방식으로 작동합니다. SELECT문이
failed
또는Not met
로 리턴하는 레코드를 보고합니다. 또한 보고되는 총 레코드 수는 확인된 레코드 수가 아니라 리턴된 레코드 수와 같습니다.
예를 들어, 행이 31개인
db2admin.credit_card
테이블이 있고 테이블에 카드 유형이 AMEX인 레코드 수를 확인하려는 경우 차이점은 다음과 같습니다.데이터 품질 정의의 데이터 품질 규칙
카드 유형이 AMEX인 레코드를 확인합니다.
데이터 품질 정의의 표현식:Col = 'AMEX'
데이터 품질 규칙의 바인드된 표현식:credit_card.card_type = 'AMEX'
샘플 결과:Total: 31 | Met: 4 (12.9%) Not met: 27 (87.1%)
SQL 기반 데이터 품질 규칙
카드 유형이 AMEX가 아닌 레코드를 확인합니다.
SELECT문:select card_type from db2admin.credit_card where card_type <> 'AMEX'
샘플 결과:Total: 27 | Met: 0 (0%) Not met: 27 (100%)
또한 데이터 품질 규칙에 대한 샘플 SQL문세트를 확인하십시오. 이 샘플은 품질 기준을 충족하지 않는 레코드를 리턴하기 위해 SQL 규칙을 작성하는 방법을 보여줍니다. 제공된 명령문을 사용자 고유의 데이터 품질 규칙으로 복사하고 필요에 따라 조정할 수 있습니다.
SELECT문에서 컬럼, 테이블 및 스키마 이름을 지정하기 위해 다음 규칙을 고려하십시오.
- PostgreSQL 데이터 소스의 테이블 및 스키마 이름은 대소문자를 구분합니다. "schema". "table_name" 예제에서와 같이 이름을 큰따옴표로 묶어야 할 수 있습니다.
SELECT *
쿼리를 사용하지 마십시오. 이러한 조회로 인해 열 이름이 변경될 때 유효성 검증 오류가 발생할 수 있습니다. 열 선택 범위를 좁히십시오.- 열 이름이 영문자로 시작하지 않거나 영문자, 숫자 또는 밑줄 이외의 문자를 포함하는 경우 열 이름에 대한 별명을 사용하십시오.
언제든지 SQL문을 테스트할 수 있습니다. 테스트는 조회에서 선택한 열의 이름만 리턴합니다. 실제 처리가 수행되지 않습니다. 다음을 클릭하면 유효성 검사가 수행됩니다. 쿼리가 이 검사를 통과하지 않으면 계속할 수 없습니다.
출력 설정 및 컨텐츠를 구성하십시오.
규칙 출력을 데이터베이스에 기록할지 여부를 선택하십시오. 그렇지 않으면 일부 통계 정보만 규칙의 실행 기록에 제공됩니다.
데이터베이스 테이블을 생성하려면 다음을 수행하십시오.
외부 출력 옵션을 사용으로 설정하고 섹션을 펼치십시오.
다음 옵션 중 하나를 선택하십시오.
새 데이터베이스 테이블에 쓰기
연결을 선택하십시오. 선택한 연결에 따라 스키마를 선택하거나 카탈로그와 스키마를 선택합니다. 그런 다음 생성할 출력 테이블의 이름을 입력합니다.
규칙을 실행할 때 이 새 출력 테이블도 프로젝트에 데이터 자산으로 추가됩니다.
기존 데이터베이스 테이블에 쓰기
연결을 선택하십시오. 선택한 연결에 따라 스키마와 기존 테이블을 선택하거나 카탈로그, 스키마 및 기존 테이블을 선택합니다. 출력 콘텐츠 섹션은 이 표의 열로 채워지며 콘텐츠를 이 열에 매핑할 수 있습니다.
해당 데이터 자산이 프로젝트에 없는 경우 규칙을 실행할 때 작성됩니다.
지원되는 데이터베이스 유형은 큐레이션 및 데이터 품질에 지원되는 데이터 소스를 참조하십시오. 스키마 및 테이블 이름은 다음 규칙을 따라야 합니다.
- 이름의 첫 번째 문자는 영문자여야 합니다.
- 나머지 이름은 영문자, 숫자 또는 밑줄로 구성될 수 있습니다.
- 이름은 공백을 포함하지 않아야 합니다.
프로젝트의 자산 페이지 또는 규칙의 실행 기록에서 규칙 출력 테이블에 해당하는 데이터 자산에 액세스할 수 있습니다.
SQL 조회는 출력 테이블에 기록되는 레코드를 판별하지만 다음 설정을 구성할 수 있습니다.
최대 예외 출력 레코드 수: 모든 레코드를 포함하거나 최대 수를 설정할 수 있습니다.
갱신 메소드: 새 출력 레코드를 출력 테이블의 기존 컨텐츠에 추가할 수 있습니다. 최신 실행의 출력 결과만 보존하려면 기존 레코드를 겹쳐쓰도록 선택하십시오.
업데이트 메소드 추가의 경우 테이블 스키마를 변경할 수 없습니다. 즉, 열의 이름을 바꾸거나 열을 추가하거나 삭제할 수 없습니다. 데이터 품질 규칙의 출력 컨텐츠를 변경하고 기존 출력 테이블에 쓰려면 업데이트 메소드 겹쳐쓰기 를 사용하여 출력 테이블의 열을 새로 정의된 출력 열로 바꾸십시오.
언제든지 출력 유형을 변경할 수 있습니다. 새 선택사항에 따라 구성된 설정이 재설정되거나 겹쳐쓰기됩니다.
출력 테이블의 컨텐츠를 구성하십시오. 기본적으로 SQL 조회에서 선택한 모든 열이 출력 테이블에 포함됩니다. 선택한 열 또는 모든 열을 제거하고 다른 컨텐츠를 추가할 수 있습니다. 출력 컨텐츠 추가 를 클릭하고 다음 옵션 중 하나를 선택하십시오.
열: 출력 테이블에 표시할 열을 선택하십시오. SQL 조회가 리턴하는 모든 열에서 선택할 수 있습니다.
통계 및 속성: 출력 테이블에 포함할 추가 속성 또는 통계를 선택하십시오.
- 레코드 ID: 출력에서 레코드를 식별하는 고유 키를 포함합니다.
- 규칙 이름: 데이터 품질 규칙의 이름을 포함합니다.
- 시스템 날짜: 규칙이 실행된 시스템 날짜를 표시합니다. 시스템 날짜는 서버에 설정된 시간대의 날짜입니다.
- 시스템 시간: 규칙이 실행된 시스템 날짜 및 시간을 표시합니다. 시스템 날짜 및 시간은 서버에 설정된 시간대의 날짜 및 시간입니다.
- 규칙 전달: 레코드가 충족한 규칙 조건의 수를 표시합니다.
- 실패한 규칙: 레코드가 충족하지 않은 규칙 조건의 수를 표시합니다.
- 규칙 패스 백분율: 충족된 규칙 조건의 백분율을 표시합니다.
- 실패한 규칙 백분율: 충족되지 않은 규칙 조건의 백분율을 표시합니다.
구성을 검토하십시오. 규칙이 올바르게 구성되었는지 확인하기 위해 실제로 프로젝트에 저장하기 전에 테스트할 수 있습니다. 규칙 테스트의 출력이 직접 표시되며 출력 설정에서 구성한 내용과 일치합니다.
구성을 변경하려면 타일에서 편집 아이콘 을 클릭하고 설정을 업데이트합니다. 검토가 완료되면 생성를 클릭합니다. 규칙과 관련 DataStage 흐름이 프로젝트에 추가됩니다. DataStage 흐름의 기본 이름은
DataStage flow of data rule <rulename>
입니다.
정보가 누락되지 않고 규칙이 올바르게 구성된 경우 준비상태입니다. 이 상태는 규칙을 실행할 수 있음을 의미합니다. 규칙 상태 준비되지 않음 은 SQL 구문 오류, 수정된 종속성 또는 기타 규칙 정의 문제로 인해 규칙을 실행할 수 없음을 표시합니다. 예를 들어, 데이터 소스에 액세스하기 위한 비밀번호가 변경되었습니다. 이 상태는 IBM Knowledge Catalog API: 데이터 품질 규칙 만들기 을 사용하여 만든 데이터 품질 규칙에서 더 많이 볼 수 있습니다. API를 사용하여 데이터 품질 규칙을 작성할 때 규칙도 테스트하고 유효성 검증해야 합니다.
수동으로 실행하기 전에 규칙이 여전히 유효한지 확인하기 위해 오버플로우 메뉴에서 유효성 검증 을 선택하여 규칙 상태를 확인할 수 있습니다.
자세한 정보
다음 단계
상위 주제: 데이터 품질 규칙 관리