Definition이란 무엇인가?
Definition은 DQS에서 사용자가 구성한 데이터 품질 검사입니다. 어떤 Salesforce 객체를 분석할지, 어떤 필드를 포함할지, 어떤 역량(capability)을 측정할지, 그리고 어떤 임곗값을 적용할지를 지정합니다.
Definition을 레시피라고 생각하면 됩니다. DQS에 어떤 재료(필드)를 살펴보고 어떤 기준(임곗값)을 적용할지 알려 줍니다. DQS는 스캔을 실행할 때마다 사용자의 레시피를 그대로 따릅니다.
5단계 마법사
Definition Builder는 다섯 단계로 안내합니다.
- 역량 선택(Select Capabilities) - 무엇을 측정할지 선택
- 범위 정의(Define Scope) - 어떤 객체와 필드인지 선택
- 필터 추가(Add Filters) - 레코드 집합 좁히기 (선택)
- 구성(Configure) - 임곗값과 옵션 설정
- 검토(Review) - 검증 및 활성화
각 단계는 이전 단계를 바탕으로 합니다. 어느 단계에서든 진행 상황을 저장하고 나중에 다시 돌아올 수 있습니다.
1단계: 역량 선택
이 단계에서는 어떤 데이터 품질 차원을 측정할지 선택합니다.
사용 가능한 역량
마법사는 두 개의 패널을 표시합니다.
데이터 품질 (운영상의 위생)
- Completeness - 필드가 채워져 있는가?
- Validity - 값이 기대하는 형식에 부합하는가?
- Uniqueness - 레코드가 서로 구별되는가?
- Timeliness - 데이터가 최신인가?
- Consistency - 값이 균일한가?
AI Readiness (Agentforce 준비)
- PII Detection - AI에 노출되기 전에 민감한 데이터가 보호되고 있는가?
역량 선택하기
- 역량 카드를 클릭해 선택합니다
- 카드가 강조 표시되고 체크 표시가 나타납니다
- 종합적인 분석을 위해 여러 역량을 선택합니다
- 다시 클릭하면 선택이 해제됩니다
팁: 첫 번째 Definition에서는 2~3개의 역량으로 시작하십시오. 나중에 더 추가할 수 있습니다.
모범 사례: 집중해서 시작하기
당장의 목표에 따라 역량을 선택하십시오.
| 목표 | 권장 역량 |
|---|---|
| 데이터 입력 품질 개선 | Completeness, Validity |
| 중복 찾기 | Uniqueness |
| 오래된 레코드 정리 | Timeliness |
| AI/Agentforce 준비 | 모든 AI Readiness |
| 전체 데이터 감사 | 모든 역량 |
역량을 선택했으면 Continue를 클릭하십시오.
2단계: 범위 정의
이 단계에서는 어떤 Salesforce 객체와 필드를 분석할지 선택합니다.
객체 선택하기
- 객체 선택기(object picker) 드롭다운을 사용합니다
- 객체 이름 또는 API 이름으로 검색합니다
- 클릭해 객체를 선택합니다
DQS는 표준 객체와 사용자 정의 객체를 모두 지원합니다. 마법사는 올바른 객체를 선택할 수 있도록 객체 레이블과 API 이름을 함께 표시합니다.
팁: Contact, Lead, Account처럼 가치가 높은 객체로 시작하십시오. 이들은 일반적으로 데이터 품질에 가장 큰 영향을 미칩니다.
필드 선택하기
객체를 선택하면 마법사가 사용 가능한 필드를 표시합니다.
- 필드는 유형(텍스트, 숫자, 날짜 등)별로 묶여 있습니다
- 필드 행을 클릭해 선택합니다
- 검색 상자를 사용해 특정 필드를 찾습니다
- 분석할 여러 필드를 선택합니다
마법사는 필드 유형을 기준으로 각 필드에 어떤 역량이 적용되는지 보여 줍니다.
| 역량 | 호환되는 필드 유형 |
|---|---|
| Completeness | 대부분의 유형 (text, number, date, picklist 등) |
| Validity | Text, email, phone, URL, picklist |
| Uniqueness | 모든 유형 |
| Timeliness | Date, DateTime만 |
| Consistency | Text, picklist, email |
필드별 구성
개별 필드마다 서로 다른 임곗값을 설정할 수 있습니다. 이는 다음과 같은 경우에 유용합니다.
- 중요한 필드에 더 엄격한 임곗값이 필요한 경우
- 일부 필드에 고유한 형식 요건이 있는 경우
- 필드마다 최신성에 대한 기대치가 다른 경우
필드 옆의 톱니바퀴 아이콘을 클릭하면 필드별 설정에 접근할 수 있습니다.
필드를 선택했으면 Continue를 클릭하십시오.
3단계: 필터 추가 (선택)
필터는 DQS가 분석하는 레코드를 좁혀 줍니다. 이 단계는 선택 사항이지만 대규모 데이터셋이나 특정 사용 사례에 유용합니다.
필터를 사용할 때
| 시나리오 | 필터 예시 |
|---|---|
| 활성 Account만 분석 | Status = ‘Active’ |
| 최근 레코드에 집중 | CreatedDate = LAST_90_DAYS |
| 테스트 데이터 제외 | Name does not contain ‘Test’ |
| 특정 지역 타겟팅 | BillingCountry = ‘United States’ |
필터 만들기
- Add Condition을 클릭합니다
- 드롭다운에서 필드를 선택합니다
- 연산자(equals, contains, greater than 등)를 선택합니다
- 값을 입력합니다
- 추가 조건에 대해 반복합니다
필터 로직
AND/OR 로직을 사용해 조건을 결합합니다.
- AND - 모든 조건이 참이어야 합니다
- OR - 어느 한 조건이 참이면 됩니다
예: (Status = 'Active') AND (Industry = 'Technology' OR Industry = 'Finance')
레코드 수 미리 보기
마법사는 필터에 일치하는 레코드가 몇 건인지 보여 줍니다. 이를 활용해 필터가 기대한 대로 동작하는지 확인하십시오.
- 0건은 일치하는 레코드가 없다는 뜻입니다 (필터를 점검하십시오)
- 매우 높은 수치는 대규모 조직에서 더 많은 필터링이 필요할 수 있습니다
팁: 전체 그림을 파악하려면 첫 번째 Definition에서는 필터를 건너뛰십시오. 타겟 분석을 위해서는 나중에 필터를 추가하십시오.
진행하려면 Continue를 클릭하거나 이 단계를 건너뛰십시오.
4단계: 구성
이 단계에서는 선택한 각 역량에 대해 임곗값과 옵션을 설정합니다.
전역(Global) 설정과 필드별 설정
설정은 두 가지 수준에서 적용됩니다.
- 전역(Global) - 모든 필드에 대한 기본 설정
- 필드별(Per-Field) - 특정 필드에 대한 재정의 설정
먼저 전역 설정을 구성한 다음, 필요하면 개별 필드를 맞춤 설정하십시오.
Completeness 구성
| 옵션 | 설명 | 기본값 |
|---|---|---|
| 공백을 미완성으로 처리 | 공백뿐인 값을 누락으로 계산 | 예 |
| 자리표시자를 미완성으로 처리 | N/A, TBD, Unknown을 누락으로 계산 | 예 |
| 사용자 정의 자리표시자 값 | 자체 자리표시자 패턴 추가 | 없음 |
| 임곗값 | 허용 가능한 최소 완전성 % | 95% |
Contact 예시 설정:
- 임곗값: 선택 필드는 90%
- 임곗값: Email 같은 필수 필드는 99%
- 자리표시자: N/A, TBD, Unknown, -, .
Validity 구성
| 옵션 | 설명 | 기본값 |
|---|---|---|
| 패턴 유형 | Email, URL, Fixed Length, Custom Regex | |
| 사용자 정의 정규식 | 자체 검증 패턴 | 없음 |
| 대소문자 구분 | 정확한 대소문자 일치 | 아니요 |
| 빈 값 포함 | 공백을 무효로 계산 | 아니요 |
기본 제공 패턴:
- Email - RFC 5322 준수 형식
- URL - HTTP/HTTPS 형식
- Fixed Length - 정확한 글자 수
Uniqueness 구성
| 옵션 | 설명 | 기본값 |
|---|---|---|
| 대소문자 구분 | ”ABC”와 “abc”를 서로 다른 값으로 처리 | 아니요 |
| 임곗값 | 허용 가능한 최소 고유성 % | 95% |
Timeliness 구성
| 옵션 | 설명 | 기본값 |
|---|---|---|
| 최신성 기간(일) | 데이터가 오래된 것으로 간주되기까지의 일수 | 90 |
| 유예 기간(일) | 오래됨으로 플래그하기 전의 버퍼 | 7 |
| 운영 범위 | 기대하는 최소/최대 날짜 경계 | 없음 |
필드별 예시 설정:
- LastModifiedDate: 30일 최신성 기간
- LastActivityDate: 90일 기간
- BirthDate: 최신성 검사 불필요
Consistency 구성
| 옵션 | 설명 | 기본값 |
|---|---|---|
| 기대 값 | 유효한 값 목록 | 없음 |
| picklist에서 가져오기 | 필드의 picklist에서 자동 채우기 | 아니요 |
| 대소문자 구분 | 정확한 대소문자 일치 | 아니요 |
| 상위 N개 우세 값 | 가장 빈번한 값 표시 | 5 |
PII Detection 구성
| 옵션 | 설명 | 기본값 |
|---|---|---|
| 패턴 유형 | 어떤 PII 패턴을 스캔할지 | 모든 패턴 |
| 사용자 정의 패턴 | 조직 고유의 민감한 데이터를 위한 자체 정규식 패턴 추가 | 없음 |
처리 비용 표시기
각 역량은 처리 비용을 표시합니다.
| 비용 | 역량 | 영향 |
|---|---|---|
| LOW | Completeness, Validity | 빠르고 자원 사용 최소 |
| MEDIUM | Timeliness, Consistency, PII Detection | 보통의 처리 시간 |
| HIGH | Uniqueness | 더 긴 처리 시간, 더 많은 비교 |
대규모 데이터셋에 대해 역량을 선택할 때는 비용을 고려하십시오.
구성이 완료되면 Continue를 클릭하십시오.
5단계: 검토
마지막 단계에서는 Definition의 요약을 보여 줍니다.
검토 체크리스트
활성화하기 전에 다음을 확인하십시오.
- 객체(Object) - 올바른 객체가 선택되었는지
- 필드(Fields) - 모든 중요한 필드가 포함되었는지
- 역량(Capabilities) - 적절한 검사가 선택되었는지
- 필터(Filters) - 레코드 수가 타당해 보이는지
- 임곗값(Thresholds) - 설정이 요건과 일치하는지
Definition 요약
요약에는 다음이 표시됩니다.
- Definition 이름 (편집 가능)
- 대상 객체와 레코드 수
- 변형이 포함된 선택한 역량
- 역량별 필드 수
- 예상 처리 비용
Definition 이름 짓기
다음을 나타내는 서술적인 이름을 사용하십시오.
- 분석 대상 객체
- 목적 또는 범위
- 담당자 (선택)
좋은 이름:
- “Contact Data Quality - Sales Team”
- “Lead AI Readiness Check”
- “Account Completeness - EMEA Region”
나쁜 이름:
- “Definition 1”
- “Test”
- “My Definition”
저장 및 활성화
두 가지 옵션이 있습니다.
- Save as Draft - 활성화하지 않고 저장 (나중에 편집 가능)
- Activate - 저장하고 스캔할 수 있도록 준비
Draft 상태의 Definition은 편집할 수 있습니다. Active 상태의 Definition은 잠겨 있지만 실행할 준비가 된 상태입니다.
예시: Contact Definition 만들기
Contact Data Quality Definition을 만드는 과정을 함께 살펴봅시다.
1단계: 역량 선택
선택:
- Completeness (누락된 데이터 점검)
- Validity (이메일 및 전화번호 형식 확인)
- Timeliness (오래된 Contact 레코드 찾기)
2단계: 범위 정의
객체: Contact
필드:
- Email (text, email)
- Phone (phone)
- MailingCity (text)
- MailingState (text)
- MailingCountry (text)
- Title (text)
- LastActivityDate (date)
3단계: 필터 추가
조건: AccountId != null (Account가 있는 Contact만)
레코드 수 미리 보기: 15,234건
4단계: 구성
Completeness:
- 임곗값: 90%
- 공백을 미완성으로 처리: 예
- 자리표시자: N/A, Unknown, TBD
Validity:
- Email 필드: Email 패턴
- Phone 필드: Phone 패턴 (사용 가능한 경우)
Timeliness:
- LastActivityDate: 60일 최신성 기간
- 유예 기간: 14일
5단계: 검토
이름: “Contact Data Quality - Active Accounts”
요약:
- 7개 필드
- 3개 역량
- 15,234건 레코드
- 예상 비용: LOW
Activate를 클릭해 완료하십시오.
Definition 관리
모든 Definition 보기
DQS 홈 화면에서 다음을 볼 수 있습니다.
- 모든 Definition
- 상태 (Draft, Active, Archived)
- 마지막 스캔 날짜
- 빠른 작업
Definition 편집
- Draft - 완전히 편집 가능
- Active - 편집하려면 새 버전을 생성
- Archived - 보기 전용
Definition 보관
더 이상 필요하지 않은 Definition을 보관하십시오.
- 드롭다운 메뉴를 클릭합니다
- Archive를 선택합니다
- 확인합니다
보관된 Definition은 계속 볼 수 있지만 실행할 수는 없습니다.
문제 해결
”No fields available” (사용 가능한 필드 없음)
원인: 선택한 역량이 사용 가능한 필드 유형과 일치하지 않습니다.
해결책: 다른 역량을 선택하거나 호환되는 필드 유형을 가진 객체를 선택하십시오.
”0 records match filter” (필터에 일치하는 레코드 0건)
원인: 필터 조건이 너무 제한적입니다.
해결책: 필터 값을 조정하거나 조건을 제거하십시오.