도메인 규칙 만들기Create a Domain Rule

이 항목에서는 DQS( Data Quality ServicesData Quality Services )에서 도메인 규칙을 만드는 방법에 대해 설명합니다.This topic describes how to create a domain rule in Data Quality ServicesData Quality Services (DQS). 도메인 규칙은 도메인 값의 유효성 검사, 수정 및 표준화를 수행하는 데 사용되는 조건입니다.A domain rule is a condition that is used to validate, correct, and standardize domain values. 도메인 값이 정확하고 비즈니스 요구 사항에 맞는 것으로 간주되려면 도메인 규칙이 도메인 전체에서 유효해야 합니다.A domain rule must hold true across a domain in order for domain values to be considered accurate and conformant to business requirements. 도메인 규칙은 도메인 값의 유효성을 검사하는 데 사용되는 유효성 검사 규칙을 포함할 수 있지만 데이터 품질 프로젝트의 데이터를 수정하는 데 사용되지는 않습니다.Domain rules can include validation rules that are used to validate domain values, but are not used to correct data in a data quality projects. 규칙은 또한 유효한 데이터에 대해 적용되고 데이터 수정에 사용되는 표준화 규칙을 포함합니다.Rules also include standardization rules that are applied against valid data and are used in data correction.

시작하기 전에 Before You Begin

필수 구성 요소 Prerequisites

도메인 규칙을 만들려면 도메인 관리 작업에 기술 자료와 도메인이 열려 있어야 합니다.To create a domain rule, you must have a knowledge base and a domain opened in the Domain Management activity.

보안 Security

사용 권한 Permissions

도메인 규칙을 만들려면 DQS_MAIN 데이터베이스에 대한 dqs_kb_editor 또는 dqs_administrator 역할이 있어야 합니다.You must have the dqs_kb_editor or the dqs_administrator role on the DQS_MAIN database to create a domain rule.

도메인 규칙 작성 Build Domain Rules

  1. Data Quality 클라이언트를 시작합니다.Start Data Quality Client. 방법은 다음을 참조하세요.For information about doing so, see Data Quality Client 응용 프로그램을 실행합니다. Run the Data Quality Client Application.

  2. Data Quality 클라이언트Data Quality Client 홈 화면에서 기술 자료를 열거나 만듭니다.In the Data Quality 클라이언트Data Quality Client home screen, open or create a knowledge base. 도메인 관리 를 작업으로 선택한 다음 열기 또는 만들기를 클릭합니다.Select Domain Management as the activity, and then click Open or Create. 자세한 내용은 Create a Knowledge Base 또는 Open a Knowledge Base를 참조하세요.For more information, see Create a Knowledge Base or Open a Knowledge Base.

    참고

    도메인 관리는 별도의 도메인 관리 작업을 위한 5개 탭이 포함된 Data Quality Services 클라이언트의 페이지에서 수행됩니다.Domain management is performed in a page of the Data Quality Service client that contains five tabs for separate domain management operations. 도메인 관리는 마법사 기반 프로세스가 아닙니다. 모든 관리 작업은 별도로 수행할 수 있습니다.It is not a wizard-driven process; any management operation can be performed separately.

  3. 도메인 관리 페이지의 도메인 목록 에서 도메인 규칙을 만들 도메인을 선택하거나 새 도메인을 만듭니다.From the Domain list on the Domain Management page, select the domain that you want to create a domain rule for, or create a new domain. 새 도메인을 만들어야 하는 경우 Create a Domain를 참조하세요.If you have to create a new domain, see Create a Domain.

  4. 도메인 규칙 탭을 클릭합니다.Click the Domain Rules tab.

  5. 새 도메인 규칙 추가를 클릭한 다음 기술 자료에서 고유한 이름과 규칙에 대한 설명을 입력합니다.Click Add a new domain rule, and then enter a name that is unique in the knowledge base and a description for the rule.

  6. 활성 을 선택하여 해당 규칙이 실행되도록 지정하거나(기본값) 선택 취소하여 규칙이 실행되지 않도록 합니다.Select Active to specify that the rule will be run (the default), or deselect to prevent the rule from running.

  7. 규칙 작성 창의 규칙 절 상자에 있는 드롭다운 목록에서 조건을 선택합니다.In the Build a Rule pane, select a condition from the drop-down list in the rule’s clause box.

  8. 조건에 값이 필요한 경우 해당 입력란에 값을 입력합니다.If the condition requires a value, enter the value in the associated text box.

  9. 다른 절이 필요한 경우 선택한 절에 새 조건 추가 아이콘을 클릭합니다.Click Adds a new condition to the selected clause icon if another clause is required.

  10. AND 또는 OR 을 연산자로 선택합니다.Select AND or OR as the operator.

  11. 드롭다운 목록에서 조건을 선택한 다음 필요한 경우 피연산자의 값을 입력합니다.Select a condition from the drop-down list and then enter a value for the operand, if required.

  12. 목록에서 절이 표시되는 순서를 변경하려면 특정 절을 선택한 다음 위쪽 또는 아래쪽 화살표를 클릭합니다.To change the order in which the clauses appear in the list, select a clause and then click the up or down arrow. 이렇게 하면 실행 순서가 변경되어 결과에 영향을 줄 수 있습니다.This will change the order in which they are executed, which could affect the results.

  13. 필요에 따라 절을 더 추가합니다.Add more clauses as required. 필요한 경우 절을 선택한 다음 선택한 절 삭제를 클릭하여 절을 삭제합니다.If needed, delete a clause by selecting it and then clicking Deletes the selected clause.

  14. 필요에 따라 위 단계를 반복하여 새 규칙을 추가합니다.Repeat to add new rules, as necessary.

  15. 유효성 검사 규칙이 값에 미치는 영향을 보려면(구현된 경우) 도메인 규칙이 도메인 값에 미치는 영향을 분석합니다 아이콘을 클릭합니다.To see the impact that a validation rule would have on values if implemented, click the Analyze the domain rule impact on the domain values icon.

  16. 다음 테스트 절차를 진행합니다.Proceed to the test procedure below.

