Saiba como utilizar pacotes pré-desenvolvidos das regras de qualidade de dados do IBM® InfoSphere® Information Analyzer. Mostraremos como entender o conteúdo disponível, como usar essas informações para abordar condições de qualidade de dados comuns e como então importá-las para o ambiente do Information Analyzer para acelerar o desenvolvimento e a avaliação de regras.
Com o IBM InfoSphere Information Analyzer, é possível criar regras de qualidade de dados para monitorar automaticamente potenciais problemas de qualidade com relação a exigências de negócio definidas ou com base em problemas identificados durante a criação de perfil de dados. Essas regras podem levar tempo para serem desenvolvidas e testadas para a ampla variedade de dados em uma dada tabela, sistema ou ambiente.
O objetivo deste artigo é mostrar maneiras de acelerar esse desenvolvimento por meio da importação e do uso das definições de regra pré-desenvolvidas do Information Analyzer, que acompanham este artigo. Usando essas definições de regra de dados pré-desenvolvidas, deve ser possível acelerar o desenvolvimento de validação da qualidade dos dados na sua empresa.
Este artigo foca nas seguintes tarefas:
- Entender as definições de regra disponíveis em pacotes pré-desenvolvidos
- Usar definições de regra pré-desenvolvidas para tratar condições de qualidade de dados comuns
- Revisar a estrutura e o conteúdo do arquivo XML de definição de regra do Information Analyzer
- Importar as definições de regra de dados pré-desenvolvidas usando a API HTTP/CLI— um recurso introduzido no InfoSphere Information Analyzer V8.5 e aprimorado na V8.7
As regras de qualidade de dados pré-desenvolvidas que acompanham este artigo têm como objetivo:
- Reduzir o esforço de identificação de problemas de qualidade de dados em muitos domínios de informação comuns (chaves, identificadores nacionais, datas, códigos de país, endereços de email, etc.) e condições (verificações de completude, valores válidos, verificações de intervalo, totais agregados, equações, etc.)
- Servirem como modelos e exemplos para seu próprio design de regra adicional
- Serem utilizadas em tarefas do Information Analyzer (V8.5 ou V8.7), ou via Rule Stage disponível no Information Server V8.7.
Tratar condições de qualidade e domínios de dados comuns
Quase qualquer dado armazenado em um banco de dados ou arquivo ou sendo processado através de uma tarefa ou serviço da web tem alguma condição associada indicando se os dados cumprem as regras de validação estabelecidas. Essas condições podem ser tão simples quanto indicar que deve haver dados no campo (p. ex., que seja preenchido) ou quando há dados que se ajustam a algum formatou ou conjunto de valores especificados (p. ex., os valores são válidos). Ou as condições podem indicar que os dados devem corresponder aos registros em uma origem de referência especificada, como códigos postais, ou que uma equação em particular está calculada corretamente.
O intervalo de dados em potencial que pode ser avaliado e o número em potencial de condições de qualidade que podem ser definidas é substancial, e este artigo (e as definições de regra pré-desenvolvidas que o acompanham) não pode abordar todas as condições possíveis. Em vez disso, o foco está em fornecer um início rápido para um conjunto de domínios de dados e condições comumente encontradas em muitas origens de dados.
O Information Analyzer fornece um recurso para definir a lógica de regra para esses domínios de dados e condições separadamente de qualquer origem de dados física, de modo que a mesma lógica seja consistentemente aplicada de origem de dados a origem de dados (p. ex., uma definição de regra de dados pode ser aplicada e usada com muitas origens de dados). Junto com a capacidade de importar um conjunto de definições de regra em um formal XML definido, é possível tomar as definições de regra pré-desenvolvidas, carregá-las no Information Analyzer e começar a aplicá-las às suas próprias origens de dados.
As definições de regra seguem uma sintaxe básica em que uma variável, que poderia ser simplesmente uma palavra ou termo, é avaliada com base em uma condição ou tipo de verificação específica. A condição ou verificação específica pode ou não exigir algum valor de referência adicional, como outra variável, lista de valores, um formato especificado, etc. Além disso, várias condições podem ser conectadas com cláusulas IF, THEN, ANDou OR . Por exemplo, uma definição de regra muito simples poderia ser como segue: DateOfBirth IS_DATE.
Essa condição indica que uma variável chamada DateOfBirth deve ser um formato de data reconhecido.
Em um caso ligeiramente mais complexo, você poderia ter uma definição de regra como na Listagem 1.
Lista 1. Definição de regra de amostra
IF DateOfBirth EXISTS
AND DateOfBirth > datevalue('1900-01-01')
AND DateOfBirth < date()
THEN CustomerType = 'P'
|
Aqui, há uma instrução condicional que verifica se a variável DateOfBirth existe e está dentro de um intervalo definido, e apenas se essas condições forem cumpridas outra variável chamada CustomerType é testada para ver se é igual a um valor especificado.
Mais informações sobre a criação e o uso de definições de regra estão disponíveis no Guia do Usuário do Information Analyzer (consulte Definições de Regra de Dados).
Exemplos de domínio de dados básicos
O teste mais básico de definições de regra para a completude de um campo ou formato numérico ou alfabético padrão. As regras pré-desenvolvidas incluem exemplos dessas condições.
Figura 1. Completude geral e regras de tipo de dados
Por exemplo, a definição de regra AlphanumFieldExists
avalia a seguinte condição: Field1 EXISTS AND len(trim(Field1)) <> 0.
Esse exemplo inclui vários recursos básicos do Information Analyzer:
- O uso de um nome de variável geral — neste caso, simplesmente chamada Field1
- OBSERVAÇÃO: a variável pode ser conectada (ligada) a qualquer coluna ou campo de dados. Essa é a flexibilidade que permite que uma definição de regra forneça os fundamentos para muitas regras de dados executáveis reais.
- Teste quanto a diversas condições — A existência de dados e uma condição não igual (
<>)- OBSERVAÇÃO: Não há limite específico ao número de condições que podem ser incluídas em uma definição de regra, embora na prática seja útil manter as definições de regra compreensíveis. Ao criar definições de regra, procure blocos de construção básicos e aproveite o recurso de definição de regras do Information Analyzer para combinar condições, em vez de integrá-las todas em uma regra (consulte Técnicas da Análise de Regra de Dados no IBM Information Center].
- A inclusão de funções — Neste caso, len e trim
- OBSERVAÇÃO: Consulte o Guia do Usuário do Information Analyzer para o intervalo de funções disponíveis. As funções frequentemente podem ser usadas para tornar as distinções mais fáceis de resolver. Neste caso, as funções são usadas para verificar espaços em um campo. A função trim primeiro remove qualquer número de valores em branco (espaço) da esquerda ou da direita de qualquer texto real. A função len identifica a extensão de todos os caracteres alfanuméricos restantes com uma expectativa de que o campo tenha pelo menos um valor de caractere (ou seja, uma extensão diferente de 0).
Domínios de dados por classificação de dados
Em um nível básico, além dos exemplos genéricos acima, é possível classificar os dados de maneira geral em um conjunto de domínios de dados comuns, como visto nos detalhes de Column Analysis do Information Analyzer:
- Identificador— Um campo geralmente único que pode identificar dados relacionados (p. ex., ID do Cliente, Identificador Nacional)
- Indicador — Um campo, normalmente chamado de Flag, que tem uma condição binária (p. ex., Verdadeiro ou Falso, Sim ou Não, Feminino ou Masculino)
- Código— Um campo que tem um conjunto de valores distinto e definido, frequentemente abreviado (p. ex., Código de Estado, Status do Cliente)
- Data— Um campo que contém alguns valores de data
- Quantidade— Um campo que contém um valor numérico e não é classificado como um Identifier ou Code (p. ex., Preço, Quantidade, Valor de Ativo)
- Texto— Um campo que contém valores alfanuméricos, possivelmente texto longo, e não é classificado como Identifier ou Code (p. ex., Nome, Endereço, Descrição)
Além disso, há uma classificação de regra básica: Combinação de Valor Válido, em que um campo é de um certo valor, um segundo campo deve ser de um valor especificado.
Um subconjunto de definições de regra pré-desenvolvidas segue essas exigências de validação típicas e agrupamentos gerais. A Figura 2, por exemplo, destaca as definições de regra pré-desenvolvidas para os campos Code.
Figura 2. Definições de regra com base em classificação comum para códigos
Essas definições de regra com base em classificações de dados comuns normalmente avaliam formatos estruturais ou exigências básicas de validação (p. ex., um Identificador deve estar no intervalo ligado por um valor baixo e um valor alto, mas não especifica nenhum valor exato).
Se, por exemplo, você tiver um campo Code que permitir os valores alfanuméricos de 0-9, é possível que você deseje aplicar a definição de regra Code1DigitNumeric (consulte a Figura 2) para verificar se o campo contém um valor numérico de um único dígito. Essa definição de regra é como segue: Code MATCHES_FORMAT '9'.
Este exemplo mostra uma condição direta:
- O uso de uma variável geral chamada Code
- Um teste para uma condição de formato único:
MATCHES_FORMAT- OBSERVAÇÃO: o Information Analyzer possui duas verificações diferentes para formatação de dados: a
MATCHES_FORMAT, mostrada aqui, e aMATCHES_REGEX, que avalia com relação a um amplo intervalo de condições de expressão regular (muitos exemplos podem ser encontrado s através de uma procura simples no Google pelo termo "regular expression").
- OBSERVAÇÃO: o Information Analyzer possui duas verificações diferentes para formatação de dados: a
- A condição
MATCHES_FORMATrequer um valor de referência; nesse caso, espera um e apenas um, valor numérico (todos os dígitos numéricos são representados por um 9).
Como observado, há muitos domínios de dados em potencial que poderiam ser incorporados a um pacote de definições de regra de dados pré-desenvolvidas. Exemplos de domínios de dados comuns incluídos nos pacotes disponíveis incluem:
- Informações demográficas
- Idade
- Data de nascimento
- Data de falecimento
- Identificador nacional (p. ex., número de Previdência Social dos EUA, número SIN canadense, número de passaporte, Código Fiscal da Itália, etc.)
- Informações de endereço da Internet
- Endereço de email
- Endereço IP
- URL
- Informações de pedido/vendas/política
- Valor e quantidade do pedido
- Valor de vendas (p. ex., com ou sem imposto de vendas, com ou sem desconto)
- Data de vencimento
- Código do produto (p. ex., código ISBN, código UPC)
- Informações de emprego
- Data de início
- Valor pago
- Informações telefônicas (apenas América do Norte)
- Formato de telefone
- Código de área
Esses domínios comuns abrangem o intervalo de classes de dados, fornecendo casos mais específicos para seu uso, bem como condições de regra que podem ser mais complexas. Considere a seguinte definição de regra pré-desenvolvida SalesamtWDiscountPlusTaxValid, que avalia um campo de valor de vendas com base em várias variáveis, incluindo um desconto e um imposto:
(qtyValue1 * price) - (qtyValue1 * discount) + (((qtyValue1 * price) - (qtyValue1 * discount)) * salesTax) = totalAmount |
Esse exemplo destaca que as informações de origem (neste caso) ou as informações de referência usadas na validação podem integrar diversos critérios:
- Há cinco variáveis em uso nessa lógica:
- qtyValue1 — A quantidade de um item em um pedido ou venda
- price— O preço de um item em um pedido ou venda
- discount — Um desconto aplicado a um item em um pedido ou venda
- salesTax — O imposto sobre vendas aplicado a um pedido ou venda
- totalAmount — O valor total de um pedido ou venda
- OBSERVAÇÃO: Não há especificação na definição de regra em si quanto a se os dados estão de fato armazenados; essas variáveis podem todas ser contidas em um banco de dados ou arquivo ou podem vir de várias origens. Essas informações são exigidas apenas quando as variáveis são ligadas quando uma regra de dados executável é gerada.
- Um teste para uma condição única
=(é igual a)- OBSERVAÇÃO: essa regra também poderia ser escrita ao contrário, em que
totalAmounté a variável de origem (à esquerda), que é igual aos dados de referência (a equação colocada à direita).
- OBSERVAÇÃO: essa regra também poderia ser escrita ao contrário, em que
- Uma equação usando uma série de funções (os operadores numéricos padrão
+,-,*e/) e parênteses associados.
Domínios de dados padronizados (EUA)
Um pacote de regras pré-desenvolvido que acompanha tem como objetivo validar a saída de processos de padronização para nomes, endereços de rua e áreas postais dos EUA do IBM InfoSphere QualityStage®. O estágio padronizado de QualityStage toma dados recebidos, como nomes e endereços dos EUA que não são bem definidos, analisa esses dados e cria um formulário padronizado. Por exemplo, considere os dois endereços:
One hundred West Main Street apt 10 |
100 W Main St #10 |
É bem possível que ambos os endereços representem o mesmo local. Mas as diferenças na formatação e na descrição impediriam que essas informações fossem conectadas. A saída do estágio Standardize usando um conjunto de regras para endereços dos EUA para ambos produziria:
Street# Pre-direction Street St. Type Unit Unit# 100 W Main St Apt 10 100 W Main St Apt 10 |
Em geral, esses conjuntos de regras de padronização produzem uma saída bastante consistente, mas pode haver exceções, como novos dados, condições inesperadas, dados padrão ou de teste e formatos incomuns. As definições de regra pré-desenvolvidas têm como objetivo essas saídas, embora elas possam ser aplicadas a qualquer informação de nome, endereço ou área postal bem analisada. Como um exemplo, a definição de regra RuralRouteTypeIfExistsThenValidValues testa se um tipo de rota rural é válido.
IF RuralRouteType EXISTS
AND len(trim(RuralRouteType)) <> 0
THEN rtrim(RuralRouteType) IN_REFERENCE_LIST {'RR','RTE','HC','CONTRACT'}
|
Esse exemplo destaca vários critérios colocados em uma condição IF…THEN :
- A condição
IF…AND…é a mesma que no exemplo de completudeAlphanumFieldExistsmostrado acima. Quando expressada dentro de uma condiçãoIF, apenas registros em que o campo tem um valor serão avaliados com a condiçãoTHENsubsequente. Registros em que não há valor presente não serão avaliados e não gerarão nenhuma exceção. - A condição
THENé a base para atender ou não a definição de regra. Dentro da condição, a funçãortrimremove quaisquer espaços à direita deRuralRouteType, e o valor resultante é avaliado com relação a um conjunto de quatro valores válidos dados na lista. - OBSERVAÇÃO: Esse tipo de definições de regra
IF…THENfunciona bem como parte de um conjunto de regras maior. Em essência, descreve uma série de casos, cada um com um critério distinto. Definir as definições de regra separadamente e agrupá-las no conjunto de regras permite mais insight sobre quais registros têm problemas, bem como quantos registros violam regras específicas.
Usando as definições de regras pré-desenvolvidas
As definições de regra pré-desenvolvidas podem ser consideradas a partir de uma perspectiva de design e de uma perspectiva de implementação.
Aceleradores e modelos de tempo de design
De uma perspectiva de design, é possível usar as definições de regra pré-desenvolvidas no estado em que se encontram, copiar/modificar para atender suas necessidades ou usá-las como modelos de design. A seção subsequente sobre "Importação de definições de regras pré-desenvolvidas" descreve as etapas básicas para trazer os pacotes pré-desenvolvidos para o seu projeto.
O arquivo IARuleDefs-BaseSet1-General-v8x.xml inclui mais de 130 definições para as regras gerais e domínios comuns descritos acima. O arquivo IARuleDefs-BaseSet1-USStan-v8x.xml inclui quase 60 definições para a validação das informações de nome, endereço e área postal dos EUA padronizadas descritas acima.
Primeiro, uma vez importado para o seu projeto, você pode usar imediatamente essas definições de regra para testar ou avaliar suas origens de dados, gerando regras de dados como descrito no Guia do Usuário do Information Analyzer (consulte Gerando uma regra de dados a partir de uma definição de regra). Nessa capacidade, as definições de regra aceleram sua habilidade de começar uma avaliação de qualidade de dados detalhada.
Segundo, é possível usar essas definições de regra como modelos para customizar para suas próprias condições de dados específicas. Considere o caso de exemplo em que você tem um campo chamado Region que representa um segmento específico do mundo. Region é definido como um campo de texto que tem cinco caracteres de extensão, e os dois primeiros caracteres são alfabéticos e devem estar na seguinte lista: AM (África e Oriente Médio), AP (Ásia-Pacífico), EU (Europa), NA (América do Norte) e SA (América do Sul).
As definições de regra pré-desenvolvidas não incluem uma definição de regra exata. Entretanto, a definição de regra TextSubstrInRefList é descrita como o "Valor de Substring Text começando na posição 3 para extensão de 3 está na lista de referência". Isso é similar à definição de regra de que você precisa: avalie a subsequência para a inclusão em uma lista de referência.
Neste caso, você poderia fazer o seguinte:
- Efetuar login no Information Analyzer.
- Abrir o seu projeto e navegar para o menu do Develop e o item de menu Data Quality.
- Selecione a definição de regra desejada no seu projeto (
TextSubstrInRefList, nesse caso). - Selecione a tarefa Create a Copy , como na Figura 3.
Figura 3. Criar uma tarefa Copy
- Na caixa de diálogo Create a Copy, selecione OK.
- Isso criará uma réplica da regra original chamada (Copy_of_TextSubstrInRefList, nesse caso).
- Abra essa nova definição de regra para editar conforme o necessário:
- Altere o nome de definição de regra:
Region_SubstrInRefList. - Altere a função da subsequência de:
- Antes: substring(TextField, 3, 3)
- Depois: substring(Region, 1, 2)
- OBSERVAÇÃO: nesse caso, você deseja começar a função de subsequência no primeiro caractere para uma extensão de 2.
- Altere os dados da lista de referência de:
- Antes: {'AAA','AAB','BAA','CCC'}
- Depois: {'AM','AP','EU','NA','SA'}
- Altere o nome de definição de regra:
- Salve sua definição de regra atualizada.
Terceiro, é possível usar as definições de regra como modelos de referência — exemplos de funções ou condições específicas em uso que podem orientá-lo conforme você projeta e desenvolve regras únicas para o seu ambiente.
Abordagens de implementação para validação e monitoramento de qualidade
Como com todas as definições de regra, os pacotes pré-desenvolvidos podem ser:
- Usados para gerar regras de dados executáveis para validação de qualidade.
- Incluídos nas definições de conjunto de regras e conjuntos de regras executáveis para validar diversas condições juntas.
- Embora discutidos em mais detalhes no Guia de Metodologia e Boas Práticas do Information Analyzer (consulte os Recursos), os conjuntos de regras têm várias vantagens de implementação distintas:
- Eles fornecem suporte para avaliar dados com base em muitas condições de regra de dados. Com as definições de regra pré-desenvolvidas, é possível combinar tantas dessas quantas forem necessárias para avaliar todos os campos em um dado registro, incluindo diversas instâncias da mesma definição de regra, como
FieldExists. - Eles pontuam todas as regras testadas para cada registro no conjunto, de modo que os resultados possam ser visualizados em diversas dimensões. (Por exemplo, você pode ver todos os registros que falham em cada regra específica, consultar todas as regras em que um dado registro falhou ou observar interseções de conjuntos específicos de regras.)
- Eles otimizam a avaliação de regra para execução e processamento.
- Eles fornecem suporte para avaliar dados com base em muitas condições de regra de dados. Com as definições de regra pré-desenvolvidas, é possível combinar tantas dessas quantas forem necessárias para avaliar todos os campos em um dado registro, incluindo diversas instâncias da mesma definição de regra, como
- OBSERVAÇÃO: qualquer definição de conjunto de regras criado pode conter essas definições de regra pré-desenvolvidas e/ou suas próprias definições de regra em qualquer combinação.
- Embora discutidos em mais detalhes no Guia de Metodologia e Boas Práticas do Information Analyzer (consulte os Recursos), os conjuntos de regras têm várias vantagens de implementação distintas:
- Publicados em outros projetos para aproveitar — Quando você importa definições de regras pré-desenvolvidas, elas são importadas para o seu projeto. Para outros usuários que não são parte do seu projeto para usar, as definições de regra devem ser publicadas ou importadas para os próprios projetos.
- Exportados para implementação em outros ambientes do Information Analyzer— Por exemplo, se você estiver trabalhando em um ambiente de desenvolvimento com dados de teste para garantir que suas regras de dados funcionem corretamente, pode ser necessário exportar essas regras de dados para um ambiente de produção para monitoramento de qualidade de dados contínuo.
Com a introdução do Information Analyzer V8.7, definições de regra desenvolvidas no Information Analyzer podem ser adicionadas a um novo Rule Stage em uma tarefa do IBM InfoSphere DataStage ou QualityStage. Essa capacidade permite o uso de qualquer definição de regra publicada para validar dados que são parte dos processos de integração de dados ou limpeza de dados, incluindo aqueles adicionados através dos pacotes de definição de regra pré-desenvolvidos que acompanham.
Por exemplo, você recebe um arquivo diariamente de uma origem de terceiros externa. A qualidade da origem de dados frequentemente é baixa, resultando em problemas em outros sistemas da informação, incluindo o relatório de negócios. Esse arquivo diário atualmente executa através de uma tarefa de QualityStage para padronizar o arquivo e carga às origens de dados existentes. Você deseja testar os dados recebidos quanto à completude usando um conjunto de definições de regras e validar os resultados da saída de padronização de QualityStage.
A Figura 4 mostra a adição do novo Rule Stage, CustomerValidityCheck, nesta tarefa de exemplo. O Rule Stage poderia ter uma ou várias definições de regra, dependendo do número de campos de dados que precisam ser validados. As saídas desse estágio incluem dados válidos, dados inválidos e detalhes de violação específicos.
Figura 4. Validar dados em processo no DataStage ou QualityStage
Consulte Usando o Estágio Data Rule para mais detalhes sobre essa capacidade.
Aproveitando as definições de regra pré-desenvolvidas, é possível:
- Reduzir o esforço para tratar muitos domínios e condições de informações comuns.
- Fornecer modelos e publicar definições de regra para outros usuários trabalharem a partir deles.
- Acelerar o processo de avaliar, testar e implementar regras de dados no Information Analyzer.
- Implementar definições de regra para monitoramento contínuo de qualidade e validação de dados em andamento.
Entendendo os pacotes de definição de regra pré-desenvolvidos
As definições de regra pré-desenvolvidas do Information Analyzer que acompanham este artigo são importadas através da API do Information Analyzer.
As definições pré-desenvolvidas são estruturadas usando um esquema XML definido. Para detalhes completos da estrutura, consulte Elementos de Arquivo de Esquema para Definições de Regra.
Em um nível resumido, os arquivos de definição se parecem com a Listagem 2.
Lista 2. Esquema XML de definição de regra
<?xml version="1.0" encoding="UTF-8"?>
<iaapi:Project xmlns:iaapi=\
"http://www.ibm.com/investigate/api/iaapi" name="your-project">
"<!--IBM InfoSphere Information Analyzer Base Set rule definitions v1.0
For use with IBM InfoSphere Information Server v8.7
Copyright IBM 2011. All rights reserved.
Disclaimer:INTERNATIONAL BUSINESS MACHINES CORPORATION PROVIDES THIS
PUBLICATION 'AS IS' WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
Some states do not allow disclaimer of express or implied warranties
in certain transactions, therefore, this statement may not apply to you.-->"
<DataRuleDefinitions>
<DataRuleDefinition name='FieldExists' folder='General Rules / General'>
<description>Field Exists; null check only</description>
<expression>Field1 EXISTS</expression>
</DataRuleDefinition>
<DataRuleDefinition name='AlphanumFieldExists' folder='General Rules / Alphanumeric'>
<description>Alphanumeric Field Exists; null & \
blank value check</description>
<expression>Field1 EXISTS AND len(trim(Field1)) <> 0</expression>
</DataRuleDefinition>
<DataRuleDefinition name='AlphaFormatValid' folder='General Rules / Alphabetic'>
<description>Example Alphabetic Format; excludes null values</description>
<expression>IF Field1 EXISTS THEN Field1 MATCHES_FORMAT 'AAAA'</expression>
</DataRuleDefinition>
<DataRuleDefinition name='AlphanumFormatValid' folder='General Rules / Alphanumeric'>
<description>Example Alphanumeric Format 1; as with \
Vehicle plate #; excludes null values</description>
<expression>IF Field1 EXISTS THEN Field1 MATCHES_FORMAT '999AAA'</expression>
</DataRuleDefinition>
|
O conteúdo inclui:
- Um cabeçalho XML geral:
<?xml version="1.0" encoding="UTF-8"?>, que não deve ser alterado. - Um cabeçalho XML específico para o Information Analyzer:
<iaapi:Project xmlns:iaapi="http://www.ibm.com/investigate/api/iaapi" name="your-project">. Será preciso modificar your-project para qualquer nome que o projeto do Information Analyzer usar. - Os comentários do XML colocados entre
<!-- and --> - O início da seção de definições de regra:
<DataRuleDefinitions> - O bloco de conteúdo para cada definição de regra, incluindo:
- Nome da definição de regra
- Apenas para os arquivos V8.7, uma pasta
- A descrição de definição de regra
- A expressão (a lógica de regra)
<DataRuleDefinition name='FieldExists' folder='General Rules / General'> <description>Field Exists; null check only</description> <expression>Field1 EXISTS</expression> </DataRuleDefinition>
- Depois de todos os blocos de definição de regra, o fim da seção de definições de regra e o final do conteúdo XML:
</DataRuleDefinitions> </iaapi:Project>
Pacotes de definição de regras pré-desenvolvidos disponíveis
Há dois pacotes de definição de regra disponíveis (consulte Downloads). Um é para uso com o Information Analyzer V8.5, o outro é para uso com a V8.7. O conteúdo de definição de regra é o mesmo para ambos os pacotes. A única diferença é que a V8.7 inclui uma referência de pasta que adicionará a definição de regra a uma pasta específica durante a importação. Essa opção não está disponível durante a importação na V8.5.
Para o IBM InfoSphere Information Analyzer V8.5:
- IARuleDefs-BaseSet1-v85.zip
- Definições de regra de condição e domínio geral:
IARuleDefs-BaseSet1-General-v85.xml - Definições de regra de condição de validação da padronização dos EUA
IARuleDefs-BaseSet1-USStan-v85.xml
- Definições de regra de condição e domínio geral:
- OBSERVAÇÃO: Esse pacote pode ser usado no Information Analyzer V8.5 ou V8.7.
Para o IBM InfoSphere Information Analyzer V8.7:
- IARuleDefs-BaseSet1-v87.zip
- Definições de regra de condição e domínio geral:
IARuleDefs-BaseSet1-General-v87.xml - Definições de regra de condição de validação da padronização dos EUA
IARuleDefs-BaseSet1-USStan-v87.xml
- Definições de regra de condição e domínio geral:
- OBSERVAÇÃO: este pacote somente pode ser usado no Information Analyzer V8.7, uma vez que inclui opções de Folder que não estavam disponíveis anteriormente na API e CLI.
Será preciso:
- Escolha o pacote certo para a sua versão do Information Analyzer e faça o download dos anexos para este artigo.
- Salve o arquivo em um local no seu computador.
- Descompacte o pacote e extraia os dois arquivos XML para um local no seu computador.
Importando as definições de regra pré-desenvolvidas
Há duas opções para importar ou carregar as definições pré-desenvolvidas: uma Command-Line Interface (CLI) e uma API REST (HTTP), que é acessada usando um navegador.
Command-Line Interface (CLI)
- O comando é
IAAdmin. - Está disponível no cliente e no servidor do Information Analyzer.
- Vantagens:
- Nenhum complemento
POSTé necessário para o navegador. - Muitos técnicos gostam de utilitários de linha de comando.
- Nenhum complemento
- Desvantagens
- Embora relativamente breve, algumas pessoas consideram a sintaxe de linha de comando confusa.
- Alguns ambientes desativam os utilitários de linha de comando.
Interface da API REST (navegador)
- Ela usa um utilitário
HTTP POST. - Vantagens:
- GUI com base na web
- Desvantagens:
- Requer um complemento
POST(alguns ambientes não permitem complementos de navegador).
- Requer um complemento
Este artigo descreve ambos os métodos de importação. As etapas de importação subsequentes presumem que você:
- Efetuou o download, descompactou (extraiu) e salvou os arquivos de Definição de Regra XML para onde quer que o servidor ou o Cliente do Information Analyzer resida (pode ser um servidor remoto, uma Imagem de Cliente remota ou sua própria máquina).
- OBSERVAÇÃO: Essas instruções presumem que você efetuou o download na sua própria máquina e que ele será importado a partir do seu ambiente local.
- Abra cada arquivo XML que deseja usar com o Notepad (ou qualquer outro editor de arquivos básico).
- Altere o nome do projeto (listado como "your-project", como observado acima) para um da sua escolha, que já existe no seu ambiente do Information Analyzer ao qual você tem acesso.
- Observação: se ainda não houver um projeto do Information Analyzer, você (ou seu Administrador de Projeto do IA) precisará criar um
- OBSERVAÇÃO: Se você não alterar o nome do projeto no arquivo XML, um projeto chamado your-project será criado e todas as definições de regra irão para lá.
- Salve os arquivos XML.
Para realizar a importação das definições de regra do Information Analyzer via CLI:
- Abra um prompt de comando (DOS) no cliente. Por exemplo, no Windows® XP, é possível usar
Start > All Programs > Accessories > Command Prompt. - Navegue para C:\IBM\InformationServer\ASBNode\bin.
- Execute o seguinte comando:
IAAdmin -user xxxxx -password xxxxx -host your-server -port 9080-create -projectContent C:\Temp\IARuleDefs-BaseSet1-General -v87.xml
- Use as informações de configuração do Information Analyzer no comando acima relevante para o seu ambiente:
–user(seu ID do usuário do Information Analyzer)–password(sua senha do Information Analyzer)–host(seu servidor do Information Analyzer — combina com as suas informações de login)–port(normalmente 9080 — combina com as suas informações de login)- Depois de
–projectContent, inclui o local em que você salvou o arquivo XML. O exemplo mostra o arquivo salvo em C:\Temp\, mas o local e o nome do seu arquivo podem ser diferentes daqueles mostrados aqui. Usev85ouv87no nome do arquivo conforme adequado à sua versão instalada.
- Se você estiver importando os pacotes de definição de regra BaseSet1-General e BaseSet1-USStan, é preciso alterar o nome do arquivo e executar o comando uma segunda vez para a segunda importação.
- Você receberá um erro se executar o comando acima duas vezes com o mesmo nome do arquivo. O erro dirá a você que as regras já existem. Se isso acontecer, emita novamente o comando acima com
-updateem vez de-create. - Se você tentar importar os arquivos v87 para um Information Analyzer versão 8.5, você receberá uma mensagem de erro como a seguinte:
>The XML request passed as parameter could not be parsed for the following reason: Feature 'folder' not found. - O comando acima executará por cerca de 4 a 5 minutos.
Se a importação for bem-sucedida, é possível efetuar login no Information Analyzer, abrir o seu projeto (o mesmo especificado no arquivo XML na importação) e analisar as definições de regra importadas. Deve ser possível ver uma lista de definições de regra similar à Figura 5.
Figura 5. Definições de regra importadas
Importação do navegador da web (API REST)
O seguinte exemplo de importação do navegador usa o Firefox e o complemento Poster associado. Se você tiver um navegador diferente, precisará encontrar um utilitário que permita realizar uma função POST para importar as definições de regra do Information Analyzer pré-desenvolvidas com esse método.
Antes de realizar uma importação usando esse método, é preciso um utilitário do Firefox para permitir a função POST. Siga as seguintes etapas (elas podem variar dependendo da versão do seu navegador):
- Abra o Firefox e navegue para https://addons.mozilla.org/en-US/firefox/addon/poster/.
- Selecione a informação Add to Firefox.
- Selecione a informação Install Now quando solicitado.
- Feche e reinicie o Firefox.
- Depois de o Firefox reiniciar, habilite a barra Add-on com o seguinte (novamente, dependendo da versão)
- Firefox > Options > Add-on Bar ou
- Firefox > Tools > Add-ons
- Dependendo da versão, é possível ver o complemento como:
- Um P dourado no canto inferior direito do seu navegador
- Uma opção de menu sob Firefox > Tools > Poster
Para realizar a importação das definições de regra do Information Analyzer usando o navegador:
- Abra o Firefox e navegue para o complemento.
- Selecione o complemento Poster. Deve ser possível ver um formulário do navegador como mostrado na Figura 6.
Figura 6. Formulário Poster do Firefox
- Preencha o formulário:
URL:http://<yourInformationAnalyzerhost>\ :9080/InformationAnalyzer/create?projectContent
User: seu ID do usuário do Information Analyzer
Password: sua senha do Information Analyzer
Timeout: altere para 300
File: insira o nome do arquivo ou selecione o botão Browse para selecionar o arquivo XML do diretório adequado. Observe que o nome do seu arquivo será diferente daquele mostrado aqui. Use v85 ou v87 conforme adequado para a sua instalação.
POST: selecione isso para executar o processo de carregamento. - O POST pegará um bit (3-5 minutos), e você deverá ver uma mensagem indicando o status de
OK.
OBSERVAÇÃO: é possível que você receba uma resposta de tempo limite se o Timeout não tiver sido alterado. Isso simplesmente afeta a resposta ao cliente sobre status, mas não deve afetar a função post no servidor.
Se a importação tiver sido bem-sucedida, será possível efetuar login no Information Analyzer, abrir seu projeto (o mesmo especificado no arquivo XML na importação) e analisar as definições de regra importadas. Deve ser possível ver uma lista de definições de regra similar à Figura 5 acima.
Agora você está pronto para começar a usar as definições de regra do Information Analyzer pré-desenvolvidas.
Agora deve ser possível usar o conjunto pré-desenvolvido de definições de regra que acompanha este artigo nos seus projetos do IBM InfoSphere Information Analyzer.
Este artigo analisou especificamente como fazer as seguintes tarefas:
- Entender as definições de regra disponíveis nos pacotes pré-desenvolvidos que acompanham este artigo.
- Usar as definições de regra pré-desenvolvidas para tratar de condições de qualidade de dados comuns.
- Revisar a estrutura e o conteúdo do arquivo XML de definição de regra.
- Importar as definições de regra de dados pré-desenvolvidas usando a API HTTP/CLI para o Information Analyzer V8.5 ou V8.7.
Uma vez importadas, é possível usar as definições de regra para estabelecer regras de qualidade de dados e então testar e monitorar quanto a potenciais problemas de qualidade de dados. E, usando definições de regra pré-desenvolvidas, é possível reduzir o tempo necessário para estabelecer verificações de qualidade de dados para uma ampla variedade de dados em uma dada tabela, sistema ou ambientes.
Apêndice: nomes e descrições de definição de regra pré-desenvolvida
As definições de regra pré-desenvolvidas são fornecidas para uso com o IBM InfoSphere Information Server.
As seguintes definições de regra são incluídas no arquivo IARuleDefs-BaseSet1-General-v8x.xml.
Tablela 1. Definições de regra em IARuleDefs-BaseSet1-General-v8x.xml
| Nome da regra | Descrição breve da regra |
| FieldExists | O campo existe |
| AlphanumFieldExists | Campo alfanumérico existe |
| AlphaFormatValid | Formato alfabético de exemplo |
| AlphanumFormatValid | Formato alfabético de exemplo 1 |
| AlphanumFormatValid_2 | Formato alfabético de exemplo 2 |
| FieldIsNumeric | O campo é numérico |
| FieldExistsAndNumeric | O campo existe e é numérico |
| FieldExistsAndNumeric_2 | O campo existe e é numérico |
| FieldIsDate | O campo é um valor de data |
| FieldExistsAndDate | O campo existe e é um valor de data |
| FieldExistsAndDate_2 | O campo existe e é um valor de data |
| IndicatorY_NValid | O campo Indicator é 'Y' ou 'N' |
| IndicatorUpperCaseY_NValid | O campo Indicator é 'Y' ou 'N' em maiúscula ou minúscula |
| IndicatorT_FValid | O campo Indicator é 'T' ou 'F' |
| IndicatorUpperCaseT_FValid | O campo Indicator é 'T' ou 'F' maiúscula ou minúscula |
| IndicatorString0_1Valid | O campo Indicator é '1' ou '0' |
| IndicatorNum0_1Valid | O campo Indicator é numérico 1 ou 0 |
| Code1DigitUpperCase | O código é alfabético em maiúsculas de um único dígito |
| Code1DigitLowerCase | O código é alfabético em minúsculas de um único dígito |
| Code1DigitNumeric | O código é numérico de um único dígito |
| Code1DigitAlphanum | O código é alfanumérico de um único dígito, maiúsculas ou minúsculas |
| Code1DigitAlphabetic | O código é alfabético de um único dígito |
| -Code1DigitNumeric_2 | -Code é numérico de um único dígito |
| Code1DigitAlphanum_2 | O código e alfanumérico de um único dígito |
| CodeInRefMaster | O código está na origem de referência |
| CodeNotInDefaultValueList | O código não é todo de 9s |
| TextSubstrIsValueX | O valor do texto da subsequência começando na posição 3 para a extensão 1 é 'X' |
| TextSubstrInRefList | O valor de texto da subsequência começando na posição 3 para extensão 3 está na lista de referência |
| Date1NumLessThanDate2 | Data <= 2ª data |
| Date1StringLessThanDate2 | Data da cadeia de caractere <= 2º data da cadeia de caractere |
| Date1NumLessThanSysdate | Data <= Data do sistema; não uma data futura |
| Date1StringLessThanSysdate | Data de cadeia de caractere <= Data do sistema; não uma data futura |
| DateNumWithinLastYear | Data dentro de um ano da data atual |
| DateStringWithinLastYear | Data dentro de um ano da data atual |
| Date1NumWithin60DaysDate2 | Data dentro de 60 dias da 2ª data |
| Date1StringWithin60DaysDate2 | Data dentro de 60 dias da 2ª data |
| YearNumNotFuture | Ano <= Ano do sistema; não um ano futuro |
| YearStringNotFuture | Ano <= Ano do Sistema; não um ano futuro |
| YearNumIsCurrentYear | Ano = Ano do Sistema; é o mesmo que o ano da data do sistema |
| YearStringIsCurrentYear | Ano = Ano do Sistema; é o mesmo que o ano da data do sistema |
| IdentifierUnique | O identificador é único |
| CompoundIdentifierUnique | O identificador composto é único |
| Id1StXCharactersAlphabetic | 1º x caracteres do Identificador são alfa |
| IdLast4To5CharactersMatchId2 | Últimos 4-5 caracteres de um Identificador correspondem a um 2º identificador |
| IdOccursLtXTimes | O identificador ocorre <x vezes |
| IdInValidRange | Identificador no intervalo válido (único) |
| IdInValidMulti_Range | Identificador no intervalo válido (múltiplo/segmentado) |
| IdInRefMaster | Identificador na coluna de referência |
| QtyInValidRange | Quantidade no intervalo válido |
| QtyAdditionValid | O cálculo da quantidade é válido (adição) |
| QtyArithmeticValid | O cálculo da quantidade é válido (aritmético) |
| QtyMultiplyValid | O cálculo da quantidade é válido (multiplicação) |
| QtyDivisionValid | O cálculo da quantidade é válido (divisão) |
| QtyStringInValidRange | Quantidade no intervalo válido— valor de cadeia de caractere |
| QtyStringAdditionValid | O cálculo da quantidade é válido (adição)— valores de cadeia de caractere |
| QtyStringArithmeticValid | O cálculo da quantidade é válido (aritmético) — valores de cadeia de caractere |
| QtyStringMultiplyValid | O cálculo da quantidade é válido (multiplicação) — valores de cadeia de caractere |
| QtyStringDivisionValid | O cálculo da quantidade é válido (divisão) — valores de cadeia de caractere |
| IfFieldaIsXThenFieldbIsY | Se fieldA = 'X', então fieldB = 'Y' |
| IfFieldaIsXThenFieldbDoesNotExist | Se fieldA = 'X', então fieldB não deve existir |
| IfFieldaIsXThenFieldbInValidValueSet | Se fieldA = 'X', então fieldB está no conjunto de valores válido |
| IfFieldaInValidValueSetThenFieldbExists | Se fieldA está no conjunto de valores válido, então fieldB = 'X' |
| IfFieldaGtXThenFieldbIsY | Se fieldA > qtyValue, então fieldB = 'Y' |
| IfFieldaIsXThenFieldbGtQty | Se fieldA ='X', então fieldB > qtyValue |
| FieldaPlusConcatenatedKeyInRefMaster | fieldA existe e uma combinação de literais + fieldA em uma coluna de referência |
| AlphanumValidNoNonprintCharacters | Alfanumérico sem caracteres que não de impressão |
| FieldFreqLessThanPercentLimitForAllRecords | Frequência de campo inferior ao limite percentual para todos os registros |
| AgeInRangeNumeric | Idade: Idade >= 0 e < 125 |
| AdultInRangeNumeric | Adulto: Idade >= 18 e < 125 |
| ChildInRangeNumeric | Criança: Idade >= 0 e < 18 |
| AgeInRangeString | Idade nos dados da cadeia de caractere: Idade >= 0 e < 125 |
| AdultinrangeString | Adulto nos dados da cadeia de caractere: Idade >= 18 e < 125 |
| ChildinrangeString | Criança nos dados da cadeia de caractere: Idade >= 0 e < 18 |
| AgeinrangeCalc | Idade derivada: Idade >= 0 e < 125 |
| AdultinrangeCalc | Adulto na idade derivada: Idade >= 18 e < 125 |
| ChildinrangeCalc | Criança na idade derivada: Idade >= 0 e < 18 |
| ChildnotmarriedNumeric | Se criança (numérico), então estado civil = 'N' |
| ChildnotmarriedString | Se criança (cadeia de caractere), então estado civil = 'N' |
| ChildnotmarriedCalc | Se criança (derivado), então estado civil = 'N' |
| DobReasonableRangeNumeric | Data de nascimento >= 1900-01-01 e <= data do sistema; não uma data futura |
| DobReasonableRangeString | Data de nascimento >= 1900-01-01 e <= data do sistema; não uma data futura |
| IfDodExistsThenGtDobNumeric | A data de falecimento pode ficar em branco, mas se existir, deve ser >= data de nascimento, e não uma data futura |
| IfDodExistsThenGtDobString | A data de falecimento pode ficar em branco, mas se existir, deve ser >= data de nascimento, e não uma data futura |
| StartDtWeekday_Numeric | A data de início é um dia da semana |
| StartDtWeekday_String | A data de início é um dia da semana |
| MaturityDtExistsValidCondition | A data de vencimento existe quando a condição é válida |
| Ssn9DigitNumeric | SSN é um valor numérico de 9 dígitos |
| SsnMatchesNumericFormat | SSN combina apenas formato numérico |
| SsnMatchesHyphenFormat | SSN combina formato numérico com hífens |
| TinMatchesHyphenFormat | TIN combina formato numérico com hífens |
| SsnMatchesRegex | SSN combina com o formato regex |
| CanadaSinMatchesRegex | SIN combina com o formato regex |
| FranceInseeMatchesRegex | INSEE combina com o formato regex |
| ItalyFiscalCdMatchesRegex | FiscalCode combina com o formato regex |
| SpainNifMatchesRegex | NIF combina com o formato regex |
| UkNinoMatchesRegex | NINO combina com o formato regex |
| PassportNumMatchesRegex | PassportNumber combina com o formato regex |
| CreditCardMatchesRegex | CreditCard combina com o formato regex |
| PaidAmtWeeklyValid | O cálculo de Valor Pago é válido (multiplicação) |
| PaidAmtAnnualValid | O cálculo de Valor Pago é válido (multiplicação) |
| SalesamtBaseValid | O cálculo de quantidade * preço é válido (multiplicação) |
| SalesamtWTaxValid | O cálculo de quantidade * preço é válido (com salesTax) |
| SalesamtWDiscountValid | O cálculo de quantidade * preço é válido (com desconto) |
| SalesamtWDiscountPlusTaxValid | O cálculo de quantidade * preço é válido (com desconto antes de salesTax) |
| SalesamtPriceLookupValid | O cálculo de quantidade * preço é válido (multiplicação) - c/consulta |
| SalesamtWTaxLookupValid | O cálculo de quantidade * preço é válido (com salesTax) — com consulta |
| SalesamtWDiscountLookupValid | O cálculo de quantidade * preço é válido (com desconto) — com consulta |
| SalesamtWDiscount_TaxLookupValid | O cálculo de quantidade * preço é válido (com desconto antes de salesTax) — com consulta |
| ProductDescriptionValidCharacters | A descrição do produto tem caracteres válidos |
| EmailAddrValidFormat | O endereço de email tem um formato válido |
| NotesEmailAddrValidFormat | O estilo do endereço de email no Notes tem um formato válido |
| InternalEmailValidDomain | Email interno tem um domínio válido |
| HostNameValidFormat | Nome de host tem um formato válido |
| UrlValidFormat | URL tem um formato válido |
| IpaddressValidFormat | IPAddress tem um formato válido |
| ValidNAmerAreaCode | Código de área válido |
| ValidNAmerAreaCode_2 | Código de área válido |
| ValidUsPhoneFormat | Formato de telefone dos EUA válido |
| ValidIsbnFormat | Formato de ISBN válido |
| ValidUpc_AFormat | Formato de UPC-A válido |
| ValidCountryOfOperation | País de operação válido |
| ValidCountryOfIssue | País de emissão válido |
| SameTaxid_Name_1 | Mesmo Taxid, mesmo nome— v1 |
| SamePolicy_CodeValue | todos os registros que têm o mesmo número de política devem ter um código específico definido para o mesmo valor |
| SumLineItemsEqTotalQty | soma de todos os itens de linha = qtd. total para um pedido |
| SumLineItemsEqTotalValue | soma de todos os valores de item de linha = valor total para um pedido |
| MrktValueChgCurr_Prior | compara o valor de mercado do portfólio para o dia útil atual e o dia útil anterior quanto a variações no valor de mais de 10 por cento |
| CountryCodeExists | Código de País existe |
| IsoCountryCode2DigitAlphaIsValid | Alfa de 2 dígitos do código de país ISO é válido |
| IsoCountryCode3DigitAlphaIsValid | Alfa de 3 dígitos do código do país ISO é válido |
| IsoCountryCode3DigitNumericIsValid | Valor numérico de 3 dígitos do código do país ISO é válido ou atribuído pelo usuário (900 a 999) |
| IsoCountryCodeDidNotHaveStandardizationError | O código de país ISO não tem um erro de padronização |
As seguintes definições de regra estão incluídas no arquivo IARuleDefs-BaseSet1-USStan-v8x.xml.
Tablela 2. Definições de regra em IARuleDefs-BaseSet1-USStan-v8x.xml
| Nome da regra | Descrição breve da regra |
| NameExists | Nome existe |
| NameTypeIsIndividualOrOrganization | Tipo de nome é indivíduo ou organização |
| GenderCodeDerivedValid | Código de gênero derivado válido |
| NamePrefixIfExistsThenValid | Prefixo de nome se existe é válido |
| FirstNameValid | Nome válido |
| MiddleNameValid | Nome do meio válido |
| PrimaryNameValid | Nome principal válido |
| NameGenerationInRefList | Geracional de nome na lista de ref. |
| NameSuffixIfExistsThenValid | Sufixo de nome se existe, é válido |
| AdditionalNameIfExistsThenValid | Nome adicional se existe, é válido |
| UnhandledNamePatternExpectEmpty | Padrão de nome não manipulado |
| UnhandledNameDataExpectEmpty | Dados de nome não manipulados |
| ExceptionNameDataExpectEmpty | Dados de nome da exceção |
| FirstNameNoTestData | Nome — sem dados de teste |
| MiddleNameNoTestData | Nome do meio— sem dados de teste |
| PrimaryNameNoTestData | Nome principal— sem dados de teste |
| AdditionalNameNoTestData | Nome adicional - sem dados de teste |
| FirstNameNysiis | Nome NYSIIS existe se nome existe |
| PrimaryName1Nysiis | Nome principal 1 NYSIIS existe se nome principal 1 existe |
| PrimaryName2Nysiis | Nome principal 2 NYSIIS existe se nome principal 2 existe |
| MatchPrimaryWordsIs1 | Se palavras compatíveis principais forem 1, então apenas 1 palavra compatível principal |
| MatchPrimaryWordsIs2 | Se palavras principais compatíveis forem 2, então apenas 2 palavras compatíveis principais |
| MatchPrimaryWordsIs3 | Se palavras principais compatíveis forem 3, então apenas 3 palavras compatíveis principais |
| MatchPrimaryWordsIs4 | Se palavras principais compatíveis forem 4, então apenas 4 palavras compatíveis principais |
| MatchPrimaryWordsIsGe5 | Se o valor de palavras principais compatíveis for maior ou igual a 5, então todas as 5 palavras compatíveis principais |
| AddressExists | Endereço existe |
| AddressTypeIfExistsThenIsInReferenceList | Tipo de endereço, se existe, está na lista de referência |
| HouseNumberOrSuffixIfExistsThenValidCharacter | Número da casa ou sufixo, se existe, então são caracteres válidos |
| StreetDirectionalIfExistsThenValidValues | Direcional de rua, se existe, então é válido |
| StreetNameIfExistsThenValidCharacters | Nome de rua, se existe, é válido |
| BuildingNameIfExistsThenValidCharacters | Nome do prédio, se existe, é válido |
| BoxTypeIfExistsThenValidValues | Tipo de caixa, se existe, é válido |
| BoxTypeAndBoxValueCombo | Combinação de tipo de caixa e valor de caixa |
| FloorTypeIfExistsThenValidValues | Tipo de andar, se existe, é válido |
| FloorTypeAndFloorValueCombo | Combinação de tipo de andar e valor de andar |
| RuralRouteTypeIfExistsThenValidValues | Tipo de rota rural, se existe, é válido |
| RuralRouteTypeAndRuralRouteValueCombo | Combinação de tipo de rota rural e valor de rota |
| StreetTypeIfExistsThenValidCharacters | Tipo de rua, se existe, é válido |
| UnitAndMultiunitTypeIfExistsThenValidValue | Tipo de unidade e multiunidade, se existe, é válido |
| UnitTypeAndUnitValueOrMultiunitType-Multi-Uni | Tipo de unidade - Valor de unidade ou combinação de tipo de multiunidade - valor multiunidade |
| AdditionalAddressIfExistsThenValid | Endereço adicional, se existe, é válido |
| UnhandledAddressPattern | Padrão de endereço não manipulado |
| UnhandledAddressData | Dados de endereço não manipulados |
| ExceptionAddressData | Dados de endereço de exceção |
| StreetNameNoTestData | Nome de rua sem dados de teste |
| AdditionalAddressNoTestData | Endereço adicional sem dados de teste |
| CityExists | Cidade existe |
| StateCodeIsInReferenceSource | Código de estado está na origem de referência |
| ZipCodeIsInReferenceSource | CEP está na origem de referência |
| ZipPlus4CodeIsInReferenceSource | CEP+4 está na origem de referência |
| ZipPlus4CodeRemovingHyphensIsInReferenceSourc | CEP+4 removendo hífens está na origem de referência |
| CityStateAndZipCodeComboIsValid | Combinação de cidade, Estado e CEP é válida |
| ValidStateLengthForCountryCode | Extensão de estado válida para código de país EUA |
| UnhandledAreaPattern | Padrão de área não manipulado |
| UnhandledAreaData | Dados de área não manipulados |
| ExceptionAreaData | Dados de área de exceção |
| CityNoTestData | Cidade sem dados de teste |
| Descrição | Nome | Tamanho | Método de download |
|---|---|---|---|
| Rule-definition pkg 8.5 | IARuleDefs-BaseSet1-v85.zip | 11KB | HTTP |
| Rule-definition pkg 8.7 | IARuleDefs-BaseSet1-v87.zip | 10KB | HTTP |
Informações sobre métodos de download
Aprender
- Para informações básicas sobre a criar e usar definições de regra e regras de dados no Information Analyzer, consulte Criando Regras para Análise de Dados no Guia do Usuário do Information Analyzer.
- Para boas práticas com a funcionalidade de regras de dados, consulte Metodologia de Qualidade Dados no Guia de Metodologia e Boas Práticas do Information Analyzer.
- Para informações sobre regras de qualidade de dados em um contexto mais amplo, consulte a publicação da IBM Redbooks® "Metadata Management with IBM InfoSphere Information Server."
- De um ponto de vista de implementação de regra de dados, consulte o artigo do developerWorks "InfoSphere best practices: Using IBM InfoSphere Information Analyzer data quality rules in a productive environment."
- Para mais informações sobre o uso da funcionalidade de CLI e API no Information Analyzer, consulte Desenvolvendo Aplicativos com a API HTTP no Guia do Usuário do Information Analyzer.
- Para informações sobre o desempenho de regras, consulte o artigo do developerWorks "InfoSphere best practices: Understand the resource usage of data quality rules in IBM InfoSphere Information Analyzer."
- Na área InfoSphere do developerWorks, obtenha os recursos necessários para ampliar suas habilidades sobre uma variedade de produtos IBM InfoSphere.
- Saiba mais sobre Information Management na zona do
Information Management no developerWorks. Encontre documentação técnica, artigos de instruções, treinamento, downloads, informações de produtos, e muito mais.
- Fique por dentro doseventos técnicos e webcasts do developerWorks
.
- Siga o DeveloperWorks no Twitter.
Obter produtos e tecnologias
- Crie seu próximo projeto de desenvolvimento com o software de avaliação da IBM,
disponível para download diretamente no developerWorks.
- Agora é possível usar o DB2 de graça. Faça o download do
DB2 Express-C, uma versão gratuita do DB2 Express Edition para a comunidade que oferece os mesmos recursos de dados centrais que o DB2 Express Edition e fornece uma base sólida para desenvolver e implementar aplicativos.
Discutir
- Participar do fórum de discussão.
- Confira os
blogs do developerWorks
e participe da
comunidade do developerWorks.
