Area reject on individual chromatograms?

Compound A elutes in each chromatogram and i want to report the peak areas in each chromatogram that are greater than the peak area of Compound A in each chromatogram. As the area of Compound A varies in each chromatogram i can't use the area reject in the processing method as this applies globally to all chromatograms.

Can you help find a way to do this? I am using OpenLab 2.3.

Regards 

Parents
  • To update - i have found a way to report only peaks which are greater than Compound A on an individual chromatogram basis. This involved linking and processing the results set with the following CC to find the peak area of Compound A in each specific injection:

    CurrentInjection.SignalByName(Signal_Name).PeakOrGroupByName("Compound A").Peak_Area .  

    and then calling this CC as the Value in the Filtering properties of a table using Peak_Area as Value and > as Operation. To get the CC into the Value field i selected Compound, Custom Calculation Results then the identifier that i gave the CC in the CC file. This table was repeated for each sample.

    This was achieved by trial and error really but thought it worth sharing. If there is any other way of achieving this output without using a CC i would be keen to know. 

    Thanks

  • Hi Camelia,

    It is possible to filter without CC, but if it is working with CC I would leave it be. However, if you want to try the non-CC way then read on;

    1. Create two tables on the report and then group them

    2. I like to add repeating on the sample name (sample_name), as this adds the sample name to the top of the table.

    3. In the first table go to properties

    4. Filter the table for the compound name of the compound you want to use the area from (Compound A). In my case I am using demo data and Ethyl paraben as my "Compound A"

    5. Now select the Area column and "Column properties"

    6. and then select "Value", which should be peak_area, and then "Save expression result as"

    7. Give it an easy name to use/remember

    8. Save and Apply.

    9. In the second table select "Properties" then "Filtering"

    10. Now in the Expression Editor add the following

    11.  =iif(CDbl(Peak_Area<EPArea),Peak_Area,"")  Change the EPArea to your variable name. (Note the CDbl converts the TEXT in the variable to an actual NUMBER, hence why if you try this without the conversion you get a rendering error as you cannot do a logical comparison if a number is larger than the word!)

    12. Add a second filter to remove the reference compound from the second table as so. Change the value to suit your compound name.

    13. Preview with some data to see if it works. If it does then select table 1>Properties>Advanced, deselect "Visible" to hide the table from the preview

    14. Et Voila.

    An example can be seen below, I have included unknown peaks also in the table as this example data only has 2 "real" compounds :

    Example

    That should work with 2.3, I did it 2.5. Let me know how you go.

  • Hi Shaneo,

    I have tried the non CC way of using  =iif(CDbl(Peak_Area>"F"),Peak_Area,"") in the Value for filtering and it has got rid of the rendering issue but the report is still reporting areas < F (shown in the Area column below)

    However, the expression you gave can be used as the Value in a custom field column in the table (Col2) and hey presto! Only areas > F are reported.  

    To get the rounding i used =IIf(CDbl(Peak_Area>F),Round(Peak_Area,0),"")

    So, many thanks to dwaelsve, Marty and shaneo for helping me to crack this one.

    Much appreciated 

Reply
  • Hi Shaneo,

    I have tried the non CC way of using  =iif(CDbl(Peak_Area>"F"),Peak_Area,"") in the Value for filtering and it has got rid of the rendering issue but the report is still reporting areas < F (shown in the Area column below)

    However, the expression you gave can be used as the Value in a custom field column in the table (Col2) and hey presto! Only areas > F are reported.  

    To get the rounding i used =IIf(CDbl(Peak_Area>F),Round(Peak_Area,0),"")

    So, many thanks to dwaelsve, Marty and shaneo for helping me to crack this one.

    Much appreciated 

Children
  • Camelia,

    The code to use in a filter expression to get a variable when not directly available( CDS 2.1 up to 2.4 and in C.01.10 Chemstation) is below. CDS 2.5 allows direct access to variable in the filters. The one limitation is that variables must be numeric values. 

    Marty Adams

    Here is a simple example.

    Define a variable (“PeakNumber”) saved as unique key value on Peak_ID. If you do not have an index you can leave that out. Note: This only works in C.01.10 Chemstation and CDS 2.1 and higher.  

    Then use is in a filter as following to show the 10 biggest peaks:

     

    Code.DVL.GetValue(Peak_ID & “PeakNumber”) > 0

    And

    Code.DVL.GetValue(Peak_ID & “PeakNumber”) <= 10

  • Superb! I have used this with CDS 2.3 successfully. It is the simplest approach and i am able to then use a summary calculation on the column which i couldn't do with the custom field column.

    Thanks so much for your sharing

Was this helpful?