도메인 규칙 테스트 Test Domain Rules

  1. 규칙을 하나 선택한 상태에서 테스트 데이터에서 선택한 도메인 규칙 실행 아이콘을 클릭합니다.With one rule selected, click the Run the selected domain rule on test data icon.

  2. 도메인 규칙 테스트 대화 상자에서 도메인 규칙의 새 테스트 용어 추가 아이콘을 클릭합니다.In the Test Domain Rule dialog box, click the Add a new testing term for the domain rule icon. 테스트할 값을 입력합니다.Enter a value to test. 필요에 따라 다른 값을 입력합니다.Enter other values as required. 필요한 경우 값을 선택하고 선택한 테스트 용어 제거 아이콘을 클릭합니다.Select a value and click the Remove the selected testing term icon if required.

  3. 모든 용어에 대해 도메인 규칙 테스트 아이콘을 클릭합니다.Click the Test the domain rule on all the terms icon.

  4. 각 용어의 유효성을 검사합니다.Check the validity of each term. 확인 표시는 "올바름"을, 십자 표시는 "오류"를, 삼각형은 "잘못됨"을 의미합니다.A check means “correct”, a cross means “error”, and a triangle means “invalid”.

  5. 테스트 대화 상자에서 작업이 완료되면 닫기 를 클릭합니다.Click Close when done in the testing dialog box.

  6. 필요에 따라 다른 규칙에 대해 위의 단계를 반복합니다.Repeat for other rules, as necessary.

  7. 다음 적용 절차를 진행합니다.Proceed to the application procedure below.

