Avançar para a área de conteúdo

Ao clicar em Enviar, você concorda com os termos e condições do developerWorks.

Na primeira vez que você efetua sign in no developerWorks, um perfil é criado para você. Informações selecionadas do seu perfil developerWorks são exibidas ao público, mas você pode editá-las a qualquer momento. Seu primeiro nome, sobrenome (a menos que escolha ocultá-los), e seu nome de exibição acompanharão o conteúdo que postar.

Todas as informações enviadas são seguras.

  • Fechar [x]

Ao se conectar ao developerWorks pela primeira vez, é criado um perfil para você e é necessário selecionar um nome de exibição. O nome de exibição acompanhará o conteúdo que você postar no developerWorks.

Escolha um nome de exibição de 3 - 31 caracteres. Seu nome de exibição deve ser exclusivo na comunidade do developerWorks e não deve ser o seu endereço de email por motivo de privacidade.

Ao clicar em Enviar, você concorda com os termos e condições do developerWorks.

Todas as informações enviadas são seguras.

  • Fechar [x]

Usando definições de regra pré-desenvolvidas com o IBM InfoSphere Information Analyzer

Importando e usado validações de qualidade de dados predefinidas

Harald Smith, Software Architect, IBM
Author Photo: Harald Smith
Com quase 30 anos em desenvolvimento de software e TI, Harald deu ênfase ao design e à entrega de soluções e produtos de qualidade da informação e nos últimos 14 anos, incluindo métodos e boas práticas em práticas de qualidade da informação.

Resumo:  Um importante desafio em avaliar e monitorar a qualidade das informações é começar o processo de validar as principais exigências de negócio. Em vez de começar a partir do zero, este artigo inclui e mostra como usar definições de regra pré-desenvolvidas para começar.

Data:  05/Jan/2012
Nível:  Introdutório Também disponível em :   Inglês
Atividade:  934 visualizações
Comentários:  


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.

Visão Geral

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.

Definições de regra

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:

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 a MATCHES_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").
  • A condição MATCHES_FORMAT requer 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).

Domínios de dados comuns

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).
  • 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 completude AlphanumFieldExists mostrado acima. Quando expressada dentro de uma condição IF , apenas registros em que o campo tem um valor serão avaliados com a condição THEN subsequente. 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ção rtrim remove quaisquer espaços à direita de RuralRouteType, 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…THEN funciona 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:

  1. Efetuar login no Information Analyzer.
  2. Abrir o seu projeto e navegar para o menu do Develop e o item de menu Data Quality.
  3. Selecione a definição de regra desejada no seu projeto (TextSubstrInRefList, nesse caso).
  4. Selecione a tarefa Create a Copy , como na Figura 3.


    Figura 3. Criar uma tarefa Copy


  5. Na caixa de diálogo Create a Copy, selecione OK.
  6. Isso criará uma réplica da regra original chamada (Copy_of_TextSubstrInRefList, nesse caso).
  7. 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'}
  8. 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.
    • 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.
  • 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.

Estrutura de conteúdo

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)
    Exemplo:
    <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
  • 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
  • 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:

  1. Escolha o pacote certo para a sua versão do Information Analyzer e faça o download dos anexos para este artigo.
  2. Salve o arquivo em um local no seu computador.
  3. 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.
  • 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).

Este artigo descreve ambos os métodos de importação. As etapas de importação subsequentes presumem que você:

  1. 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.
  2. Abra cada arquivo XML que deseja usar com o Notepad (ou qualquer outro editor de arquivos básico).
  3. 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á.
  4. Salve os arquivos XML.

Command-Line Import (CLI)

