Grupos de buckets para origens de detalhamento

  • Versão de lançamento: Washingtondc
  • Atualizado 1 de fev. de 2024
  • 4 min. de leitura
  • Grupos de buckets são usados para recategorizar dados para que possam ser usados como um detalhamento, por exemplo, agrupando um intervalo de valores em buckets discretos.

    Na arquitetura de dados, os grupos de buckets são definidos em registros de Grupo de buckets [pa_bucket_groups] e buckets em registros de Bucket [pa_buckets]. Cada registro de Bucket [pa_buckets] contém um campo de Grupo de Bucket que é uma referência a um registro de Grupo de Bucket [pa_bucket_groups].

    Para trabalhar com um grupo de buckets, crie uma origem de detalhamento que usa Bucket [pa_buckets] como a tabela de fatos e especifica o grupo de buckets em uma condição. Se um detalhamento criado nesta origem usar um mapeamento de detalhamento com um script, o detalhamento agrupará os valores que o script retorna em buckets. Se o mapeamento de detalhamento especificar um campo em vez de usar um script, o detalhamento agrupará os valores do campo mapeado em buckets.

    Agrupando valores de campo em buckets

    Você pode usar um grupo de buckets com um mapeamento de detalhamento que não usa um script para agrupar os valores de qualquer campo mapeado em buckets.

    O caso de uso pode ser tão simples quanto traduzir os valores verdadeiro e falso de um booliano em dois buckets com rótulos significativos.

    Classificando valores boolianos em buckets

    Uma instalação base Performance Analytics inclui o detalhamento Ativo como parte da Visão geral de uso de análise. Este detalhamento usa um mapeamento para o campo booliano job.active da tabela Log de trabalho [pa_jobs_logs]. A origem de detalhamento usa um grupo de buckets em que os valores verdadeiros de job.active são classificados no bucket Ativo, enquanto os valores falsos são classificados no bucket Inativo. Observe que valores falsos são considerados numéricamente um valor menor que um, enquanto valores verdadeiros são numéricos um e acima.

    Formulário de grupo de buckets mostrando os buckets inativos e ativos e seus intervalos

    Agrupando resultados de script em buckets

    Quando você tem um script de mapeamento de detalhamento que coleta um intervalo de valores, é possível definir um grupo de buckets para dividir esses valores em buckets discretos.

    Depois de criar o grupo de buckets, você cria uma origem de detalhamento com base no grupo de buckets. Em seguida, você cria um detalhamento que usa essa origem de detalhamento. Ao criar o mapeamento de detalhamento para o detalhamento, defina ou selecione um script para o mapeamento. O detalhamento agrupa os resultados que o script retorna nos buckets do grupo de buckets. Para obter um exemplo, consulte Exemplo: mapeamento de script.

    Você pode gravar um grupo de buckets para um script existente ou pode primeiro gravar o grupo de buckets e, em seguida, gravar o script. Ambos devem existir antes que você possa criar o detalhamento.

    Nota:
    O mesmo script pode ser usado com qualquer número de grupos de buckets. Além disso, em princípio, qualquer script que retornasse o mesmo tipo de dados poderia ser usado com o mesmo grupo de buckets.

    Criar um grupo de buckets

    Especifique um grupo de buckets no qual você deseja recategorizar os dados.

    Antes de Iniciar

    Função necessária: pa_data_collector ou admin

    Procedimento

    1. Navegar até Todos > Detalhamentos > Grupos de Bucket.
    2. Clique em Nova.
    3. Insira um Nome que identifique claramente o grupo de buckets, como Intervalos de idade em dias.
    4. Clique duas vezes em Inserir uma nova linha para adicionar um novo bucket.
    5. Insira um Nome para o primeiro bucket e pressione Enter ou clique no ícone de verificação verde.
    6. Clique duas vezes nas colunas Início e Fim para inserir os valores inicial e final do intervalo.
      Os registros que correspondem ao valor final são excluídos do bucket. Portanto, defina o valor final de um bucket e o valor inicial do próximo bucket como iguais. Os registros que correspondem exatamente a esse valor são classificados no bucket que tem esse valor como o valor inicial.
      Aviso:
      Se o valor final de um bucket não corresponder ao valor inicial do próximo bucket, você terá uma lacuna em que os registros não serão classificados em nenhum bucket. Por exemplo, se você tiver um bucket que termina em 20 e o próximo bucket começa em 21, os registros para os quais o script retorna um valor entre 20.0000~ e 20.9999~ não serão classificados em nenhum bucket.
    7. Clique em Enviar depois que todos os intervalos de bucket forem definidos.

    Grupo de buckets de intervalos de idade do incidente

    Considere o caso em que você deseja agrupar incidentes por idade, da seguinte forma:
    • Menos de um dia
    • 1 a 5 dias
    • 6 a 30 dias
    • 31 a 90 dias
    • Mais de 90 dias
    Recebido(a) Performance Analytics > Scripts, você já tem um script chamado Incident.Age.Days. Este script deriva a idade em dias de um incidente a partir da data de abertura e da data mais recente em que uma pontuação foi coletada:
    var diff=function(x,y){return y.dateNumericValue() - x.dateNumericValue();};
    var days=function(x,y){return diff(x,y)/(24*60*60*1000);};
    days(current.opened_at, score_end);
    Você cria um novo grupo de buckets chamado Intervalos de idade do incidente (dias). Neste grupo de buckets, você define um conjunto de buckets que começam na data desejada e terminam no início do próximo bucket. Por exemplo, o bucket de 06 a 30 dias começa às 6 e termina às 31:
    O bucket de 06 a 30 dias

    Este bucket conterá incidentes com idade de precisamente 6 dias até a idade de 30 dias, 23 horas, 59 minutos e 59 segundos.

    No final, você tem um grupo de buckets com cinco buckets correspondentes aos intervalos de idade nos quais você deseja dividir os incidentes.

    Grupos de buckets

    O exemplo de mapeamento de script mostra um detalhamento que usa este grupo de buckets e script.

    O que Fazer Depois

    Crie uma origem de detalhamento que usa a tabela de fatos Bucket [pa_buckets], o campo SYS ID e a condição [Bucket group][Is][<the name of the bucket group you created> ]. Em seguida, crie um detalhamento que usa essa origem de detalhamento e usa o script relevante para o mapeamento de detalhamento.