도메인 규칙 적용 Apply Domain Rules

  1. 도메인 값에 규칙을 적용하려면 모든 규칙 적용 을 클릭합니다.Click Apply All Rules to apply the rules to the values in the domain. 모든 규칙 적용을 클릭하면 이 규칙의 영향을 받는 특정 상태의 값 개수를 나타내는 팝업이 표시됩니다.Apply you click Apply All Rules, a popup will be displayed indicating how many values in certain states will be affected by the rule. 그래도 규칙을 적용하려는 경우 를 클릭하고, 그렇지 않을 경우 아니요 를 클릭합니다.Click Yes if you still want to apply the rule, or No if not. 를 클릭한 경우 확인 을 클릭하여 결과 팝업을 닫습니다.If you click Yes, click OK to close the results popup.

    참고

    규칙을 만들거나 변경할 때는 변경 내용을 저장하지 않아도 됩니다.When you create or change a rule, you do not need to save the changes. 그러나 규칙을 적용해야 변경 내용이 적용됩니다.However, you must apply the rule for the changes to take effect.

  2. 모든 변경 내용 취소 를 클릭하면 도메인 규칙에 대한 모든 변경 내용이 제거되고 이전에 적용된 규칙을 되돌리므로 규칙의 마지막 적용 이후에 변경된 내용이 더 이상 적용되지 않습니다.Click Discard All Changes to remove any changes that you have made to domain rules, reverting to the previously applied rules, with the result that any changes made after the last application of the rules will no longer apply. 각 도메인 값의 유효성은 취소된 변경 내용이 아니라 이전에 적용된 규칙에 따라 업데이트됩니다.The validity of each value in the domain will be updated to be in accordance with the previously applied rules, not the discarded changes.

  3. 마침 을 클릭하여 End the Domain Management Activity에 설명된 대로 도메인 관리 작업을 완료합니다.Click Finish to complete the domain management activity, as described in End the Domain Management Activity.

후속 작업: 도메인 규칙을 만든 후 Follow Up: After Creating a Domain Rule

도메인 규칙을 만든 후 도메인에 대해 다른 도메인 관리 태스크를 수행하거나, 기술 자료 검색을 수행하여 도메인에 정보를 추가하거나, 도메인에 일치 정책을 추가할 수 있습니다.After you create a domain rule, you can perform other domain management tasks on the domain, you can perform knowledge discovery to add knowledge to the domain, or you can add a matching policy to the domain. 자세한 내용은 기술 자료 검색 수행, 도메인 관리 또는 일치 정책 만들기를 참조하세요.For more information, see Perform Knowledge Discovery, Managing a Domain, or Create a Matching Policy.

도메인 규칙 조건 Domain Rule Conditions

다음 표에서는 도메인 규칙에 적용될 수 있는 조건을 설명하고 조건을 적용하는 방법을 설명하는 예를 제공합니다.The table below describes the conditions that can be applied in the domain rule, and provides example to illustrate how the conditions can be applied.

도메인 규칙을 적용하고 도메인 값이 규칙에 실패하면 값이 잘못됨으로 지정됩니다.When a domain rule is applied and a domain value fails the rule, the value is designated Invalid. 잘못됨으로 지정된 값은 해당 값을 잘못된 것으로 판정한 규칙이 삭제되거나, 비활성화되거나 해당 값이 더 이상 규칙에 실패하지 않도록 규칙이 변경된 경우 올바름으로 변경됩니다.A value that is designated Invalid will be changed to Correct if the rule causing it to be invalid is deleted, is deactivated, or the rule has been changed such that the value no longer fails the rule. 도메인 관리 작업의 도메인 값 탭에서 수동으로 값을 잘못됨으로 지정한 경우 값이 실패한 규칙이 삭제되거나 비활성화되거나 변경되면 수동 지정에 따라 값은 계속 잘못됨으로 지정됩니다.If you have designated a value as Invalid manually (in the Domain Values tab of the Domain Management activity), and a rule that the value fails has been deleted, deactivated, or changed, then the value will still be designated Invalid, in accordance with the manual designation.

선언적 조건이 있는 도메인 규칙은 조건 값의 동의어와 값 자체에 규칙 논리를 적용합니다.A domain rule that has a definitive condition will apply the rules logic to synonyms of the value in the condition or conditions, as well the values themselves. 선언적 조건은 값이 다음 값과 같음, 값이 다음 값과 같지 않음, 값이 다음에 속함 또는 값이 다음에 포함되지 않음입니다.The definitive conditions are Value is equal to, Value is not equal to, Value is in, or Value is not in. 예를 들어 다음과 같은 도메인 규칙이 있다고 가정합니다. "'City' 값은 'Los angeles'입니다."For example, suppose you have the following domain rule: “For ‘City’, Value is equal to ‘Los Angeles’”. 'Los Angeles'와 'LA'가 동의어인 경우 둘 다 유효합니다.If ‘Los Angeles’ and ‘LA’ are synonyms, both will be correct. 반면 규칙에 "구/군/시에 대해 값이 다음으로 종료 's'"와 같은 선언적 조건이 포함되지 않은 경우 "Los Angeles"는 유효하지만 동의어 "LA"는 오류가 됩니다.On the other hand, if your rule did not contain a definitive condition, such as “For City, Value ends with “s”, then “Los Angeles” would be correct, but its synonym “LA” would be in error.

