文档首页 / 报表参数

报表参数

定义和使用报表参数,实现动态查询条件传入

概述

报表参数允许用户在运行时动态传入查询条件(如时间范围、部门等)。参数值可用于 SQL 语句、表达式及数据集过滤条件。

参数类型

类型说明格式示例
String字符串"技术部"
Number数字100
Boolean布尔值true
Date日期"2024-01-01"yyyy-MM-dd
DateTime日期时间"2024-01-01 00:00:00"
List列表(多选)["A", "B"]

在 SQL 中引用参数

在 SQL 语句中使用 $参数名 引用报表参数:

SELECT dept, emp_name, amount
FROM sales
WHERE order_date >= $startDate
  AND order_date <= $endDate
  AND dept = $dept

注意:SQL 参数格式为 $参数名(单个 $ 前缀),而非 :参数名#{参数名}

在表达式中引用参数

在表达式中同样用 $参数名 访问参数值:

// 格式化日期参数
formatDate($startDate::date('yyyy-MM-dd'), "yyyy年MM月dd日")

// 参数空值保护
$dept == null ? "全部部门" : $dept

// 参数条件判断
if(isNull($minAmount), true, amount >= $minAmount)

默认值

参数可配置默认值,支持静态值和表达式两种方式:

场景示例
静态默认值字符串 "技术部",日期 "2024-01-01"
表达式默认值(动态)monthStart(now(), 'yyyy-MM-dd')(本月第一天)
动态表达式:月初monthStart()
动态表达式:年初yearStart()
动态表达式:当前用户userAccount()

在数据集过滤条件中引用参数

在单元格的数据集过滤条件中,将 rightValueType 设为 ParameterrightValue 填写参数名(不加 $):

// 过滤条件配置示例(JSON)
{
  "joinType": "and",
  "itemType": "common",
  "leftValue": "dept",
  "operator": "equals",
  "rightValueType": "Parameter",
  "rightValue": "dept"
}

参数在 URL 中传入

通过 URL 查询字符串传入参数,用于外部系统嵌入报表时自动带入条件:

http://localhost:8088/report/view/report-001?startDate=2024-01-01&endDate=2024-12-31&dept=技术部

提示:URL 传参时,showQueryForm=false 可隐藏查询面板,直接用 URL 参数运行报表。

联系我们

请填写您的信息,我们将在 1 个工作日内与您联系。