Skip to main content
Cartegraph Campus

Report Functions Tips and Tricks

This feature may not be available in every package. Not sure if you have this feature or you want to learn more about it? Send us a message at

Display Only Unique Data

To only display unique data that might otherwise be repeated, use the PreviouslyUsed function. For example, if you are displaying Material and the location it resides in, you do not want the Material ID and description to display for each location. For example, (Material QOH per Location). You need to use an expression that says, "If the previous Material ID and Material Description do not equal the current Material ID and Material Description, write out the Material ID," which would be:

if (PreviousUsed(ToString$(Material_Locations_Materials_Per_Location.Material_ID) + ToString$(Materials.Description))

<> ToString$(Material_Locations_Materials_Per_Location.Material_ID) + ToString$(Materials.Description),Material_Locations_Materials_Per_Location.Material_ID)

Include Blank Lines

On a single record report, the data shrinks and does not leave blank spaces if the data is blank itself. If you do not want the lines to suppress, but you want to see blanks, you can put a similar condition on the Data itself.

If(IsNullOrEmpty(ToString$(Signs.Address_Number)), Chr$(160), ToString$(Signs.Address_Number))

Display Static Text in Empty Field

You might want static text to display even if the field has no data. When using + to concatenate static text and fields, if you wish for the static text to always display even when the value of the field is null, you need to use a condition or IF statement to display an empty characters. For example, 

"Work Order Number " + if(isnullorempty(tasks.work_order), Chr$(160), ToString$(Tasks.Work_Order))

Chr$(160) will put in a blank space; that function can be substituted out.

Setup a Running Expression

To setup a running expression such as showing the difference in meter readings from month to month, you can use the Previous() function. In this situation just sort the readings by date [-] descending and then use the following expression to show change in meter readings.

Previous(Meter_Readings.Reading)  - Meter_Readings.Reading

Add Direct Link to a Record ID

You can have a URL link in the report that goes directly to the record ID that is referenced in the report, such as on an ADA ramp ID. Copy the URL for the site and cut off everything after the <recordset type> class\ part, then concatenate the oid on the end as shown in the following figure; the URL will point to the record.

Screen Shot 2018-04-18 at 4.19.36 PM.png

Display Date Difference in Years

When you want to calculate a date difference and display it in years, use this function. You can calculate the Laborer's age by using a date diff function between today's date and the birth date.

Datediff$(Today(), Labor.Birthdate, "%y")