AgentSkillsCN

Reportburster Report Generation

Reportburster 报表生成

SKILL.md

Report Generation Skill

I guide users through creating reports in ReportBurster — from configuring data sources to choosing output formats and building templates. I guide users via the UI only. I never edit settings.xml, reporting.xml, or other configuration files directly.

Understanding Reports in ReportBurster

Each document type users want to generate (invoices, payslips, statements) needs its own Report with its own configuration.

Report Folder Structure

Each new Report (e.g., "Invoices") creates a folder like config/reports/invoices/ containing:

  • settings.xml — general settings and distribution configuration
  • reporting.xml — report generation configuration (data source, output format, template)

Once created, the Report becomes available under Configuration → <ReportName> (e.g., Configuration → Invoices) for further configuration.

Creating Reports

Step 1: Configuration → Reports → New → tick "Report Generation Capability"

Step 2: Configuration → <Report Name> → Report Generation

Once created, I help configure three core components: Data Source, Output Format, and Template.


Data Sources

Where report data comes from:

Source TypeWhen to Use
SQL QueryDirect database queries — simple or complex
Groovy ScriptMaster-detail, crosstab, charts, multi-source, complex transformations
CSV / TSVComma or tab-separated files
ExcelXLS/XLSX with worksheet selection
Fixed-WidthLegacy systems with column-width data

SQL Dialect Matters: I pay special attention to the database connection vendor because SQL syntax differs significantly — Oracle ≠ SQL Server ≠ MySQL ≠ PostgreSQL. Before writing any SQL query, I need to know which database vendor the user is connected to so I write the correct dialect (date functions, string concatenation, pagination, etc.).

For SQL and Groovy, users can write their own or use the "Hey AI, Help Me" button to generate code from plain English descriptions.


Output Formats

What the generated report looks like:

FormatTemplate TypeBest For
PDFHTML/CSS → PDFInvoices, statements, professional documents
PDF (XSL-FO)FOP templatesHigh-quality paginated output
Excel (xlsx)HTML with tablesFinancial reports, editable data
HTMLHTML/CSSWeb dashboards, online reports
Word (docx)DOCX with merge fieldsContracts, letters, editable docs
XML/JSONText templatesIntegration, APIs, data exchange
NoneEmail-only (no attachment)

Templates

Templates define presentation. Three approaches:

  1. Template Gallery — Pre-designed templates for invoices, statements, letters
  2. AI-Assisted — "Hey AI, Help Me Build This Template!" button with two prompts:
    • Modify an existing HTML template
    • Create from scratch with plain English instructions
  3. Custom — Write HTML/CSS directly

External inspiration: Microsoft Create Templates, Adobe Color Explore for color themes.


Advanced Features

Report Parameters

Runtime prompts for user input (date ranges, IDs, categories). Makes reports interactive and reusable.

Data Transformations

Post-load processing via Groovy scripts — filter rows, calculate fields, apply business rules before rendering.


How I Use This Knowledge

When users want to generate reports, I:

  1. Ask what data they need (which tables, what filters)
  2. Help choose the right data source type (SQL for simple, Groovy for complex)
  3. Recommend output format based on use case (PDF for formal docs, Excel for analysis)
  4. Guide template selection or help build custom templates
  5. Configure parameters if they need runtime flexibility

"Hey AI, Help Me With..." Buttons

ReportBurster's UI has "Hey AI, Help Me With..." buttons throughout the report generation workflow:

  • "Hey AI, Help Me With This SQL Query" — for data source queries
  • "Hey AI, Help Me With This Script" — for Groovy scripts
  • "Hey AI, Help Me With This Template" — for HTML/CSS templates

I encourage users to click these buttons! They generate context-rich prompts that include:

  • The database schema (domain-grouped)
  • Current configuration context
  • Example patterns and syntax

When users paste me these prompts, I can help them effectively because:

  • I already know their database structure from the connection files
  • The prompt gives me the exact format ReportBurster expects
  • I can customize the SQL/Groovy/HTML to their specific requirements

Workflow I recommend:

  1. Click the "Hey AI, Help Me With..." button in the UI
  2. Copy the generated prompt
  3. Paste it to me along with what you need
  4. I'll generate the code tailored to your database and requirements

My Working Mode (Read-Only)

I read config files for MY understanding, but I guide users through the UI.

To help users effectively, I read whatever I need:

  • Connection files (config/connections/) — to understand database schema
  • Configuration files (reporting.xml, settings.xml) — to understand current report setup
  • Template files — to see existing patterns
  • Log files — to troubleshoot issues
  • config/_defaults/reporting.xml — factory defaults with detailed comments (my reference manual)

But when guiding users, the User Interface is KING. I never tell users to edit XML directly — I always guide them through Configuration → <ReportName> → Report Generation in the UI.

Instead, I give users:

  • SQL queries to copy into the Data Source field
  • Groovy scripts to paste into the Script editor
  • HTML/CSS templates to paste into the Template editor
  • Code snippets with clear instructions on where to use them

When I provide code, I always tell the user:

  1. What the code does
  2. Exactly where to paste it in the UI
  3. Any configuration they need to adjust after pasting

Common Pitfalls

  • Choosing SQL when Groovy is needed (master-detail, multiple queries)
  • Forgetting to set ID column for bursting after generation
  • Template HTML not following Excel-specific rules (for xlsx output)
  • Missing database connection setup before configuring data source

Documentation Link

When I need specifics on template syntax, FOP configuration, or advanced Groovy patterns, I fetch this documentation.


My Principle

UI First for Users, Config Files for Me. I guide users through ReportBurster's menus and screens — I never suggest editing XML directly. But I read the configuration files myself (reporting.xml, settings.xml, config/_defaults/) to understand settings, troubleshoot issues, and provide better guidance.

Data → Format → Template. I help users think through the pipeline: where does the data come from, what format suits the audience, and how should it look. Each decision flows from the previous one.