Como criar consultas hierárquicas

  • Versão de lançamento: Yokohama
  • Atualizado 30 de jan. de 2025
  • 6 min. de leitura
  • Simplifique e crie consultas mais eficientes aproveitando relacionamentos hierárquicos no construtor de condições.

    Principais benefícios

    • Filtrar dados da tabela no Construtor de condições com base em uma hierarquia de registros.
    • Pesquise em uma hierarquia inteira com uma única condição.
    • Simplifique a criação de consultas com menos manutenção contínua.

    A criação de consultas no Construtor de condições pode se tornar trabalhosa quando você precisa pesquisar em cada nível de um relacionamento hierárquico usando várias condições OR. As consultas hierárquicas simplificam esse processo, permitindo que você especifique um único nó e pesquise na hierarquia a partir dele, economizando tempo e esforço.

    Definição de hierarquias com campos de referência

    Uma hierarquia entre registros relacionados na mesma tabela é baseada em um campo de referência. Você pode usar um campo de referência existente com relacionamentos primário-secundário ou criar um novo e preenchê-lo com valores para cada registro.

    Por exemplo, você pode definir uma hierarquia na tabela Local [cmn_location] usando o campo Primário. Cada local tem um primário, que é outro registro na tabela Local [cmn_location]. Por exemplo, os registros de local de Chicago e Springfield têm o valor sys_id do registro de local de Illinois no campo Primário. Os endereços de rua têm locais sys_id para as cidades às quais pertencem no campo primário.

    Muitas tabelas contêm campos autorreferenciais, indicando um relacionamento primário-secundário entre registros. No entanto, os caminhos hierárquicos que facilitam a pesquisa na hierarquia no Construtor de condições não são gerados pelo Now Platform até que você defina uma hierarquia para essa tabela na tabela Hierarquia de registros [sys_record_hierarchy].

    Depois de criar uma hierarquia de registro para a tabela Local [cmn_location], o Now Platform cria automaticamente o caminho da hierarquia para cada registro de local na tabela. Isso cria uma estrutura aninhada em que cada local pode ter sublocais, criando uma hierarquia semelhante a uma árvore. O Now Platform atualiza automaticamente esses caminhos quando registros são adicionados, alterados ou removidos.

    Depois que a hierarquia é definida e cada registro é atualizado com informações de caminho hierárquico pelo Now Platform, você pode usar o construtor de condições para criar consultas direcionadas. Por exemplo, você pode especificar um ponto de partida na hierarquia de local e consultar a hierarquia para recuperar todos os ativos associados a locais em toda essa parte da hierarquia.

    Visão geral da criação de consultas

    1. Identifique uma tabela que contém registros primário-secundários que você deseja usar para criar consultas hierárquicas. Por exemplo, para criar consultas com base no local de um solicitante ou de um ativo, você pode definir uma hierarquia de registro com base na tabela Local [cmn_location].
    2. Determine qual campo de referência na tabela define os relacionamentos entre os registros. Por exemplo, o campo Primário na tabela Local [cmn_location] descreve qual local pertence a outro local.
    3. Crie uma hierarquia na tabela Hierarquias de registro [sys_record_hierarchy] e especifique a tabela e o campo de referência que você deseja usar. O Now Platform adiciona automaticamente informações de caminho hierárquico a cada registro na tabela.
    4. Crie consultas hierárquicas no Construtor de condições selecionando a hierarquia que você criou. Use operadores para pesquisar na hierarquia.

    Casos de uso

    Você pode definir uma hierarquia de registros usando um campo de referência com relacionamentos com registros na mesma tabela. As tabelas Local [cmn_location], Usuários [sys_user] e Departamento [cmn_department] contêm campos de referência com relacionamentos primário-secundário por padrão. Você também pode criar um campo de referência em uma tabela diferente e preenchê-lo com valores para cada registro.

    Hierarquia do local
    Pesquise registros de acordo com o local criando uma hierarquia de registros chamada Hierarquia primária com base no campo de referência primário na tabela Local [cmn_location].

    Depois de criar a hierarquia de registro, cada registro de local é atualizado com um caminho hierárquico, permitindo que você crie consultas no Construtor de condições com base na hierarquia de local. Como os registros de incidentes têm um campo de referência de local, você pode pesquisar incidentes com base no local de um solicitante.

    • Encontre todos os incidentes de chamadores baseados em Illinois usando uma consulta como:

      [Local] [está na hierarquia] [Hierarquia primária] a partir de [Illinois], que está [Incluído]

      Esta consulta retorna incidentes em que o local do solicitante é Illinois, qualquer cidade de Illinois ou um endereço em qualquer cidade de Illinois.

    • Encontre incidentes para cidades e endereços em Ilhéus, mas não incidentes em que o local do solicitante seja simplesmente Ilhóus usando uma consulta como:

      [Local] [está na hierarquia] [Hierarquia primária] a partir de [Illinois], que está [excluído]

    • Encontre todos os incidentes com base em sua localização como o usuário conectado usando um filtro dinâmico em uma consulta como:

      [Local] [está na hierarquia (dinâmico)] [Hierarquia primária] começando em [Meu local], que está [incluído]

    Hierarquia da organização
    Pesquise registros em toda a cadeia de gestão em sua organização criando uma hierarquia de registros chamada Hierarquia da organização com base no campo de referência do gerente na tabela Usuários [sys_user].

    Depois de criar a hierarquia de registros, cada registro de usuário é atualizado com um caminho hierárquico, permitindo que você crie consultas no construtor de condições com base na hierarquia de gestão. Consultar qualquer tabela e selecionar um campo de referência que aponte para a tabela Usuários [sys_user] permite pesquisar na cadeia de gerenciamento.

    • Encontre todos os incidentes atribuídos a usuários que se reportam a Brod Richman usando uma consulta como:

      [Atribuído a] [está na hierarquia] [Hierarquia da organização] a partir de [Bud Richman], que está [Incluído]

      Neste exemplo, a pesquisa na hierarquia retorna incidentes atribuídos a Brod Richman, incluindo incidentes atribuídos a usuários que se reportam a Bud e seus subordinados diretos e assim por diante.

    • Encontre todos os incidentes atribuídos a você e a usuários em sua própria organização usando uma consulta dinâmica como:

      [Atribuído a] [está na hierarquia (dinâmico)] [Hierarquia da organização] a partir de [Me], que está [incluído]

    • Exiba a própria cadeia de gestão filtrando diretamente na tabela Usuários [sys_user] usando uma consulta como:

      [Gerente] [está na hierarquia] [Hierarquia da organização] a partir de [Bud Richman], que está [incluído]

    • Exiba os usuários subordinados a você filtrando diretamente na tabela Usuários [sys_user] usando uma consulta dinâmica como:

      [Gerente] [está na hierarquia (dinâmico)] [hierarquia da organização] a partir de [eu], que está [incluído]

    Hierarquia de departamento
    Pesquise ativos associados a departamentos em sua empresa criando uma hierarquia de registro chamada Hierarquia de departamento com base no campo de referência primário na tabela Departamento [cmn_department].

    Depois de criar a hierarquia de registros, cada registro de departamento é atualizado com um caminho hierárquico, permitindo que você crie consultas no construtor de condições com base na hierarquia do departamento. Como os registros de ativos têm um campo de referência Departamento que aponta para o campo Departamento na tabela Ativos [sys_user], você pode consultar ativos que pertencem a um departamento específico.

    • Encontre todos os ativos que pertencem ao departamento de TI usando uma consulta como:

      [Departamento] [está na hierarquia] [Hierarquia do departamento] começando em [IT] que está [Incluído]

      Neste exemplo, pesquisar a hierarquia retorna ativos associados ao departamento de TI, incluindo ativos associados a departamentos que fazem parte do departamento de TI e assim por diante.

    • Encontre todos os departamentos no departamento de TI filtrando diretamente na tabela Departamentos [cmn_department] usando uma consulta como:

      [Primário] [está na hierarquia] [Hierarquia do departamento] a partir de [IT] que é [Incluído]