全局参数
1. 全局参数概述
全局参数,是指观远数据在数据融合与数据分析的多个环节,如在卡片、数据集计算字段、视图数据集、直连数据集的SQL中,均可灵活使用参数。通过参数的使用,您可以实现复杂的图表动态分析,如切换分析维度、切换分析指标、数据动态分类、跨表动态查询等。
2. 全局参数使用指导
2.1 创建参数
可以在“管理中心>资源设置>全局参数”中,设置用户需要用到的全局参数。点击右上角“新增参数”按钮,配置新增参数。
每个参数必须包含参数名称、参数类型、默认值,您可以选择添加一些描述信息来辅助管理参数。如果是文本类型的参数,您还可以设置自定义文本,或是从预定义的下拉列表中选择。
2.2 在卡片计算字段中使用参数
参数创建完成后,便可以在卡片计算字段中使用参数。下图展示了如何通过计算字段中使用参数实现卡片分析维度的切换。其中,计算字段的表达式为:
case when [DYNAMIC_PARAMS.维度钻取示例]="城市" then [城市] else [门店] end
当然,您也可以通过在数值字段中使用参数,来实现分析指标的切换:
case [DYNAMIC_PARAMS.显示指标] when '销量' then [Quantity] when '销售额' then [Sales] when '利润' then [Profit] end
在数值字段中使用参数,还可以实现动态分类计算。例如我们要计算高单价商品的销量,而判断是否为高单价商品的阈值为外部输入参数,则可以定义以下计算字段 [高单价商品销量]:if([Price]>[DYNAMIC_PARAMS.数值参数],[Sales],0)
2.3 在直连数据集中使用参数
在从数据库接入数据的方式中,可以在创建数据集时(也称直连数据集),在SQL中使用参数。点击“添加参数”按钮,便可以使用参数来实现数据分析维度的切换。
注:引用参数后,当在数据集处进行数据预览、更新时,平台将实时获取对应全局参数的默认值并替换至查询SQL中,实现动态查询的效果。
例如,我们使用以下SQL创建数据集,通过在卡片或页面上传入日期参数,来实现指定时间区间内的客户订单信息的动态分析。
select * from order_items where customer_id in (select customer_id from customers where create_date >= [DYNAMIC_PARAMS.日期参数] )
2.4 在抽取数据集中使用参数
数据库抽取数据集、Web Service 抽取数据集及远程文件抽取数据集支持使用全局参数。
- 数据库类型抽取数据集创建/修改模型结构/配置增量更新时,示例如下图:
- Web Service 类型抽取数据集创建/修改模型结构/配置增量更新时,示例如下图:
- 远程文件类型抽取数据集配置增量更新时,示例如下图:
基础用法:与直连数据集使用全局参数的方法一致,创建 Guan-Index 类型数据集后,在更新数据集时,实时查询使用到的全局参数默认值,并将其替换至查询 SQL 中进行数据抽取。
适用更新场景如下:
-
手动更新;
-
定时更新;
-
URL 触发更新;
-
其他触发数据更新的 Public API 。
适用更新方式如下:
-
覆盖旧数据;
-
添加新数据。
注意:
若使用 Guan-Index 数据集制作卡片,且仅在模型结构及数据更新定义时使用了参数,该参数不会被传递给卡片,不支持联动参数筛选器进行动态查询。
2.5 在视图数据集中使用参数
创建视图数据集的时候,在SQL中使用参数:
2.6 存储过程数据集中使用参数
创建存储过程数据集时,可使用参数。
2.7 使用参数进行动态分析
当页面中有卡片使用了参数(不管是来自计算字段还是数据集),可通过新建筛选器卡片来打开参数展示窗口。打开后便能在页面上调整参数值来对相应卡片进行动态分析。全局参数通过筛选器对卡片数据生效时,只能过滤数据行。
当参数筛选器的条件清空时,会取卡片设置的参数默认值。
在数据集处使用全局参数时,以下情况需要传至卡片:
-
所有数据集的计算字段;
-
直连数据集、视图数据集、存储过程数据集使用的所有参数。
在数据集处使用全局参数时,以下情况不传至卡片:
-
FTP/SFTP/ADLS Gen2数据集-增量更新;
-
WebService抽取数据集/数据库抽取数据集-模型结构SQL、增量更新SQL、前置清理规则。
3. 全局参数宏使用案例
关于全局参数的具体使用案例,建议前往《全局参数最佳实践》了解。