I've looked around the forum and wikis etc. and can't figure out how to do this for some reason, although it seems simple enough to me. Probably just my lack of understanding the various functions that are available.
I'm trying to make a graphic column (Column - Graphic Column, not an individual body entity Graphic Column) in a log report showing the symbol for the soil/rock type. I have one table for soil component descriptions, and a different table for rock component descriptions. Each table has a Graphic field, i.e. <<SOIL DESCRIPTION.GRAPHIC>> and <<ROCK DESCRIPTION.GRAPHIC>>. Both of these fields use the Graphic!matl lookup list. Each table also has Depth and Bottom fields for the top depth and bottom depth.
How do I get the column to use both of these tables and the appropriate fields in the Top Depth, Bottom Depth, and Fill Type properties? Do I just need to use 2 columns? (Previously our log report used 2 individual body entity graphic columns with the same X value to accomplish this)
Thanks for any help!
I liked your idea of using CountUnique to move an entity up and down so much I created this wiki: http://communities.bentley.com/products/geotechnical1/w/wiki/12876.variable-graphic-legend-symbols-from-2-tables-in-1-entity.aspx. If anyone is curious, they can download the files to see how it's done.
There's a little bit in Help, but not much. There's probably tutorials on the Internet. Most of what I learned was from a Teach Yourself SQL book.
Thanks Kathleen - it seems there is often more than one way to accomplish the same thing.
How would I go about getting help from Bentley on writing more complex SQLs ?
Actually, that's a simpler way. I'd forgotten about CountUnique. To do the same thing with SQL, you could do something like:
<<Let(SoilCount = _ <<SqlCount(_ Select Distinct [SOIL DESCRIPTION].[Graphic] _ From [SOIL DESCRIPTION] _ Where Len([SOIL DESCRIPTION].[Graphic]) > 0 _ )>>_)>>_<<Calc(7.2 - ((<<Int(<<Calc(<<Get(SoilCount)>> / 4)>>)>> + 1) * 0.35))>>
I don't know how to write SQLs so if you have something that is easily modified, that would be very helpful if only for my own learning process. I would like to learn more about SQL so I can write some gINT Rules that I have yet to figure out.
I did get the following to work OK for what I'm looking for, just using the actual vales of Y, number of columns, and row height for the Soil graphics and setting up the Output Override Y for the Rock graphics to do the arithmetic:
<<Calc(7.2 - ((<<Int(<<Calc(<<CountUnique(<<SOIL DESCRIPTION.Graphic>>)>> / 4)>>)>> + 1) * 0.35))>>
(7.2 is the Y value for where my Soil graphics start
I have 4 columns of soil graphics
My soil graphics rows are vertically spaced at 0.35)
This puts the Rock graphics starting right below the last row of soil graphics, even if it is a partial row. For a partial row it looks OK to me, I'm not too picky.
Thanks again!