Em dados analíticos gerados pelo Agilent ChemStation como sistema de origem, o campo Injection_Volume pode conter valores positivos ou negativos:
Valores positivos representam o volume da amostra realmente injetado.
Valores negativos representam várias ações de injeção especiais. Os seguintes valores são usados:
-1: nenhuma injeção
-2: injeção manual
-3: programa de injeção
-4: injetor externo
Para exibir o volume realmente injetado ou a descrição apropriada, é possível usar a seguinte expressão:
=iif(Injection_Volume >= 0, CStr(Round(Injection_Volume, 4)) & " " & Injection_VolumeUnit, choose( Int(Abs(Injection_Volume)), "no injection", "manual injection", "injector program", "external injector"))
Se o valor original for positivo, ele será arredondado para quatro casas decimais. Se for negativo, as funções Int, Abs e Choose são aplicadas.
A função Abs remove o sinal algébrico. Portanto, números negativos serão transformados em números positivos. Números positivos não serão alterados.
A função Int transforma números de ponto flutuante de dupla precisão em valores inteiros. Ela retorna o número à frente do ponto decimal (obtido através de truncamento e não de arredondamento).
A função Choose seleciona e retorna um valor de uma lista de argumentos. O primeiro parâmetro é um número que indica o valor relevante. No exemplo acima, a função Choose retorna "nenhuma injeção" se o primeiro parâmetro for 1.