Skip to content

参数

参数是 HENGSHI SENSE 中实现数据分析灵活性和动态性的核心功能之一。通过参数化设计,用户可以创建可复用、可配置的数据分析资产,大幅提升分析效率和应用的适应性。

概述

参数机制解决了传统数据分析中"一次分析,固定结果"的局限性,让数据分析具备了动态交互能力。通过在关键环节引入参数,原本需要重复创建多个版本的分析内容,现在只需要修改参数值即可实现不同场景的分析需求。

核心价值

  • 提升复用性:一套参数化的分析逻辑可以适应多种业务场景,避免重复开发
  • 增强灵活性:通过调整参数值,快速适应不同的数据范围、时间周期或业务条件
  • 简化维护:统一的参数管理减少了多版本维护的复杂性
  • 改善体验:通过参数控件为最终用户提供交互式的分析体验

应用层次

参数在数据分析的多个层次发挥作用:

  • 数据层面

    • 数据源查询的动态过滤条件
    • 数据集的动态字段和指标计算
    • 跨数据集的关联条件配置
  • 权限层面

    • 基于参数的行级权限控制
    • 动态的数据访问范围管理
  • 展示层面

    • 图表内容的动态切换
    • 仪表盘的交互式控制
    • 多维度数据的钻取分析

技术特性

  • 类型丰富:支持文本、数字、日期、时间四种基础类型
  • 配置灵活:提供任意值、列表值、范围值三种取值方式
  • 作用域明确:参数作用范围限定在所属应用或数据包内
  • 表达式支持:在SQL查询和过滤表达式中灵活使用参数

典型应用场景

参数的核心应用场景包括:

使用提示

  1. 参数可以在应用创作中创建,也可以在数据集市中创建
  2. 参数作用范围限定在创建它的应用或数据包内
  3. 详细的使用场景和最佳实践请参考参数使用场景

参数管理

新建参数

  1. 进入你的应用数据包页面,点击顶部标签页中的参数进入参数管理页面。
  2. 点右上角新建参数按钮,弹出新建参数对话框。
  3. 填写相关配置后,点击确定参数即创建完成。

编辑参数

点击参数列表中的三点菜单,在弹出菜单中选择编辑参数,就可以弹出编辑参数弹窗,对参数进行修改。

注意如果参数已经被使用,重新编辑时可能会遇到以下情况:

  • 修改参数名称将会导致使用该参数的地方报错参数 xxx 不存在
  • 修改类型值类型(单值变多值)时,使用参数的地方会出错。
  • 只是修改参数默认值、更新列表候选项、范围取值,则不会报错。

删除参数

点击参数列表中的三点菜单,在弹出菜单中选择删除,可以删除参数。

批量删除

点击工具栏中的批量操作按钮,进入批量操作模式,列表首列将会出现勾选框,可以勾选多个想要删除的参数后,点击删除进行批量删除。

参数分组

参数支持分组展示,将相关业务含义的参数分成一组,方便数据分析过程中查找和使用。

点击参数分组,弹出参数分组窗口,点击新建分组,输入分组名称回车后,创建一个参数分组。 选中分组,在右侧为该分组添加参数,最后点击确定按钮后,完成参数分组。

在参数页面可以看到每个参数的分组信息,一个参数可能会分到多个组中,有多个分组标签。

查找参数时可以通过分组快速查找到相关业务含义的字段。

参数设置

每个参数由四部分组成:参数名称、参数类型、允许值和默认值。

参数类型

参数类型支持 4 种:

  • 文本
  • 数字
  • 日期
  • 时间

允许值

允许值支持 3 种:

  • 任意
  • 列表
    • 固定列表
    • 动态列表
  • 范围

任意

允许值选择任意时,可以按参数类型取任意值作为默认值。

列表

允许值选择列表时,表示参数使用时需要从列表中取值。参数列表包含值和显示值。展示时使用显示值,实际运算过程中使用值的内容。显示值可以选择配置,不配置时,展示的是值的内容。

列表支持固定和动态两种配置方式。

固定列表

固定列表即列表内容是固定不变的,支持手动输入和从字段中取值。

  • 手动添加: 即手动编辑列表的值和显示值,需要注意值与显示值不可以重复。
  • 从字段中添加值:从数据集中选择相应类型的字段作为列表值,支持添加一个或多个字段。添加到列表中的值支持编辑和修改。 值添加完成后,显示值需要手动编辑。

提示

固定列表不支持 null 值,当你的数据集数据中含有 null 值时,即使是从字段中添加值,null 值也会被转为字符串

排序

固定列表支持值排序,点击排序按钮弹窗排序弹窗,可以设置排序依据和顺序。

