Creare una regola di dominioCreate a Domain Rule

In questo argomento viene descritto come creare una regola di dominio in Data Quality ServicesData Quality Services (DQS).This topic describes how to create a domain rule in Data Quality ServicesData Quality Services (DQS). Una regola di dominio è una condizione utilizzata per convalidare, correggere e standardizzare i valori di dominio.A domain rule is a condition that is used to validate, correct, and standardize domain values. Una regola di dominio deve rimanere valida in tutto il dominio affinché i valori di dominio vengano considerati accurati e conformi ai requisiti aziendali.A domain rule must hold true across a domain in order for domain values to be considered accurate and conformant to business requirements. Le regole di dominio possono includere le regole di convalida utilizzate per convalidare i valori di dominio, ma non per correggere i dati in un progetto Data Quality.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. Le regole includono anche le regole di standardizzazione applicate ai dati validi e utilizzate per la correzione dei dati.Rules also include standardization rules that are applied against valid data and are used in data correction.

Prima di iniziareBefore You Begin

PrerequisitiPrerequisites

Per creare una regola di dominio, è necessario disporre di una Knowledge Base e di un dominio aperto nell'attività Gestione dominio.To create a domain rule, you must have a knowledge base and a domain opened in the Domain Management activity.

SicurezzaSecurity

AutorizzazioniPermissions

È necessario disporre del ruolo dqs_kb_editor o dqs_administrator nel database DQS_MAIN per creare una regola di dominio.You must have the dqs_kb_editor or the dqs_administrator role on the DQS_MAIN database to create a domain rule.

Compilare le regole di dominioBuild Domain Rules

  1. Avviare client Data Quality.Start Data Quality Client. Per informazioni su questa operazione, vedereFor information about doing so, see Eseguire l'applicazione Data Quality Client. Run the Data Quality Client Application.

  2. Nella schermata iniziale del Client Data QualityData Quality Client aprire o creare una Knowledge Base.In the Client Data QualityData Quality Client home screen, open or create a knowledge base. Selezionare Gestione dominio come attività, quindi fare clic su Apri o Crea.Select Domain Management as the activity, and then click Open or Create. Per ulteriori informazioni, vedere Creare una Knowledge Base o Apertura di una Knowledge Base.For more information, see Create a Knowledge Base or Open a Knowledge Base.

    Nota

    La gestione del dominio viene eseguita in una pagina del client Data Quality Services che contiene cinque schede per le operazioni di gestione del dominio separate.Domain management is performed in a page of the Data Quality Service client that contains five tabs for separate domain management operations. Non si tratta di un processo basato su procedure guidate. Ciascuna operazione di gestione può essere eseguita separatamente.It is not a wizard-driven process; any management operation can be performed separately.

  3. Dall'elenco di domini nella pagina Gestione dominio selezionare il dominio per il quale si desidera creare una regola di dominio o creare un nuovo dominio.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. Se è necessario creare un nuovo dominio, vedere Crea un dominio.If you have to create a new domain, see Create a Domain.

  4. Fare clic sulla scheda Regole di dominio .Click the Domain Rules tab.

  5. Fare clic su Aggiungi una nuova regola di dominio, quindi immettere un nome univoco nella Knowledge Base e una descrizione per la regola.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. Selezionare Attiva per specificare che la regola verrà eseguita (valore predefinito) o deselezionare per impedire l'esecuzione della regola.Select Active to specify that the rule will be run (the default), or deselect to prevent the rule from running.

  7. Nel riquadro Compila una regola selezionare una condizione dall'elenco a discesa nella casella delle clausole della regola.In the Build a Rule pane, select a condition from the drop-down list in the rule’s clause box.

  8. Se la condizione richiede un valore, immettere il valore nella casella di testo associata.If the condition requires a value, enter the value in the associated text box.

  9. Fare clic sull'icona Aggiunge una nuova condizione alla clausola selezionata se è necessaria un'altra clausola.Click Adds a new condition to the selected clause icon if another clause is required.

  10. Selezionare AND o OR come operatore.Select AND or OR as the operator.

  11. Selezionare una condizione dall'elenco a discesa, quindi immettere un valore per l'operando, se necessario.Select a condition from the drop-down list and then enter a value for the operand, if required.

  12. Per modificare l'ordine in cui le clausole vengono visualizzate nell'elenco, selezionare una clausola, quindi fare clic sulla freccia in su o in giù.To change the order in which the clauses appear in the list, select a clause and then click the up or down arrow. Verrà modificato l'ordine in cui vengono eseguite le clausole con conseguente effetto sui risultati.This will change the order in which they are executed, which could affect the results.

  13. Aggiungere ulteriori clausole in base alle esigenze.Add more clauses as required. Se necessario, eliminare una clausola selezionandola e facendo quindi clic su Elimina la clausola selezionata.If needed, delete a clause by selecting it and then clicking Deletes the selected clause.

  14. Ripetere le operazioni per aggiungere nuove regole in base alle necessità.Repeat to add new rules, as necessary.

  15. Per valutare l'impatto che una regola di convalida avrebbe sui valori se venisse implementata, fare clic sull'icona Analizza l'impatto della regola di dominio sui valori del dominio .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. Continuare con la procedura relativa al test descritta di seguito.Proceed to the test procedure below.