도메인 규칙을 만들 때 대체 방법 중 하나를 선택할 수 있습니다.You have alternatives to choose from in creating a domain rule. 예를 들어 값이 A, B 또는 C 문자로 시작하는지 확인하려면 복잡한 조건이 하나 있는 단순한 규칙(예: 파이프 문자가 있는 정규식)을 만들거나 단순한 조건이 여러 개 포함된 복잡한 규칙을 만들면 됩니다.For example, to validate whether values begin with the letter A, B, or C, you could create a simple rule with a complex condition (such as a regular expression with pipe characters), or you could create a complex rule that contains several simple conditions. 첫 번째 규칙의 예는 "값이 다음을 포함 정규식 (^A|^B|^C)"입니다.An example of the first rule is “Value contains regular expression (^A|^B|^C)”. 두 번째 규칙의 예는 "'값이 다음으로 시작 A' OR '값이 다음으로 시작 B' OR '값이 다음으로 시작 C'"입니다.An example of the second rule is “’Value begins with A’ OR ‘Value begins with B’ OR ‘Value begins with C’”.

조건Condition 설명Description 예제Example
길이가 다음 값과 같음Length is equal to 피연산자에 지정된 문자 수로 구성된 값만 유효합니다.Only values consisting of the number of characters designated by the operand will be valid. 피연산자 예: 3Example operand: 3

유효한 값: BB1Valid value: BB1

유효하지 않은 값: AANot valid value: AA
길이가 다음 값보다 크거나 같음Length is greater than or equal to 피연산자에 지정된 문자 수 또는 그보다 큰 문자 수로 구성된 값만 유효합니다.Only values consisting of the number of characters designated by the operand, or a greater number of characters, will be valid. 피연산자 예: 3Example operand: 3

유효한 값: BB1, BBAAValid values: BB1, BBAA

유효하지 않은 값: AANot valid value: AA
길이가 다음 값보다 작거나 같음Length is less than or equal to 피연산자에 지정된 문자 수 또는 그보다 작은 문자 수로 구성된 값만 유효합니다.Only values consisting of the number of characters designated by the operand, or a lesser number of characters, will be valid. 피연산자 예: 3Example operand: 3

유효한 값: BB1, AAValid values: BB1, AA

유효하지 않은 값: BBAANot valid value: BBAA
값이 다음 값과 같음Value is equal to 피연산자와 동일한 값만 유효합니다.Only values that are identical to the operand will be valid. 피연산자 예: BB1Example operand: BB1

유효한 값: BB1Valid value: BB1

유효하지 않은 값: BB, BB1#Not valid value: BB, BB1#
값이 다음 값과 같지 않음Value is not equal to 피연산자와 동일하지 않은 값만 유효합니다.Only values that are not identical to the operand will be valid. 피연산자 예: BB1Example operand: BB1

유효한 값: BB, BB1#Valid value: BB, BB1#

유효하지 않은 값: BB1Not valid value: BB1
값이 다음을 포함Value contains 모든 문자가 순서에 관계없이 피연산자 내에 포함된 값만 유효합니다.Only values all of whose characters are contained within the operand, in any order, will be valid. 피연산자 예: A1Example operand: A1

유효한 값: A1, AA1Valid values: A1, AA1

유효하지 않은 값: 1A, AANot valid value: 1A, AA
값이 다음을 포함하지 않음Value does not contain 피연산자 내에 포함되지 않은 값만 유효합니다.Only values that are not contained within the operand will be valid. 피연산자 예: A1Example operand: A1

유효한 값: 1A, AAValid values: 1A, AA

유효하지 않은 값: A1, AA1Not valid values: A1, AA1
값이 다음으로 시작Value begins with 피연산자의 문자로 시작하는 값만 유효합니다.Only values that begin with the characters in the operand will be valid. 피연산자 예: AAExample operand: AA

유효한 값: AA1Valid values: AA1