动态列表

动态列表是从数据集中选择相应类型的字段作为列表值,仅支持添加一个字段。值添加后,可以添加显示值。 显示值是从同一数据集中的其他字段中选择一个字段,并且要求该字段与值的字段内容一一对应。

提示

动态列表中的值和显示值是数据集中的字段内容,如果该数据集设置了行权限,不同权限的用户看到的参数值不同。

参数多值

当参数允许值为列表时,参数可以开启多值功能。可以设置参数多值的分隔符、起止符、前后缀。参数多值开启后,可以设置多个默认值。

范围

当参数的允许值是范围时,表示参数的取值满足范围要求。文本参数无该类型。

数字范围

数字参数的范围值可以设置最小值、最大值和步长。

最小值最大值允许正数、负数、小数。

步长表示两个合法值之间的差值,可以选择设置,默认值为1,不能超过最大值与最小值的差。如图所示,最小值为5,最大值为100,步长为1时,参数范围内的合法值为5、6、7、8... 100。 如果步长为95,则参数范围内的合法值仅包含5和100。

数字范围的步长目前只支持正整数,不支持小数。

日期范围、时间范围

日期、时间参数的范围值需要设置粒度、开始、结束和步长。

  • 日期参数的粒度和步长可选值为天、周、月、季度、年
  • 时间参数的粒度和步长可选值为秒、分、时、天、周、月、季度、年

步长的单位默认跟随粒度,也可以设置为比粒度更大的单位。

默认值

根据类型和允许值的组合不同,默认值有无默认值、固定、相对、动态四种,以下是不同类型不同允许值组合下的允许值:

  • 文本
    • 任意
      • 固定值、动态值、无默认值
    • 列表
      • 固定选项、动态选项、动态值、无默认值
  • 数字
    • 任意
    • 范围
      • 固定值、动态值、无默认值
    • 列表
      • 固定选项、动态选项、动态值、无默认值
  • 日期
    • 任意
    • 范围
      • 固定日期、相对日期、动态值、无默认值
    • 列表
      • 固定日期、动态选项、动态值、无默认值
  • 时间
    • 任意
    • 范围
      • 固定时间、相对时间、动态值、无默认值
    • 列表
      • 固定选项、动态选项、动态值、无默认值

固定值

由手动编辑具体值作为参数值,参数使用时默认值固定不变。

当允许值是范围时,需要输入范围内的值作为默认值,如果输入值超出范围会自动修正到边界值。

如果设置了步长,输入值不在范围内,但在最小值和最大值之间时会自动修正到前一个范围值。

固定选项

从列表、范围(数字、日期、时间)中选择固定的选项内容作为默认值。当(列表)开启多值时,也可以选择多个值作为默认值。

动态选项

指定列表中的第 N 项作为默认值,列表顺序变化时默认值也随着变化。当开启多值时,则是指定前 N 项。

动态值

从该应用中所有数据集中选取相应类型的字段作为默认值,当数据集字段的取值变化时,参数默认值随之发生变化。如图所示,选取该应用中销售指标数据集中的客单价字段作为默认值,默认值为7001,当数据集更新时,或不同权限的用户使用时,默认值也会不一样。

相对日期、相对时间

日期参数和时间参数的默认值可以设置相对值。相对是指相对于系统的当前日期、时间,会随着时间而变化。如图所示,时间参数的默认值设置为相对日期前1天。当系统日期为1月2日时,参数默认值为1月1日,当系统日期为1月3日时,参数默认值为1月2日。

在日期时间允许值是范围时:

  • 未设置步长时,相对日期设置时可以调整时间单位,如图所示。如果默认值不在时间范围内会自动修正。
  • 设置步长后,相对日期设置以步长为单位,超出时间范围会自动修正。

常见问题

  1. 参数默认值为动态值时,能够指定选取字段的哪一项吗?

    参数默认值为动态值时,只能选取字段或指标的第一项做为默认值。

  2. 使用参数时,图表突然报错显示没有合适范围值 ?

    当参数的允许值为“列表”或“范围”时,随着时间的迁移,参数值可能会不在列表之内或者超出了指定范围,使用该参数的数据集或图表会报错。

  3. 同一个参数,不同用户看到的参数取值不同?

    动态列表参数的取值是数据集字段,所以参数值会随着字段内容动态变化,如果对数据集进行了行权限控制,因为不同的用户权限不同,所以看到的参数值也不同。

  4. 同一个参数,不同用户看到的默认值不同?

    默认值为动态值类型时会选取数据集中字段的内容作为默认值,如果对数据集进行了行权限控制,因为不同的用户权限不同,所以看到默认值也不同。

衡石分析平台使用手册