Has anyone managed to use the Foreign PointID Expression for more than one associated exploratory hole.
I've set up a field in a table with the point list I want to plot, seperated by commas. For example, BH01a has "BH01b, BH01c, BH01d" in that field.
I can use the GetListItem to target one, but I can't get more than one associated point into the column. For some locations I have a large number of associated points, so I'd like to put them in one column in report design.
Has anyone faced a similar problem?
Thanks
PeeKee, please let us know how you plan to use the associated points - will they simply be listed in the report, or will you use the foreign point(s) as a source of other report information?
For example, you can use different foreign PointIDs as the source for the plotted information in separate entities or column entities. The Help example shows using the foreign PointID to supply the Material Description for a CPT borehole from an associated point - but there is no reason that you might not use a selection algorithm to choose which associated PointID to use for a single entity/column entity Foreign PointID.
So it probably comes back to the structure of your table with associated PointIDs - if you have it stored as a comma-delimited list in a single field in POINT, you can obtain any one item in the list (using your example to obtain BH01d from a field named <<POINT.Associated Points>>) with an expression like:
<<GetListItem(<<POINT.Associated Points>>,", ",3)>>
The double-quotes delimiting the separator are necessary because it contains both a comma and a space.
NOTE: If you have some items listed with "comma,space" delimiting them, and some with just "comma" (no space), this expression will not be able to correctly locate the desired element in the list! As always with a database, consistency is essential.
If you simply want to list the associated points in a text entity/column, one above the next, a simpler expression will do the trick:
<<Replace(<<POINT.Associated Points>>,False,False,",","<<cr>>")>>
The second "False" ignores any space following the comma delimiter.
Thanks for the response.
I’m trying to create a columns (plot vs depth) on a log. I’d like to show CPT and lab test results. I have up to seven associated points for one borehole, so I’d like to plot all within one column entry, rather than stacking one column entry per associated point.
So rather than :
I’d like:
<<GetListItem(<<POINT.Associated Points>>,", ",all)>
I’ve also tried writing some SQL, but haven’t any success with that either.
"...I’d like to show CPT and lab test results [for] up to seven associated points for one borehole..."
So in that case, you will probably need a loop from 1 to the count of the associated points to establish a single value for the list item position, then you may still need a SQL statement to select the CPT and lab test results related to that selected list item.
Still using our example from before, the count and loop might look like:
<<Let(PointCount = <<ListCount(<<POINT.Associated Points>>,", ")>>)>>_<<Let(AsscPoint = <<Iterate(_ ListIndex,_ 1,_ <<Get(PointCount)>>,,,_ <<GetListItem(_ <<POINT.Associated Points>>,_ ", ",_ <<Get(ListIndex)>>_ )>>_)>>)>>__<<SQL(...
The SQL expression will use <<Get(AsscPoint)>> as a criterion for selection. Take a look at the gINT Help for the SQL command for guidance on writing the SQL statement in a gINT expression.
Hi,
has anyone tried the above ? or can you please suggest something to plot data ( plot vs. depth) from more than one associated points ? TIA.