Too much data for fence

It seems that the common way of handling cpt data on fences is to display a graph. However, I would like to show the data as text. I find that the data (when "text not pushed down" is checked) prints on top of itself. Is there an easy way to compress this into a reasonable scale? Such as printing every third data point? I'd rather edit the report than create a "print me" field in the database (which would have to be repopulated for each database), but I'm not sure how to create the output condition.

Parents
  • You could use the Depth is a fixed increment option and then average your cpt readings over the increment but I have not played with that much.  Thus the following crude solution might work for you.

    Place the folowing in the output condition of your entity...

    <<Let(PrintSpacing=1)>>_
    <<IIf(<<Int(<<Calc(<<CPT.Depth>>/<<Get(PrintSpacing)>>)>>)>>=_
    <<Int(<<Calc(<<NextDepth(<<CPT.Depth>>)>>/<<Get(PrintSpacing)>>)>>)>>,_
     False,_
     True_
    )>>

    This assumes your CPT results are in a table called CPT.  The Let and Get functions could be replaced by a user variable for the form to set the print increment in depth units at output time or harwired into the formula as shown.  Assume your CPT is provided every 0.1 feet and you want to print out the value every 1.0 foot.  the print spacing would be 1 as in the above and the results of this formula would be as follows:

    CPT.Depth        Result
    0                         False
    0.1                      False
    0.2                      False
    0.3                      False
    0.4                      False
    0.5                      False
    0.6                      False
    0.7                      False
    0.8                      False
    0.9                      True
    1.0                      False  
    1.1                      False

    In other words it returns true on the last record before the specified Print spacing increment.  If the print spacing variable was set to 0.5 instead of 1 the formula would return true for 0.4 and 0.9 feet.  If the print spacing was set to 0.1 or less the formula would return true for all values in the list.  This doesn't always return ever 3rd or 4th value as you reuested but will return the nearest value to a spacing that you have determined will not overwrite.  You could also work the vertical scale into the the formula so that it automaticaly adjusts the print spacing for different vertical scales. The formula may return closely spaced values at the end of the data because there is no next depth so you may have to deal with that conditions as a special case but you get the idea.

  • This is how it worked for me:

    <<avg(<<CPT DATA.qt User Units>>,_
     ([CPT DATA].[PointID] = '<<POINT.PointID>>') And _
     ([CPT DATA].[Depth] >= <<IncDepthCurr()>>) And _
     ([CPT DATA].[Depth] < <<IncDepthCurr()>> + <<IncDepthInc()>>)_
    ,0)>>-<<FieldUnits(<<CPT DATA.qt User Units>>)>>

    with a depth expression:

    <<Report Var.n>>

    and the Depth is a fixed increment option.

    Of course, the expression for undrained shear strength is about ten times longer, but the principle is the same. I'm not sure if it was possible to do this in 2010.

Reply
  • This is how it worked for me:

    <<avg(<<CPT DATA.qt User Units>>,_
     ([CPT DATA].[PointID] = '<<POINT.PointID>>') And _
     ([CPT DATA].[Depth] >= <<IncDepthCurr()>>) And _
     ([CPT DATA].[Depth] < <<IncDepthCurr()>> + <<IncDepthInc()>>)_
    ,0)>>-<<FieldUnits(<<CPT DATA.qt User Units>>)>>

    with a depth expression:

    <<Report Var.n>>

    and the Depth is a fixed increment option.

    Of course, the expression for undrained shear strength is about ten times longer, but the principle is the same. I'm not sure if it was possible to do this in 2010.

Children
No Data