유효하지 않은 값: 1AABNot valid values: 1AAB
값이 다음으로 종료Value ends with 피연산자의 문자로 끝나는 값만 유효합니다.Only values that end with the characters in the operand will be valid. 피연산자 예: AAExample operand: AA

유효한 값: 1AAValid values: 1AA

유효하지 않은 값: 1AABNot valid values: 1AAB
값이 숫자임Value is numeric SQL Server 숫자 데이터 형식이 있는 값만 유효합니다.Only values that have a SQL Server numeric data type will be valid. 여기에는 int, decimal, float 등이 포함됩니다.This includes int, decimal, float, etc. 피연산자 예: 해당 없음Example operand: N/A

유효한 값: 1, 25, 345.1234Valid values: 1, 25, 345.1234

유효하지 않은 값: 2b, bcdefNot valid values: 2b, bcdef
값이 날짜/시간임Value is date/time SQL Server date/time 데이터 형식이 있는 값만 유효합니다.Only values that have a SQL Server date/time data type will be valid. 여기에는 datetime, time, date 등이 포함됩니다.This includes datetime, time, date, etc. 피연산자 예: 해당 없음Example operand: N/A

유효한 값: 1916-06-04; 1916-06-04 18:24:24; March 21, 2001; 5/18/2011; 18:24:24Valid values: 1916-06-04; 1916-06-04 18:24:24; March 21, 2001; 5/18/2011; 18:24:24

유효하지 않은 값: March 213, 2006Not valid values: March 213, 2006
값이 다음에 속함Value is in 피연산자의 집합에 있는 값만 유효합니다.Only values that are in the set in the operand will be valid.

집합에 값을 입력하려면 피연산자 입력란을 클릭하고 첫 번째 값을 입력한 후 Enter 키를 누르고 두 번째 값을 입력하는 식으로 집합에 입력하고자 하는 만큼의 값에 대해 이 작업을 반복한 다음 다시 피연산자 입력란을 클릭합니다.To enter the values in the set, click in the operand text box, enter the first value, press Enter, enter the second value, repeat for as many values as you want to enter in the set, and then click again in the operand text box. DQS는 집합의 값 사이에 쉼표를 추가합니다.DQS will add a comma between the values in the set. 캐리지 리턴 없이 쉼표로 구분된 단일 문자열을 입력하면(예: "A1, B1") DQS가 해당 문자열을 집합의 단일 값으로 간주하게 됩니다.If you enter a single string with commas and no carriage return (for example, “A1, B1”), DQS will consider that string a single value in the set.
피연산자 예: [A1, B1]Example operand: [A1, B1]

유효한 값: A1, B1Valid values: A1, B1

유효하지 않은 값: AA, 11Not valid values: AA, 11
값이 다음에 포함되지 않음Value is not in 피연산자의 집합에 없는 값만 유효합니다.Only values that are not in the set in the operand will be valid. 피연산자 예: [A1, B1]Example operand: [A1, B1]

유효한 값: AA, 11Valid values: AA, 11

유효하지 않은 값: A1, B1Not valid values: A1, B1
값이 패턴과 일치Value matches pattern 피연산자의 문자, 숫자 또는 특수 문자 패턴과 일치하는 값만 유효합니다.Only values that match the pattern of characters, digits, or special characters in the operand will be valid.

