概述
可以在写 SQL 时使用动态参数,动态参数可以为动态的参数值,也可以是一段根据选择的字段、表达式、值拼接而成的 SQL 语句。在 SQL 运行时会将动态参数的 值 或 SQL语句 带入到查询语句中。
- 简化了 SQL 编写:动参新增字段表达式类型:可根据字段类型、表达式、值拼接生成一段 SQL ,作为动态参数带入查询语句中。只需 SQL 内加入动参,就可以实现分析模型筛选,可直接切换不同的表达式,完成筛选条件配置。
- 例如:在数据分析中,经常需要根据不同的条件动态地筛选数据。例如,根据用户的年龄、消费金额等字段进行筛选。通过这种动态参数功能,可以轻松地切换不同的表达式,完成筛选条件的配置,而无需手动修改 SQL 语句。
- 更加灵活的进行切换分析事件、属性,无需写 SQL 输入复杂的事件名、属性名:动态参数支持配置为事件名、属性名,并可构建事件与事件属性两个动参间的关联关系。类似分析模型的选择事件、属性操作。
- 例如,在一个电商平台上,需要分析不同事件(如浏览、购买、退货)和属性(如商品类别、价格区间)的数据。通过动态参数,可以快速切换这些事件和属性,而无需手动输入复杂的事件名和属性名。
- 支持固化选择项:动态参数支持配置候选值,可以将常用的候选值固化为选项,并且支持批量录入候选值。在实际业务中,某些筛选条件的值是固定的或常用的。
- 例如,在分析用户性别时,通常只有 “男” 和 “女” 两个选项。通过固化这些选择项,可以更快速地进行筛选,提高工作效率。
- 方便理解业务语义:可以批量配置候选值显示名,将业务语义显示在筛选项中,方便理解业务语义。
- 例如:数据字段和值往往具有特定的业务含义。例如,一个字段 “status” 可能有值 “1”、“2”、“3”,但这些值在业务上分别代表 “待处理”、“进行中”、“已完成”。通过配置显示名,可以更直观地理解这些值的业务含义,从而更准确地进行数据分析。
- 支持在报表进行动态配置:与报表联动,字段表达式动参可以「实时」模式下保存至业务集市,支持在报表灵活配置筛选项。
- 例如:通过这种动态配置功能,可以在报表生成过程中实时调整筛选条件,而无需重新编写 SQL 语句或重新生成报表。这大大提高了报表的灵活性和实用性。
动参类型
目前动参支持了两种类型:宏 和 字段表达式。
宏 是灵活自定义的内容,字段表达式是便捷的筛选条件表达式。
宏
宏可以是任何内容,所填写的参数值,用来替换动态参数在 SQL 中的占位。注:宏只支持在自定义 SQL 中进行动态配置,将以当前参数值保存至业务集市
宏可以用来代替任何内容,所以动参可以自定义:可以是日期范围、数值、字符等,也可以为特殊内容,比如:事件名、属性名等。
自定义
举个例子,SQL 语句可以这样写:
- country= “ ${country} ”,country动参可以为中国、美国等。
- limit ${number},可以设定limit值,比如10,100等。
- date between ${start_date} and ${end_date},则可以分别对开始日期、结束日期进行设定。
总而言之,根据 SQL 中想要动态变换的内容,均可以使用宏。
事件名、事件属性与用户属性
宏的动态参数可以带入事件、属性名。SQL 为固定模版,可以切换不同的事件、属性来分析不同的场景。
举个例子(如下图所示):
- 比如选择事件为支付定金, 属性则可以选择事件下的属性,比如售价、付费方式、品牌等
- 比如选择事件为充值, 属性则可以选择事件下的属性,比如充值金额、充值方式等
其中 ${property1}、${property2}、${event} 均为动参,event 为事件动参,property1 、property2 为属性动参,并且 property1 、property2 为 event 事件下的属性
可配置事件属性的范围
- 默认所有事件属性
- 指定事件的事件属性。比如确定事件为充值,则事件属性列表均为充值事件下的属性
- 指定动参的事件属性。事件也是动参,比如可以切换不同的事件,事件属性动参范围也会根据事件发生变动。
设置好事件属性、事件后,在动态参数配置中,可以下拉选择属性、事件。
字段表达式
可以选择字段,根据字段类型、表达式及参数值生成一段 SQL。注:配置字段表达式动参,并选择实时模式保存至业务集市,报表中可选择动参作为筛选器配置筛选
选择字段类型,根据不同的字段类型,适配不同的表达式。可以像分析模型配置筛选条件一样,自动生成筛选条件的 SQL。并且可以灵活切换不同的筛选条件
- 如果字段表达式动参为日期类型,则可以直接使用日期筛选,选择时间范围,并且支持动态时间,比如配置昨日,过去 7 天等。
- 如果字段表达式动参为数值类型,则可以使用数值筛选条件,比如等于、不等于、大于、小于等
- 如果字段表达式动参为字符类型,则可以使用字符筛选条件,比如等于、不等于,包含、不包含等
字符类型
表达式支持:等于、不等于、包含、不包含、有值、没值、为空、不为空、正则匹配、正则不匹配
数值类型
表达式支持:等于、不等于、大于、小于、区间、有值、没值、
日期类型
选择字段为日期类型,则可以选择日期范围,可以是静态时间,也可以配置动态时间。
创建方式
支持通过两种形式添加动态参数:
- 在SQL编辑器内输入符合 ${variable} 格式的变量
- 点击 动态参数配置 面板内的 +添加 ,会在SQL编辑器内光标处插入 ${variable} 的变量
输入框与选项
输入框
适用场景:无确定候选值情况,可在动参配置时,随机修改任何内容
选项
适用场景:如查询时有固定的候选值,比如操作系统、城市等,可以配置选项。选项支持配置显示值。如配置显示值,则动参选择时,则会使用显示值进行选择,如未配置显示值,则按照原值展示。
常见问题
Q1:动参能否在报表中进行使用?
A1:配置字段表达式动参(注:宏会以当前查询值存入业务集市),并且保存为实时调度时,则在报表可配置动参筛选