Hello - we plot N-values vs depth on our logs. I would like to give the user the option to suppress a line between two points. I was hoping I could do this with a linetype field in the SAMPLE table, but when I added that, and then used the <<SAMPLE.LineType>> as the line type override in the plot, it changed all the connecting lines instead of just the one where I populated that field. Any ideas how to make this work by each sample?
Note that a slightly simpler expression for the suppress segment property of Method 1 that does not use an sql query would be:
<<Calc(_ <<SAMPLE.SupSPTline>>_ OR _ <<Lookup(_ <<SAMPLE.SupSPTline>>,_ <<PrevDepth(_ <<SAMPLE.Depth>>,_ <<SAMPLE.NValue>>_ )>>_ )>>_)>>
Worked for sample data, did not test extensively.
Not sure why I thought it needed to be a sql
Ok, here are two example solutions for you to consider.
I created a sample data set to test the solutions. I added fields for Called <<Sample.NValue>> and <<Sample.SuppSPTline>> to my sample table of types Single and Bolean respectively. The sample table with data is shown below.
Note for simplicity I am using single fields for N value and the suppress choice. You could use expressions for these values as you desire, simply substitute the expression for the field name in the following discussion.
Method 1 - Using Suppress segment property in graph lines tab
As Kirk indicated there is a property in the graph that is designed to suppress segments of the connecting line. However, it only suppresses the segment above the checked sample and you wish to suppress the segment both above and below the checked sample. This requires a little finagling of the suppress expression. The picture below shows the expression I used.
It basically returns true if the suppress box is checked or if the previous sample box is checked so it suppresses the segment above the point AND above the next point (below the point checked).
Method 2 - Using a blocking box to hide segments
The option doesn't use sql but uses multiple entities stacked on top of each other to eliminate a portion of the line.
On the bottom of the stack with a print order of -2 is a graph entity that plots the n value line only (no points, no scales, no lines. This is pretty straight forward the important part is to set the print order to -2 s shown in the picture below.
Next in the stack is a graphic column entity. Fill type is set to Solid. Color is set to white. Width is set to the width of the plot. Print order is set to -1 (very important). The picture below shows the top and bottom depth expressions.
Note the PrevDepth function returns zero if it is the first data in the table which is what you want unless your boring begins a depth other than zero. However the NextDepth function returns nothing if it is the last item in the table so I had to check for this condition and return the bottom depth of the hole if it is. One final setting, on the Configuration tab, the output condition property needs to be set to <<Sample.SuppSPTline>> so that the solid rectangle is only output if you check the suppress line box in the data.
The last item in the stack is your graph column. It is straight forward and simply plots the N Value points at the bottom depth of each sample. Only the points are plotted, not the connecting line. The print order for this entity is set to 2.
The output results of both methods are shown in the picture below. Note that in this example output I have set the color of the blocking box to pink so that you can see them. Normally they would be white and you would not notice them.
Method 1 requires sql functions which can slow down plot generation. Method 2 doesn't really delete the segment, it just blots it out with a white rectangle. This may lead to problems if exporting to CAD as sometimes CAD does not properly recognize stacking orders or solids.
I have not tested these solutions extensively. They seem to work on the sample data, account for non SPT samples, account for beginning and ending suppressions, account for multiple suppressions. I did not test the case of a suppression running over a page break which may be a problem for either method.
The data used is fictitious and does not necessarily make geologic sense.
If you have questions let me know.
Make a test Plot Vs Depth and try it with the following settings to see if it achieves what you need
Assuming you are plotting a single fileld in the sample table called "N value"
In the lines tab of the plot vs depth use the suppress line segment expression (something like this as I don't have your full database)
<<Sql(Select [SAMPLE].[N Value] _ From [SAMPLE] _ Where[SAMPLE].[Type] <> "SPT" _ And [SAMPLE].[PointID] = '<<SAMPLE.PointID>>' _ And [SAMPLE].[Depth] = <<PrevDepth(_ <<SAMPLE.Depth>>,_ <<SAMPLE.Type>>_ )>>_)>>
Then in the Plot Groups tab of the Plot vs depth entitiy also set the Group by field to
<<SAMPLE.Type>>
No Guarantees test lots of data scenarios on a test report before putting into production
Unfortunately, in my case I do have an N-value but it is a non-standard sample and therefore I don't want it to connect the line.
For both Szang and Monique
Check the suppress line segment property of a plot vs depth to see if you can accomplish what you need. Attached is gINT help file topic ..Also see Gap suppressed property
PDF