모든 문자(A...Z)를 문자에 대한 패턴으로 사용할 수 있으며 대/소문자는 구분하지 않습니다.Any letter (A…Z) can be used as a pattern for any letter; case insensitive. 모든 숫자(0…9)를 숫자에 대한 패턴으로 사용할 수 있습니다.Any digit (0…9) can be used as a pattern for any digit. 문자 또는 숫자를 제외하고 모든 특수 문자를 자체 패턴으로 사용할 수 있습니다.Any special character, except a letter or a digit, can be used as a pattern for itself. 대괄호([])는 선택적 일치를 정의합니다.Brackets, [], define optional matching.
피연산자 예: AA:000( 임의의 문자 두 개 뒤에 콜론(:)이 오고, 그 뒤에 임의의 숫자 세 개가 오는 패턴)Example operand: AA:000 (a pattern of any two characters followed by a colon (:), which is again followed by any three digits.

유효한 값: AB:012, df:257Valid values: AB:012, df:257

유효하지 않은 값: abc:123, FJ-369Not valid values: abc:123, FJ-369

DQS의 패턴 규칙과 예에 대한 자세한 내용은 DQS 도메인 규칙의 패턴 일치를 참조하세요.For more information about the pattern rules in DQS and examples, see Pattern Matching in DQS Domain Rules.
값이 패턴과 일치하지 않음Value does not match pattern 피연산자의 문자, 숫자 또는 특수 문자 패턴과 일치하지 않는 값만 유효합니다.Only values that do not match the pattern of characters, digits, or special characters in the operand will be valid. 피연산자 예: A1(값은 임의의 문자 하나 뒤에 임의의 숫자 하나가 오는 패턴과 일치하지 않아야 함)Example operand: A1 (value must not match a pattern of any one character followed by any one digit.)

유효한 값: AB1, A, A:5Valid values: AB1, A, A:5

유효하지 않은 값: B7, c9Not valid values: B7, c9
값이 패턴 포함Value contains pattern 피연산자의 문자, 숫자 또는 특수 문자 패턴을 포함하는 값만 유효합니다.Only values that contain the pattern of characters, digits, or special characters in the operand will be valid. 피연산자 예: AA-12(값은 임의의 문자 두 개 뒤에 하이픈(-)이 오고, 그 뒤에 임의의 숫자 두 개가 오는 패턴을 포함해야 함)Example operand: AA-12 (value contains a pattern of any two characters followed by a hyphen (-), which is again followed by any two digits.)

유효한 값: AAA-01, ab-975Valid values: AAA-01, ab-975

유효하지 않은 값: A7, AA-6, C-45, aa;98Not valid value: A7, AA-6, C-45, aa;98
값이 패턴 포함 안 함Value does not contain pattern 피연산자의 문자 패턴을 포함하지 않는 값만 유효합니다.Only values that do not contain the pattern of characters in the operand will be valid. 피연산자 예: AB-12(값은 임의의 문자 두 개 뒤에 하이픈(-)이 오고, 그 뒤에 임의의 숫자 두 개가 오는 패턴을 포함하지 않아야 함)Example operand: AB-12 (value must not contain a pattern of any two characters followed by a hyphen (-), which is again followed by any two digits.)

유효한 값: A7, AA-6, C-45, aa;98Valid values: A7, AA-6, C-45, aa;98

유효하지 않은 값: AAA-01, ab-975Not valid value: AAA-01, ab-975
값이 정규식과 일치합니다.Value matches regular expression 피연산자의 정규식과 같은 값만 유효한 것으로 간주됩니다.Only values that equal the regular expression in the operand will be considered valid.

정규식에 "^" 앵커 또는 "$" 앵커를 포함하지 마세요. DQS가 정규식과 일치하는 값을 포함하는 절에 이러한 앵커를 자동으로 추가합니다.Do not include the “^” anchor or the “$” anchor to the regular expression, because DQS automatically adds those anchors to a clause containing a Value equals regular expression. (또는 "^" 및 "$" 앵커를 포함하는 정규식을 괄호로 묶을 수 있습니다.) 정규식에 대한 자세한 내용은 정규식 언어 요소를 참조하세요.(Alternatively, you can enclose the regular expression containing “^” and “$” anchors with parentheses.) For more information about regular expressions, see Regular Expression Language Elements.
피연산자 예: [1-5]+(각 문자는 1에서 5 사이의 숫자가 한 번 이상 사용되는 숫자여야 함)Example operand: [1-5]+ (each character must be a numeric digit from 1 to 5, occurring one or more times)

유효한 값: 123, 12345, 14352Valid values: 123, 12345, 14352

유효하지 않은 값: 456, ABCNot valid values: 456, ABC
값이 정규식과 일치하지 않습니다.Value does not match a regular expression 피연산자의 정규식과 일치하지 않는 값만 유효한 것으로 간주됩니다.Only values that do not match the regular expression in the operand will be considered valid. 피연산자 예: [1-5]+(1에서 5 사이의 숫자로만 구성된 문자열이 아니어야 함)Example operand: [1-5]+ (the string must not be only numeric digits from 1 to 5)

유효한 값: 456, ABCValid values: 456, ABC

유효하지 않은 값: 123, 123456, 14352Not valid value: 123, 123456, 14352