1 概述
2 参数管理
数据模型参数主要的作用有如下两个方面:
- 实现 查询 里面定义的参数与数据模型 参数管理 里面的映射关系:它类似于中间件功能,将私有查询参数与数据模型参数进行关联。应用详情请参见:参数筛选应用、参数联动应用。
- 应用到计算度量、计算成员和命名集表达式中,实现动态获取结果。应用详情请参见:动态结果应用。
2.1 参数管理功能介绍
如果在查询中定义了参数,可以数据模型的参数管理进行映射、定义参数名称、数据类型、控件类型、默认值、备选值。
选项 | 内容 |
---|---|
入口 | 点击 数据模型工具栏 |
一键映射 |
|
新建参数 |
|
复制参数 | 数据模型的参数支持复用其它数据模型的参数:通过参数复制功能,实现将目标参数克隆到当前数据模型。 |
参数名称 | 右侧面板的 参数名称 |
3 各个查询类型的参数
目前数据模型查询类型除数据源表(HaNa数据库的表可以有参数)、导入文件、日期表 之外,其它几种类型都支持带参数。
3.1 SQL查询
SQL查询中,在表达式中通过“${ParamName}”来标识参数,其中“ParamName”为参数名;用“{[ ]}”表示该参数可为空。如:参数表达式 {[id = ${产品编码}]},表示id字段与参数“产品编码”匹配,且参数允许为空用于输出所有编码的产品。
示例如下图,详情可参考: 创建SQL查询。
3.2 即席查询
即席查询中的参数由拖拽字段生成的条件会自动生成参数,详情可参考:创建即席查询。
3.3 ETL高级查询
前置条件
1、参数表达式中的参数名与参数设置的”参数名“必须一致。
2、定义参数时,可以设置参数为空;再使用参数的地方,用“{[ ]}”表示该参数可为空,即查询全部数据。
1、在ETL高级查询支持定义参数,先在ETL高级查询定义好参数之后,再用到可以调用参数的地方或者节点上。
2、ETL高级查询可以在”关系数据源“、“数据查询”节点使用定义好的参数,详情可参考:自助ETL。
“数据查询”节点使用参数:
”关系数据源“节点使用参数:
3.4 存储过程查询
前置条件
如果存储过程自动识别的参数默认值不能为空,在 数据模型/参数管理 参数映射时也不能设置参数默认值为空,否则会报错。
1、存储过程查询中的参数在定义存储过程的时候定义,根据参数默认值输出结果集。
2、详情可参考:接入存储过程查询。
3.5 脚本查询
脚本查询中的参数在脚本代码的结果集中定义,根据参数默认值输出结果集。
3.6 Java查询
前置条件
如果 Java查询 自动识别的参数默认值不能为空,在 数据模型/参数管理 参数映射时也不能设置参数默认值为空,否则会报错。
1、存储过程查询中的参数在定义存储过程的时候定义,根据参数默认值输出结果集。
2、详情可参考:Java查询。