Testare le regole di dominioTest Domain Rules

  1. Con una regola selezionata fare clic sull'icona Esegui la regola del dominio selezionato sui dati di test .With one rule selected, click the Run the selected domain rule on test data icon.

  2. Nella finestra di dialogo Esegui la regola di dominio fare clic sull'icona Aggiunge un nuovo termine di test per la regola di dominio .In the Test Domain Rule dialog box, click the Add a new testing term for the domain rule icon. Immettere un valore da testare.Enter a value to test. Immettere gli altri valori in base alle esigenze.Enter other values as required. Selezionare un valore e fare clic sull'icona Rimuovi il termine di test selezionato , se necessario.Select a value and click the Remove the selected testing term icon if required.

  3. Fare clic sull'icona Testa la regola di dominio su tutti i termini .Click the Test the domain rule on all the terms icon.

  4. Controllare la validità di ogni termine.Check the validity of each term. Un spegno di spunta significa "corretto", una X significa "errore" e un triangolo significa "non valido".A check means “correct”, a cross means “error”, and a triangle means “invalid”.

  5. Al termine, fare clic su Chiudi nella finestra di dialogo del test.Click Close when done in the testing dialog box.

  6. Ripetere le operazioni per altre regole in base alle necessità.Repeat for other rules, as necessary.

  7. Continuare con la procedura relativa all'applicazione descritta di seguito.Proceed to the application procedure below.

Applicare le regole di dominioApply Domain Rules

  1. Fare clic su Applica tutte le regole per applicare le regole ai valori nel dominio.Click Apply All Rules to apply the rules to the values in the domain. Quando si fa clic su Applica tutte le regole, viene visualizzata una finestra popup che indica il numero di valori in determinati stati che sarà interessato dalla regola.Apply you click Apply All Rules, a popup will be displayed indicating how many values in certain states will be affected by the rule. Fare clic su se si desidera comunque applicare la regola oppure su No se non si desidera applicarla.Click Yes if you still want to apply the rule, or No if not. Se si sceglie , fare clic su OK per chiudere la finestra popup dei risultati.If you click Yes, click OK to close the results popup.

    Nota

    Quando si crea o si modifica una regola, non è necessario salvare le modifiche.When you create or change a rule, you do not need to save the changes. Tuttavia, è necessario applicare la regola per rendere effettive le modifiche.However, you must apply the rule for the changes to take effect.

  2. Fare clic su Ignora tutte le modifiche per rimuovere tutte le modifiche apportate alle regole di dominio ripristinando le regole applicate in precedenza, in modo che tutte le modifiche apportate dopo l'ultima applicazione delle regole non vengano più applicate.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. La validità di ogni valore nel dominio verrà aggiornata in base alle regole applicate in precedenza e non in base alle modifiche eliminate.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. Fare clic su Fine per completare l'attività di gestione del dominio, come descritto in End the Domain Management Activity.Click Finish to complete the domain management activity, as described in End the Domain Management Activity.

Completamento: fasi successive alla creazione di una regola di dominioFollow Up: After Creating a Domain Rule

Dopo avere creato una regola di dominio, è possibile eseguire ulteriori attività di gestione del dominio, quali l'individuazione delle informazioni per aggiungere informazioni o l'aggiunta di criteri di corrispondenza al dominio.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. Per altre informazioni, vedere Eseguire l'individuazione delle informazioni, Gestione di un dominio o Creare criteri di corrispondenza.For more information, see Perform Knowledge Discovery, Managing a Domain, or Create a Matching Policy.

