应用类型 | 要求 |
---|
参数筛选应用:通过切换参数筛选自助仪表盘及电子表格中的数据。 应用于:自助仪表盘、电子表格 | 数据模型中至少有一个私有查询资源必须带参数,并且该参数必须在数据模型参数面板中设置好映射关系。 各私有查询参数详情请参见:私有查询参数。 参数映射关系详情请参见:参数映射关系。 |
参数联动应用:切换参数A影响参数B的选项进行数据筛选。 应用于:自助仪表盘、电子表格 | 数据模型中私有查询中参数必须设置好联动效果,并且这两个联动参数必须在数据模型参数面板中设置好映射关系。 各私有查询参数详情请参见:私有查询参数。 |
参数映射关系详情请参见:参数映射关系。
数据模型参数面板中定义好参数就可以,不需要私有查询资源含参数,也不需要设置映射关系。
参数面板定义参数详情请参见:单个映射。参数映射关系详情请参见:参数映射关系。 | |
动态结果应用:在计算度量、计算成员和命名集中的应用可以实现根据参数取值的不同而动态获取结果。 应用于:计算度量、计算成员、命名集 | 数据模型参数面板中定义好参数就可以,不要求必须私有查询资源带参数及设置映射关系。 参数面板定义参数详情请参见:单个映射。 |
数据权限控制:将当前用户的属性与参数关联,或者系统函数获取当前用户信息与参数关联,实现控制当前用户数据权限。 应用于:自助仪表盘、电子表格 | 数据模型中至少有一个私有查询资源必须带参数,并且该参数必须在数据模型参数面板中设置好映射关系。 各私有查询参数详情请参见:私有查询参数。 参数映射关系详情请参见:参数映射关系。 |
私有查询参数
私有查询资源除数据源表和导入文件之外,其它几种类型都支持带参数。
各类私有查询定义参数的详情如下。
SQL查询
SQL查询中,在表达式中通过“${ParamName}”来标识参数,其中“ParamName”为参数名;用“{[ ]}”表示该参数可为空。如:参数表达式 {[id = ${产品编码}]},表示id字段与参数“产品编码”匹配,且参数允许为空用于输出所有编码的产品。
示例:
示例中的“产品种类”参数在“公共设置-参数定义“中定义,详情请参见:关系数据源参数。
即席查询
即席查询中的参数由拖拽字段生成的条件会自动生成参数。
详情请参考 即席查询 相关内容。
脚本查询
脚本查询中的参数在脚本代码的结果集中定义。
示例:
详情请参考 脚本查询 相关内容 。
存储过程查询
存储过程查询中的参数在存储过程中定义,在数据模型中执行存储过程查询结果集,显示参数列表及展现结果。
详情请参考 存储过程查询 相关内容 。
ETL高级查询
ETL高级查询只有”关系数据源“节点才支持参数定义,其参数定义通过参数映射以及数据源节点SQL语句的参数筛选共同实现。
注意 |
---|
参数表达式中的参数名与参数映射时设置的”参数名“必须一致。 |
详情请参考 ETL高级查询 相关内容 。
参数映射关系数据模型参数
批量映射
单个映射
筛选联动应用
应用自助仪表盘
应用电子表格
动态结果应用
应用计算度量
应用计算成员
应用命名集
在数据模型中,可以设置每个私有查询的参数(除了数据源表和导入文件),并将私有查询的参数映射到数据模型中进行管理。
参数暂不支持映射到数据源表查询、导入文件查询。
下面以即席查询为例,演示如何设置数据模型的参数。
操作步骤
1、新建即席查询,选择数据源并拖拽字段如图:
2、拖拽字段作为查询的参数,并设置参数属性和默认值,保存后回到数据模型。
3、设置即席查询的度量,然后点击“设置参数”按钮,进入参数管理界面。
在参数管理界面中,点击 参数关联列表 ,可查看未映射到数据模型的参数。
注意 |
---|
注意:私有查询中设置的参数不能直接用于报表中,需要在参数管理中映射到数据模型里才能使用。 |
4、点击 一键映射 按钮,将即席查询设置的参数映射到数据模型中。如果查询中设置的参数未映射到数据模型中,也可点击 添加 按钮,手动添加映射,详情请参考 参数列表区 。
5、可以修改参数属性,保存参数管理和数据模型。
6、新建一个自助仪表盘,数据来源选择刚才设置的数据模型,然后拖拽参数到展现区,直接使用参数即可。
功能说明
设置私有查询的参数
SQL查询
1、输入SQL查询语句。
参数示例:select * from table where {[id = ${ParamName}]},ParamName为参数名,“{[ ]}”表示该参数可为空。
2、输入参数默认值。
3、点击 运行 按钮,查看输出数据。
详情请参考 SQL查询 。
即席查询
在即席查询中由拖拽字段生成的条件会自动生成参数。详情请参考 即席查询-参数 。
脚本查询
在脚本查询中在脚本代码的结果集中定义参数。详情请参考 脚本查询-参数 。
存储过程查询
在存储过程查询中通过Tab页的形式将参数设置区和预览数据区进行展示。详情请参考 存储过程查询-参数 。
ETL高级查询
在ETL高级查询中通过参数设置与编写数据源的SQL语句进行参数筛选。详情请参考 ETL高级查询-界面介绍 。
参数管理
参数管理界面中包含了所有私有查询的参数,用户需要对这些参数进行管理并将私有查询的参数映射到数据模型中。如图:
参数列表区
自动将所有私有查询的参数映射到数据模型中。
自动新建参数并映射的规则:参数数据类型与参数名称一致。
一个数据模型的参数可以映射多个私有查询的参数,但是一个私有查询参数只能关联一个数据模型的参数。
参数数据类型与参数名称不一致,可手动添加参数映射关系:
- 点击 添加 按钮,新建参数并设置参数属性;
- 点击映射关系下拉框,添加参数映射关系。
数据模型参数与私有查询参数之间的映射。如果是已有映射关系的参数,参数置灰且不可选。
参数设置区包含了一些参数的属性。
参数的控件类型,默认为字符串。控件类型包括:
- 文本
- 列表(单选)
- 列表(多选)
- 下拉(单选)
- 下拉(多选)
- 树形(单选)
- 树形(多选)
- 日期
当参数的数据类型是字符串或日期,参数控件类型选择日期控件下的日期类型时,数据格式如下:
数据模型参数主要的作用有如下两个方面:
- 实现私有查询参数与数据模型参数的映射关系:它类似于中间件功能,将私有查询参数与数据模型参数进行关联。应用详情请参见:参数筛选应用、参数联动应用。
- 应用到计算度量、计算成员和命名集表达式中,实现动态获取结果。应用详情请参见:动态结果应用。
注意 |
---|
模型参数必须与私有参数建立好映射关系,才能保证参数应用于自助仪表盘和电子表格的效果。 |
映射设置入口:单击数据模型定制界面的 设置参数 按钮,打开”参数管理“面板:
设置如下:
在”参数面板“中左下角显示当前数据模型的私有查询参数个数的信息,单击该信息,弹出所有私有参数的列表,列表中列出各参数的归属。
批量映射
批量映射是指通过一键操作将所有私有查询资源中的参数自动完成与数据模型参数的映射关系设置。
在”参数面板“中单击 一键映射 按钮,系统自动创建模型参数,并建立好与所有私有参数的映射:
自动映射的参数,默认沿用私有参数的名称、数据类型、控件类型等属性,且默认值为静态列表设置,值为私有参数默认值。
- 当默认值为静态列表设置时,模型参数继用私有参数的数据源不允许修改,其它属性都可以修改;
- 当默认值改为SQL设置时,支持选择当前登录用户拥有查看权限数据库,且SQL表达式支持参数嵌套:参数嵌套示例请参见:参数联动应用。
单个映射
单个映射是指手工定义数据模型参数,并将其与私有查询资源中的参数进行映射关系设置。
单击 新建参数 按钮,生成一个模型参数设置信息及相关设置项:
定制单个模型参数及映射关系时,有以下几个注意点:
- 映射关系:只允许选择带参数的私有查询。
- 数据源:默认值为”静态列表“时不允许修改,默认继用关联的私有查询参数的数据源;默认值为”SQL“时支持修改,只允许选择当前登录用户拥有查看权限数据库。
- SQL表达式支持参数嵌套。参数嵌套示例请参见:参数联动应用。
参数设置按钮
设置参数默认值或备选值表达式时,有如下几个按钮供操作:
按钮 | 说明 |
---|---|
用于在表达式中引用各类对象:参数、函数、用户属性。 | |
用于显示表达式示例以供用户参考。 | |
用于将文本中的表达式格式化。 | |
用于预览表达式数据结果。参数联动时,返回的是引用参数备选值匹配后的结果。 |
参数复制
数据模型的参数支持复用其它数据模型的参数:通过参数复制功能,实现将目标参数克隆到当前数据模型。具体操作如下:
在数据模型的“参数管理”面板中,单击 复制参数 按钮,在下拉菜单中勾选需要复制的参数,单击 确定 按钮即在当前数据模型中自动生成参数。
注意事项
1、当参数的数据类型是字符串或日期,参数控件类型选择日期控件下的日期类型时,数据格式如下:
- 日期:默认显示yyyy-MM-dd
- 时间:默认显示HH:mm:ss
- 日期时间:默认显示yyyy-MM-dd HH:mm:ss
- 年:默认显示yyyy
- 年季:默认显示yyyyQ[1|2|3|4]
- 年月:默认显示yyyyMM
- 年周:默认显示yyyyW[1|2|3...]
2、当参数的数据类型是非字符串、非日期时,控件类型不能选择日期。
详情请参考 参数定义 。
参数的数据来源,下拉框中展示的是登录用户有查看权限数据库,默认是禁用状态。
数据源影响的设置项:默认值、真实值、显示值。
当默认值为“SQL”时,数据源下拉框自动变成可选状态。
应用于报表
自助仪表盘
数据模型的参数可在自助仪表盘中直接拖拽使用,详情请参考 自助仪表盘-参数 。
电子表格
数据模型的参数可在电子表格中使用,详情请参考 电子表格-参数面板设计 。3、填写参数时,切勿加入空格,正确示范如下: