For the complete documentation index, see llms.txt. This page is also available as Markdown.

Syntax & Functions Cookbook

End-to-end report template examples combining multiple syntax functions for real-world Daxium-Air use cases.

This page complements the Syntax & Functions reference with complete, ready-to-adapt report templates for common field operations scenarios.

Recipe 1 — Per-submission inspection report (Word)

Use case: Generate one formatted Word document per intervention submission, including the inspector's details, GPS location, photos with GPS watermarks, and a conditional defect section.

Template structure

<%Inspector.FullName%> — <%F('dd/MM/yyyy', InspectionDate)%>

Site: <%List(', ', SiteAddress, PostalCode, City)%>
Status: <%If(InspectionResult = 'Compliant', 'COMPLIANT ✓', 'NON-COMPLIANT ✗')%>

<%Map(SubmissionLatitude, SubmissionLongitude, 15, 400, 250, 0)%>

Photos (with GPS coordinates as watermark):

<%Images(Photos)%><%ImageWatermark(200, 0,
  List(' | ',
    ImageExif(Photos, 'GpsLatitudeDM'),
    ImageExif(Photos, 'GpsLongitudeDM'),
    ImageExif(Photos, 'DateTime')
  ), 'Left', 'Bottom', 'White', '#000000', 0.5, 11)%>

Conditional defect section (hidden when no defects):

Signature:

Key functions used

  • List() — combines address fields, omitting empty ones

  • If() — renders a human-readable status

  • Map() — shows the intervention GPS position

  • Images() + ImageWatermark() + ImageExif() — photos stamped with GPS and date

  • Display() / End — hides the defect section when there are none

  • Relation() — lists related defect records


Recipe 2 — Monthly summary listing report (Excel)

Use case: An Excel listing report sent by email every month, covering all submissions from the previous month, with a count, total, and bar chart.

PPActions sheet

Type:table ; TableName:Interventions ; Value:Id

Type:table ; TableName:Interventions ; Value:TechnicianName

Type:table ; TableName:Interventions ; Value:InterventionDate

Type:table ; TableName:Interventions ; Value:Duration

Data sheet (Interventions table — one row template)

#
Technician
Date
Duration (min)

<%Value:Id%>

<%Value:TechnicianName%>

<%Value:F('dd/MM/yyyy', InterventionDate)%>

<%Value:N(Duration)%>

Summary section (below the table)

Chart (bar chart of interventions by technician):

Listing mode filter (Repeat in PPActions)

Key functions used

  • N() / Sum() / Avg() / Count() — aggregation over the full dataset

  • Chart() — bar chart by technician

  • Repeat() with date filter — limits to the previous month

  • F() — date formatting in the table


Use case: A delivery note per submission, listing the ordered products from a relationship field, with a line count and totals.

Main submission section

Relation table (one row per product)

Place Relation() in the first cell of a table row:

Row template:

<%ProductName%>

<%ProductReference%>

<%Quantity%>

<%F('0.00', UnitPrice)%>

<%F('0.00', Quantity * UnitPrice)%>

Footer row (below the relation table):

Key functions used

  • Relation() — one row per linked product submission

  • [Relation.Count] — total number of product lines

  • List() — formatted delivery address

  • Arithmetic in tags — Quantity * UnitPrice

  • Sum() — grand total across all product lines


Recipe 4 — Conditional multi-section report (Word)

Use case: A single template that adapts its content based on the value of a list field (e.g. InterventionType). Each section is only rendered for the relevant intervention type.

Pattern

Key functions used

  • Display() / End — shows each section only for the matching type

  • If() — renders pass/fail and result labels

  • F() — date formatting


Tips for all recipes

  • Test with real data. Generate a report from a submission that has edge cases (empty optional fields, maximum photo count) before finalising.

  • Use Exists() to guard image fields. If a photo may be absent, wrap the tag: <%If(Exists('Photos#1'), Image([Photos#1], 200), '')%> to avoid a blank space in the output.

  • Listing mode limit. Excel and scheduled Word reports are capped at 30,000 submissions. Add a Repeat() date filter to keep generation times reasonable.

  • Apostrophes. When building templates in PowerPoint, replace smart quotes (') with straight ones (') before saving — see the PowerPoint page for details.

Last updated

Was this helpful?