Para realizar a importação das definições de regra do Information Analyzer via CLI:

  1. Abra um prompt de comando (DOS) no cliente. Por exemplo, no Windows® XP, é possível usar Start > All Programs > Accessories > Command Prompt.
  2. Navegue para C:\IBM\InformationServer\ASBNode\bin.
  3. Execute o seguinte comando:
    IAAdmin -user xxxxx -password xxxxx -host your-server 
    -port 9080-create -projectContent C:\Temp\IARuleDefs-BaseSet1-General
    -v87.xml

  4. 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. Use v85 ou v87 no nome do arquivo conforme adequado à sua versão instalada.
    OBSERVAÇÕES:
    • 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 -update em 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):

  1. Abra o Firefox e navegue para https://addons.mozilla.org/en-US/firefox/addon/poster/.
  2. Selecione a informação Add to Firefox.
  3. Selecione a informação Install Now quando solicitado.
  4. Feche e reinicie o Firefox.
  5. 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
  6. 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:

  1. Abra o Firefox e navegue para o complemento.
  2. 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


  3. 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.
  4. 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.


Conclusão

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



Downloads

DescriçãoNomeTamanhoMétodo de download
Rule-definition pkg 8.5IARuleDefs-BaseSet1-v85.zip11KBHTTP
Rule-definition pkg 8.7IARuleDefs-BaseSet1-v87.zip10KBHTTP

Informações sobre métodos de download


Recursos

Aprender

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

Sobre o autor

Author Photo: Harald Smith

Com quase 30 anos em desenvolvimento de software e TI, Harald deu ênfase ao design e à entrega de soluções e produtos de qualidade da informação e nos últimos 14 anos, incluindo métodos e boas práticas em práticas de qualidade da informação.

Ajuda para Relatar Abuso

Relatar abuso

Obrigado. Esta entrada foi sinalizada para atenção do moderador.


Ajuda para Relatar Abuso

Relatar abuso

Falha no envio do Relatório de abuso. Tente novamente mais tarde.


developerWorks: Registre-se


Precisa de um ID IBM?
Esqueceu seu ID IBM?


Esqueceu sua senha?
Alterar sua senha

Ao clicar em Enviar, você concorda com os termos de uso do developerWorks.

 


Na primeira vez que você efetua sign in no developerWorks, um perfil é criado para você. Informações selecionadas do seu perfil developerWorks são exibidas ao público, mas você pode editá-las a qualquer momento. Seu primeiro nome, sobrenome (a menos que escolha ocultá-los), e seu nome de exibição acompanharão o conteúdo que postar.

Selecione seu nome de exibição

Ao se conectar ao developerWorks pela primeira vez, é criado um perfil para você e é necessário selecionar um nome de exibição. O nome de exibição acompanhará o conteúdo que você postar no developerWorks.

Escolha um nome de exibição de 3 - 31 caracteres. Seu nome de exibição deve ser exclusivo na comunidade do developerWorks e não deve ser o seu endereço de email por motivo de privacidade.

(Deve possuir de 3 a 31 caracteres.)


Ao clicar em Enviar, você concorda com os termos de uso do developerWorks.

 


Classificar este artigo

Comentários

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=80
Zone=Information Management
ArticleID=783473
ArticleTitle=Usando definições de regra pré-desenvolvidas com o IBM InfoSphere Information Analyzer
publish-date=01052012

Conheça a IBM da sua cidade

Virtual Branch Office Brasil

A IBM está mais perto do que você imagina!


Tags

Help
Use o campo de pesquisa para encontrar todos os tipos de conteúdo no My developerWorks com essa tag.

Use a barra de rolagem para ver mais ou menos tags.

Tags populares mostra as principais tags para esta zona de conteúdo em particular (por exemplo, Java technology, Linux, WebSphere).

Minhas tags mostra suas tags para esta zona de conteúdo em particular (por exemplo, Java technology, Linux, WebSphere).

Use o campo de pesquisa para localizar todos os tipos de conteúdo no Meu developerWorks com essa tag. Tags populares mostra as tags principais para essa zona de conteúdo particular (por exemplo, tecnologia Java, Linux, WebSphere). My tags shows your tags for this particular content zone (for example, Java technology, Linux, WebSphere). Minhas tags mostra as suas tags para essa zona de conteúdo em particular (por exemplo, tecnologia Java, Linux, WebSphere).