Condizioni delle regole di dominioDomain Rule Conditions

Nella tabella seguente vengono descritte le condizioni che è possibile applicare nella regola di dominio e viene fornito un esempio per illustrare la modalità di applicazione delle condizioni.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.

Quando viene applicata una regola di dominio e un valore del dominio non supera la regola, il valore viene definito Non validi.When a domain rule is applied and a domain value fails the rule, the value is designated Invalid. Un valore definito Non validi verrà modificato in Corretti se la regola che fa sì che il valore non sia valido viene eliminata o disattivata oppure se la regola viene modificata affinché il valore superi la regola.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. Se un valore viene definito Non validi manualmente (nella scheda Valori di dominio dell'attività di gestione del dominio) e la regola che il valore non supera viene eliminata, disattivata o modificata, il valore rimarrà Non validi in base alla designazione manuale.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.

Una regola di dominio con una condizione definitiva applicherà la logica delle regole ai sinonimi del valore nella condizione o nelle condizioni, oltre ai valori stessi.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. Le condizioni definitive sono: Il valore è uguale a, Il valore è diverso da, Il valore è in o Il valore non è in.The definitive conditions are Value is equal to, Value is not equal to, Value is in, or Value is not in. Si supponga ad esempio di disporre della regola di dominio seguente: "Per 'City', il valore è uguale a 'Los Angeles'".For example, suppose you have the following domain rule: “For ‘City’, Value is equal to ‘Los Angeles’”. Se 'Los Angeles e 'LA' sono sinonimi, entrambi saranno corretti.If ‘Los Angeles’ and ‘LA’ are synonyms, both will be correct. Se invece la regola non contiene una condizione definitiva, ad esempio "Per City, il valore termina con "s", "Los Angeles" risulta corretto, mentre il sinonimo "LA" rappresenta un errore.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.

Durante la creazione di una regola di dominio è possibile scegliere tra diverse alternative.You have alternatives to choose from in creating a domain rule. Ad esempio, per verificare se i valori iniziano con la lettera A, B o C, è possibile creare una regola semplice con una condizione complessa, ad esempio un'espressione regolare con i caratteri barra verticale, oppure è possibile creare una regola complessa che contiene diverse condizioni semplici.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. Un esempio della prima regola è "Il valore contiene l'espressione regolare (^A|^B|^C)".An example of the first rule is “Value contains regular expression (^A|^B|^C)”. Un esempio della seconda regola è "'Il valore inizia con A' OR 'Il valore inizia con B' OR 'Il valore inizia con C'".An example of the second rule is “’Value begins with A’ OR ‘Value begins with B’ OR ‘Value begins with C’”.

CondizioneCondition DescrizioneDescription EsempioExample
La lunghezza è uguale aLength is equal to Solo i valori costituiti dal numero di caratteri definito dall'operando saranno validi.Only values consisting of the number of characters designated by the operand will be valid. Operando di esempio: 3Example operand: 3

Valore valido: BB1Valid value: BB1

Valore non valido: AANot valid value: AA
La lunghezza è maggiore o uguale aLength is greater than or equal to Solo i valori costituiti dal numero di caratteri definito dall'operando o da un numero di caratteri maggiore saranno validi.Only values consisting of the number of characters designated by the operand, or a greater number of characters, will be valid. Operando di esempio: 3Example operand: 3

Valori validi: BB1, BBAAValid values: BB1, BBAA

Valore non valido: AANot valid value: AA
La lunghezza è minore o uguale aLength is less than or equal to Solo i valori costituiti dal numero di caratteri definito dall'operando o da un numero di caratteri minore saranno validi.Only values consisting of the number of characters designated by the operand, or a lesser number of characters, will be valid. Operando di esempio: 3Example operand: 3

Valori validi: BB1, AAValid values: BB1, AA

Valore non valido: BBAANot valid value: BBAA
Il valore è uguale aValue is equal to Solo i valori identici all'operando saranno validi.Only values that are identical to the operand will be valid. Operando di esempio: BB1Example operand: BB1

Valore valido: BB1Valid value: BB1

Valori non validi: BB, BB1#Not valid value: BB, BB1#
Il valore è diverso daValue is not equal to Solo i valori non identici all'operando saranno validi.Only values that are not identical to the operand will be valid. Operando di esempio: BB1Example operand: BB1

Valori validi: BB, BB1#Valid value: BB, BB1#

Valore non valido: BB1Not valid value: BB1
Il valore contieneValue contains Solo i valori in cui tutti i caratteri sono contenuti all'interno dell'operando, in qualsiasi ordine, saranno validi.Only values all of whose characters are contained within the operand, in any order, will be valid. Operando di esempio: A1Example operand: A1

Valori validi: A1, AA1Valid values: A1, AA1

Valori non validi: 1A, AANot valid value: 1A, AA
Il valore non contieneValue does not contain Solo i valori non contenuti all'interno dell'operando saranno validi.Only values that are not contained within the operand will be valid. Operando di esempio: A1Example operand: A1

Valori validi: 1A, AAValid values: 1A, AA

Valori non validi: A1, AA1Not valid values: A1, AA1
Il valore inizia conValue begins with Solo i valori che iniziano con i caratteri dell'operando saranno validi.Only values that begin with the characters in the operand will be valid. Operando di esempio: AAExample operand: AA

Valore valido: AA1Valid values: AA1

Valore non valido: 1AABNot valid values: 1AAB
Il valore termina conValue ends with Solo i valori che terminano con i caratteri dell'operando saranno validi.Only values that end with the characters in the operand will be valid. Operando di esempio: AAExample operand: AA

Valore valido: 1AAValid values: 1AA

Valore non valido: 1AABNot valid values: 1AAB
Il valore è numericoValue is numeric Solo i valori che contengono un tipo di dati numerico di SQL Server saranno validi,Only values that have a SQL Server numeric data type will be valid. ad esempio int, decimal, float, ecc.This includes int, decimal, float, etc. Operando di esempio: N/DExample operand: N/A

Valori validi: 1, 25, 345,1234Valid values: 1, 25, 345.1234

Valori non validi: 2b, bcdefNot valid values: 2b, bcdef
Il valore è data/oraValue is date/time Solo i valori che contengono un tipo di dati data/ora di SQL Server saranno validi,Only values that have a SQL Server date/time data type will be valid. ad esempio datetime, time, date, ecc.This includes datetime, time, date, etc. Operando di esempio: N/DExample operand: N/A

Valori validi: 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

Valori non validi: March 213, 2006Not valid values: March 213, 2006
Il valore è inValue is in Solo i valori presenti nel set dell'operando saranno validi.Only values that are in the set in the operand will be valid.

Per immettere i valori nel set, fare clic nella casella di testo dell'operando, immettere il primo valore, premere Invio, immettere il secondo valore, ripetere le operazioni per tutti i valori che si desidera immettere nel set, quindi fare di nuovo clic nella casella di testo dell'operando.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. In DQS verrà aggiunta una virgola tra i valori nel set.DQS will add a comma between the values in the set. Se si immette una singola stringa con virgole senza ritorno a capo, ad esempio "A1, B1", tale stringa verrà considerata come un singolo valore nel set.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.
Operando di esempio: [A1, B1]Example operand: [A1, B1]

Valori validi: A1, B1Valid values: A1, B1

Valori non validi: AA, 11Not valid values: AA, 11
Il valore non è inValue is not in Solo i valori non presenti nel set dell'operando saranno validi.Only values that are not in the set in the operand will be valid. Operando di esempio: [A1, B1]Example operand: [A1, B1]

Valori validi: AA, 11Valid values: AA, 11

Valori non validi: A1, B1Not valid values: A1, B1
Il valore corrisponde al modelloValue matches pattern Solo i valori che corrispondono al modello di caratteri, cifre o caratteri speciali dell'operando saranno validi.Only values that match the pattern of characters, digits, or special characters in the operand will be valid.

Qualsiasi lettera (A…Z) può essere utilizzata come modello per qualsiasi lettera, senza distinzione tra maiuscole e minuscole.Any letter (A…Z) can be used as a pattern for any letter; case insensitive. Qualsiasi cifra (0…9) può essere utilizzata come modello per qualsiasi cifra.Any digit (0…9) can be used as a pattern for any digit. Qualsiasi carattere speciale, tranne lettere o cifre, può essere utilizzato come modello per se stesso.Any special character, except a letter or a digit, can be used as a pattern for itself. Le parentesi quadre, [], definiscono la corrispondenza facoltativa.Brackets, [], define optional matching.
Operando di esempio: AA:000 (modello di due caratteri qualsiasi seguiti da due punti (:), seguiti da tre cifre qualsiasi ).Example operand: AA:000 (a pattern of any two characters followed by a colon (:), which is again followed by any three digits.

Valori validi: AB:012, df:257Valid values: AB:012, df:257

Valori non validi: abc:123, FJ-369Not valid values: abc:123, FJ-369

Per ulteriori informazioni sulle regole basate su un modello in DQS e gli esempi, vedere Ricerche nelle regole di dominio DQS.For more information about the pattern rules in DQS and examples, see Pattern Matching in DQS Domain Rules.
Il valore non corrisponde al modelloValue does not match pattern Solo i valori che non corrispondono al modello di caratteri, cifre o caratteri speciali dell'operando saranno validi.Only values that do not match the pattern of characters, digits, or special characters in the operand will be valid. Operando di esempio: A1 (il valore non deve corrispondere a un modello formato da un carattere qualsiasi seguito da una cifra qualsiasi ).Example operand: A1 (value must not match a pattern of any one character followed by any one digit.)

Valori validi: AB1, A, A:5Valid values: AB1, A, A:5

Valori non validi: B7, c9Not valid values: B7, c9
Il valore contiene il modelloValue contains pattern Solo i valori che contengono il modello di caratteri, cifre o caratteri speciali dell'operando saranno validi.Only values that contain the pattern of characters, digits, or special characters in the operand will be valid. Operando di esempio: AA-12 (il valore contiene un modello di due caratteri qualsiasi seguiti da un trattino (-), seguito da due cifre qualsiasi ).Example operand: AA-12 (value contains a pattern of any two characters followed by a hyphen (-), which is again followed by any two digits.)

Valori validi: AAA-01, ab-975Valid values: AAA-01, ab-975

Valori non validi: A7, AA-6, C-45, aa;98Not valid value: A7, AA-6, C-45, aa;98
Il valore non contiene il modelloValue does not contain pattern Solo i valori che non contengono il modello di caratteri dell'operando saranno validi.Only values that do not contain the pattern of characters in the operand will be valid. Operando di esempio: AB-12 (il valore non deve contenere un modello di due caratteri qualsiasi seguiti da un trattino (-), seguito da due cifre qualsiasi ).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.)

Valori validi: A7, AA-6, C-45, aa;98Valid values: A7, AA-6, C-45, aa;98

Valori non validi: AAA-01, ab-975Not valid value: AAA-01, ab-975
Valore corrispondente a un'espressione regolareValue matches regular expression Solo i valori uguali all'espressione regolare dell'operando saranno considerati validi.Only values that equal the regular expression in the operand will be considered valid.

Non includere l'ancoraggio "^" o l'ancoraggio "$" all'espressione regolare perché in DQS tali ancoraggi vengono aggiunti automaticamente a una clausola che contiene la condizione Il valore è uguale all'espressione regolare.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. In alternativa, è possibile includere l'espressione regolare contenente gli ancoraggi "^" e "$" tra parentesi. Per ulteriori informazioni sulle espressioni regolari, vedere Elementi del linguaggio di espressioni regolari.(Alternatively, you can enclose the regular expression containing “^” and “$” anchors with parentheses.) For more information about regular expressions, see Regular Expression Language Elements.
Operando di esempio: [1-5] + (ogni carattere deve essere una cifra numerica compresa tra 1 e 5, ripetuta una o più volte)Example operand: [1-5]+ (each character must be a numeric digit from 1 to 5, occurring one or more times)

Valori validi: 123, 12345, 14352Valid values: 123, 12345, 14352

Valori non validi: 456, ABCNot valid values: 456, ABC
Valore non corrispondente a un'espressione regolareValue does not match a regular expression Solo i valori che non corrispondono all'espressione regolare dell'operando saranno considerati validi.Only values that do not match the regular expression in the operand will be considered valid. Operando di esempio: [1-5] + (la stringa non deve essere costituita solo da cifre numeriche comprese tra 1 e 5)Example operand: [1-5]+ (the string must not be only numeric digits from 1 to 5)

Valori validi: 456, ABCValid values: 456, ABC

Valori non validi: 123, 123456, 14352Not valid value: 123, 123456, 14352