Atualizando registros usando aglutinação

  • Versão de lançamento: Zurich
  • Atualizado 31 de jul. de 2025
  • 5 min. de leitura
  • A opção aglutinar permite atualizar registros de tabela de destino existentes ao transformar dados de importação.

    A opção aglutinar em um mapa de campo permite especificar se o foi selecionado Campo de destino deve ser usado para aglutinar quando os registros do conjunto de importação são transformados. Se o mapa de campo Aglutinar quando a linha do conjunto de importação é transformada, a instância verifica se há um registro existente na tabela de destino que tenha o mesmo valor em Campo de destino como a linha do conjunto de importação Campo de origem . Para obter instruções passo a passo, consulte Crie um mapa de campo.

    Se um registro existente com um valor correspondente na tabela de destino for encontrado, esse registro será atualizado. Se nenhum registro correspondente for encontrado, um novo registro será criado na tabela de destino.
    Nota:
    Escolha campos na tabela de destino para aglutinar somente se esses campos tiverem valores exclusivos. Se mais de um registro na tabela de destino corresponder às opções de aglutinação especificadas, somente o primeiro registro correspondente na tabela de destino será atualizado.

    Aglutinar opções

    Existem várias configurações possíveis que você pode usar para aglutinar dados em conjuntos de importação.

    Não aglutinar

    Se nenhuma aglutinação for definida, todas as linhas importadas serão tratadas como novos registros. Nenhum registro existente foi atualizado.

    Aglutina de campo único

    Você pode aglutinar em um único campo para atualizar um registro existente.

    Se existir um registro de tabela de destino com o mesmo valor no campo aglutinar que o registro da tabela de preparação, o registro da tabela de destino será atualizado usando os valores de registro do conjunto de importação.

    Aglutinar vários campos

    Você pode aglutinar vários campos para atualizar um registro existente.

    Se existir um registro de tabela de destino com os mesmos valores em todos os campos de aglutinação que o registro da tabela de preparação, o registro da tabela de destino será atualizado usando os valores de registro da tabela de preparação. Aglutinar valores de campo entre as tabelas de destino e preparação devem corresponder para aglutinar com vários campos.

    Aglutinar

    Você pode usar um script para determinar se uma linha da tabela de preparação deve se aglutinar em um registro de destino.

    A maioria dos scripts de aglutinação condicional é definida no Script de origem campo de um mapa de campo para o campo sys_id. Para atualizar um registro de destino usando os valores de registro da tabela de preparação, o script deve retornar o sys_id do registro da tabela de destino.

    Scripts condicionais de exemplo aglutinar

    Revise exemplos de scripts condicionais de aglutinação.

    Atualizações somente

    Para atualizar somente registros em que uma correspondência é encontrada e ignorar registros em que uma correspondência não foi encontrada, especifique um campo aglutinar e adicione o script a seguir como um Antes script para o mapa de transformação.

    if (action == 'insert') 
      ignore = true;

    Aglutinar usando referência com pontos

    Você pode usar campos com referência com pontos em um script de aglutinação condicional, como para corresponder ao endereço de e-mail de um usuário ao importar dados do incidente.

    Neste exemplo, este script é definido em Script de origem De um mapa de campo para o campo sys_id da tabela de destino do incidente.

    var gr = new GlideRecord('incident');
    gr.addQuery('caller_id.email', source.u_email); //check if the incident caller's email matches the import row email value
    gr.query();
    
    if(gr.next())
    {
        answer = gr.sys_id; //if a match exists, return the sys_id of the matching Incident record
    }
    else
    {
        answer= -1;
    }

    Aglutinar com uma condição OU

    Você pode usar um script de aglutinação condicional para corresponder aos registros de origem e de destino com base em vários valores de campo. Ao contrário da aglutinação de vários campos, em que todos os campos de aglutinação devem corresponder, você pode especificar um script para exigir que apenas um dos campos corresponda.

    Neste exemplo, este script é definido em Script de origem De um mapa de campo para o campo sys_id da tabela de destino do usuário.

    var gr = new GlideRecord('sys_user');
    var qc = gr.addQuery('email', source.u_email); //first check if the user's email matches
    qc.addOrCondition('user_name', source.u_name); //alternatively, check if the username matches
    gr.query();
    
    if(gr.next()) 
    {
        answer = gr.sys_id; //if a match exists, return the sys_id of the matching User record
    }
    else 
    {
        answer = -1;
    }

    Que diferencia maiúsculas de minúsculas aglutina valores de campos

    Você pode controlar se um conjunto de importação se aglutará em valores correspondentes com casos diferentes.

    O mapa de campo Aglutinar distinção entre maiúsculas e minúsculas o campo permite aglutinar valores de campo por distinção entre maiúsculas e minúsculas.

    Por padrão, os campos marcados como Aglutinar no mapa de campo são usados em uma pesquisa sem distinção entre maiúsculas e minúsculas para registros existentes. . Aglutinar distinção entre maiúsculas e minúsculas se a caixa de seleção estiver marcada, a instância tentará corresponder aos valores do campo aglutinar por caso. O registro da tabela de destino será atualizado somente se o valor no registro de destino e no registro de preparação do conjunto de importação tiverem o mesmo valor e caso. Caso contrário, um novo registro será criado.

    Aglutinar em campos vazios

    Você pode controlar se um conjunto de importação aglutinará em campos sem valor.

    O mapa de campo Aglutinar campos vazios o campo permite aglutinar campos sem valor.

    Por padrão, os campos marcados como Aglutinar no mapa de campo, faça com que o conjunto de importação verifique se há um registro de destino com um valor de campo que corresponda ao valor do registro de preparação do conjunto de importação. Quando Aglutinar campos vazios selecionado para esse mapa de campo, um valor vazio no registro de destino e no registro de preparação do conjunto de importação conta como uma correspondência para fins de aglutinação.

    Por exemplo, o Mapa de transformação do usuário aglutina no campo de e-mail. Com Aglutinar campos vazios opção selecionada, um registro de origem que contém um endereço de e-mail vazio aglutina em um registro de destino que contém um endereço de e-mail vazio.