Sieve - percent gravel for multiple tests in a borehole

I am trying to replace some very confusing coding to calculate the percent gravel and sand on our grain size results.  I have six grain size results reporting on one GRAPH form.   I would like to use the gINT help example for calculating gravel as follows but am not sure how to incorporate the datasetkey<<#>> in this code so that the six different results print.

From Gint Help:

Soil Fractions

1) Gravel:

If the maximum particle size is:

Less than or equal to 4.75mm, Gravel % = 0

less than or equal to 75, Gravel % = Maximum % passing (should be 100) - % passing 4.75mm

Else, Gravel % = % passing 75mm - % passing 4.75mm

<<Case(_
  <<Max(<<SV READINGS.Reading>>)>>,_
  <= 4.75,0,_
  <= 75,_
  <<Calc(_
    <<Max(<<SV READINGS.Percent_Finer>>)>> - _
    <<Interpolate(_
      <<SV READINGS.Percent_Finer>>,_
      <<SV READINGS.Reading>> = 4.75,A,L_
    )>>_
  )>>,_
  Else,_
  <<Calc(_
    <<Interpolate(_
      <<SV READINGS.Percent_Finer>>,_
      <<SV READINGS.Reading>> = 75,A,L_
    )>> - _
    <<Interpolate(_
      <<SV READINGS.Percent_Finer>>,_
      <<SV READINGS.Reading>> = 4.75,A,L_
    )>>_
  )>>_
)>>
Parents
  • Hi Monique,

    This is the standard expression delivered with the grains size report in the gINT standard US lab file set for Gravel .

    The file set is available here

    Available gINT Standard Reports Each set of files contains a library with report templates, a sample project and a data template. The report templates in these libraries have been designed to support…
    Last edited in OpenGround | gINT | Keynetix > gINT | Keynetix Wiki

    The gINT standard US Lab file set has a few User System Data items embedded in the expression

    This is the expression 

    <<Let(Size Max = 75)>>_
    <<Let(Size Min = 4.75)>>_
    <<Format(<<User System Data.PC_Fraction_Multi>>,0.0)>>

    This is the expression with all of the USD's exploded

    <<Let(Size Max = 75)>>_
    <<Let(Size Min = 4.75)>>_
    <<Format(<<Let(PC Min = _
    <<Let(Size = <<Get(Size Min)>>)>>_
    <<Interpolate(<<Union(<<SV READINGS.Percent_Finer>>,_
    <<HYD READINGS.Percent_Finer>>_
    )>><<#>>,_
    <<Union(<<SV READINGS.Reading>>,_
    <<HYD READINGS.Particle_Size>>_
    )>> = <<Get(Size)>>,A,L_
    )>>_
    )>>_
    <<Let(PC Max = _
    <<Let(Size = <<Get(Size Max)>>)>>_
    <<Interpolate(<<Union(<<SV READINGS.Percent_Finer>>,_
    <<HYD READINGS.Percent_Finer>>_
    )>><<#>>,_
    <<Union(<<SV READINGS.Reading>>,_
    <<HYD READINGS.Particle_Size>>_
    )>> = <<Get(Size)>>,A,L_
    )>>_
    )>>_
    <<Let(Max Sieve = <<Max(<<SV READINGS.Reading>><<#>>)>>)>>_
    <<Let(Max Finer = <<Max(<<SV READINGS.Percent_Finer>><<#>>)>>)>>_
    <<IIf((<<Get(Size Min)>> < <<Get(Max Sieve)>>) Or _
    (<<Get(Max Finer)>> = 100),_
    <<Case(<<Get(Max Sieve)>>,_
    <= <<Get(Size Min)>>,0,_
    <= <<Get(Size Max)>>,<<Calc(<<Get(Max Finer)>> - <<Get(PC Min)>>)>>,_
    Else,<<Calc(<<Get(PC Max)>> - <<Get(PC Min)>>)>>_
    )>>_
    )>>,0.0)>>

    Make sure your text entity has the Repeat tab set with the appropriate numbers

    Example

    I would recommend copying the items from the gINT std US lab file set into your library so you can use the first expression which is easy to read

Reply
  • Hi Monique,

    This is the standard expression delivered with the grains size report in the gINT standard US lab file set for Gravel .

    The file set is available here

    Available gINT Standard Reports Each set of files contains a library with report templates, a sample project and a data template. The report templates in these libraries have been designed to support…
    Last edited in OpenGround | gINT | Keynetix > gINT | Keynetix Wiki

    The gINT standard US Lab file set has a few User System Data items embedded in the expression

    This is the expression 

    <<Let(Size Max = 75)>>_
    <<Let(Size Min = 4.75)>>_
    <<Format(<<User System Data.PC_Fraction_Multi>>,0.0)>>

    This is the expression with all of the USD's exploded

    <<Let(Size Max = 75)>>_
    <<Let(Size Min = 4.75)>>_
    <<Format(<<Let(PC Min = _
    <<Let(Size = <<Get(Size Min)>>)>>_
    <<Interpolate(<<Union(<<SV READINGS.Percent_Finer>>,_
    <<HYD READINGS.Percent_Finer>>_
    )>><<#>>,_
    <<Union(<<SV READINGS.Reading>>,_
    <<HYD READINGS.Particle_Size>>_
    )>> = <<Get(Size)>>,A,L_
    )>>_
    )>>_
    <<Let(PC Max = _
    <<Let(Size = <<Get(Size Max)>>)>>_
    <<Interpolate(<<Union(<<SV READINGS.Percent_Finer>>,_
    <<HYD READINGS.Percent_Finer>>_
    )>><<#>>,_
    <<Union(<<SV READINGS.Reading>>,_
    <<HYD READINGS.Particle_Size>>_
    )>> = <<Get(Size)>>,A,L_
    )>>_
    )>>_
    <<Let(Max Sieve = <<Max(<<SV READINGS.Reading>><<#>>)>>)>>_
    <<Let(Max Finer = <<Max(<<SV READINGS.Percent_Finer>><<#>>)>>)>>_
    <<IIf((<<Get(Size Min)>> < <<Get(Max Sieve)>>) Or _
    (<<Get(Max Finer)>> = 100),_
    <<Case(<<Get(Max Sieve)>>,_
    <= <<Get(Size Min)>>,0,_
    <= <<Get(Size Max)>>,<<Calc(<<Get(Max Finer)>> - <<Get(PC Min)>>)>>,_
    Else,<<Calc(<<Get(PC Max)>> - <<Get(PC Min)>>)>>_
    )>>_
    )>>,0.0)>>

    Make sure your text entity has the Repeat tab set with the appropriate numbers

    Example

    I would recommend copying the items from the gINT std US lab file set into your library so you can use the first expression which is easy to read

Children
No Data