Obter segundo maior valor

Este exemplo mostra como recuperar a segunda maior área de pico em um número de picos.

  1. Crie uma tabela com, pelo menos, as colunas a seguir na ordem mostrada abaixo. Ordene a tabela por Área, por ordem descendente.

    a. Tempo de retenção (RT)

    b. Contagem

    c. Área

    1. Tempo de retenção (RT)

    2. Contagem

    3. Área

  2. Salve o tempo de retenção como agregador:

    1. Vá para as propriedades da coluna RT e clique em fx para abrir o Editor de Expressão do valor.

    2. Clique em Salvar Resultado Expressão Como, selecione Agregador e forneça um nome. Por exemplo: MyRetentionTimes.

  3. Adicionar o contador:

    1. Vá para as propriedades da coluna Contagem e clique em fx para abrir o Editor de Expressão do valor.

    2. Use a função de contagem. Por exemplo, =Count(MyRetentionTimes)

  4. Obtenha o segundo valor e salve-o como um agregador.

    1. Vá para as propriedades da coluna Área e clique em fx para abrir o Editor de Expressão do valor.

    2. Use a seguinte expressão para obter o segundo valor, arredondado para 3 casas decimais: =iif(Count(MyRetentionTimes)=2, Round(Peak_Area,3), 0)

      Para a segunda linha da tabela, essa expressão retorna a área do pico. Para todas as outras linhas, ela retorna 0.

    3. Salve o resultado da expressão como um outro agregador; por exemplo, NBiggestArea

  5. Mostrar o valor:

    • Na tabela, adicione um campo de texto com a expressão =Max(NBiggestArea)

Mais opções

  • Se você tiver vários detectores, selecione a tabela e o campo de texto e agrupe esses dois itens. Repita o grupo para cada nome do sinal.

    Acrescente outros campos de texto ao grupo conforme necessário.

  • Se você quiser usar a tabela apenas para salvar o valor, você pode ocultá-la. Na caixa de diálogo Propriedades em Avançadas desmarque a caixa de seleção Visível.

  • Se você quiser obter o maior valor de nº, crie um parâmetro de relatório (por exemplo, n). Use a seguinte expressão no seu modelo: =iif(Count(MyRetentionTimes)=n, Round(Peak_Area,3), 0)