How to ... set up bracketed calibrations in a report template

Document created by agilent Employee on Mar 24, 2016
Version 1Show Document
  • View in full screen mode

OpenLAB CDS ChemStation does not offer all kind of bracketing modes you may want to use. The Intelligent Reporter can do this kind of calculations, but it's not very nice in the end. However, if the methods and procedures do not change a lot, it might be worthwhile to write such a template.

There are 2 problems to solve:

A)     The ACAML file doesn’t contain a bracket number, so that sample and calibration runs can be associated with a specific bracket. (or 2 brackets in case of a calibration run)


B)      IR doesn’t offer an option to program FOR/NEXT loops using the bracket number as a counter. The GROUP REPEAT is typically the function you would use for looping, but it requires a 1:1 mapping of result table rows and grouping item.  As the calibration runs belong to 2 groups (brackets), the GROUP REPEAT cannot be used.


Here is how to bypass these hurdles:

A)   Bracket labeling

  • Add a custom field e.g.  “BN” (bracket number) to the method. The custom field needs to be of type ‘text’.
  • Whenever new data gets acquired, this custom field needs to be filled for each sample and calibration run. Calibration typically belong to 2 brackets, so the custom field should be filled with "3,4" for a calibration run separation bracket 3 and 4.

Once you have acquired the data, this custom field value could be used in a filter condition with a CONTAINS statement.   You could do all the calculation for bracket #1, put everything into a report item group and filter for “BN” CONTAINS “*1*”


B)    Looping the calculation by the bracket number

To solve the second part, you simply copy the report group you generated in part A) and paste it below your first section. You need to adjust the filter condition and update the variable names in your equations.  This needs to be repeated for to the maximum number of bracket you would want to report.

This is 'poor man's' programming but I have no other idea to force an automated looping. Any better idea is welcome.


However, in the end it doesn’t take too much time to set it up, but it get’s quiet nasty to change calculations later on.


(originally posted in OpenLAB Forum:

2014 June 11 by betrich )