1 概述
参数设置,是指对各个查询定义参数以及数据模型映射参数,再到报表层使用参数灵活地根参数值动态更改 查询 的输出。 参数是用于动态设定报表和查询条件的变量。用户可以根据需要设定参数值,从而灵活地调整数据模型的输出结果。
基于数据模型的报表,其过滤数据可以通过报表层自由拖筛选器实现。
1.1 什么情况下需要使用模型参数?
用户查询时,需要强制默认带上查询条件,减少查询数据量提升查询性能,如银行/证券股常用日期作为分区字段,默认带上日期作为查询条件,命中分区性能才会快。
需要根据不同的参数值输出不同内容,如SQL查询中根据不同参数值,查询不同的表字段内容作为输出字段。
计算度量、计算列、命名集、计算成员等需要引用前端输入的参数值做不同的计算。
信息 |
---|
1、如果是数据模型是 1、如果数据模型是 直连模式,则可以根据切换参数值动态筛选;如果数据模型是 抽取 模式,则只能根据设置的默认值筛选,无法动态切换。 2、假设 查询 的参数定义“参数 默认值 是必填; 那么在数据模型参数映射之后,默认值也需要填写;否则不能正常查询报表,会提示需要先设置参数默认值。 3、参数支持权限控制,做法与SQL查询一致,详情可查看:创建SQL查询。 4、如果参数的默认值不设置或者设置为'',则默认查询全部数据;如果要查实际的''数据,需要使用$$$EMPTY_VALUE$$$代表查询空字串。 5、数据模型的参数暂不支持全局参数。 |
2 参数管理
信息 |
---|
1、在数据模型中、透视分析、即席查询、模型查询中如果使用了参数,可以设置备选值是否显示”全部“;如果勾选“显示[全部]”,在前端展示时,备选值中会多一个全部、全选的选项;不勾选则没有。 2、其中下拉多选、树形多选、列表多选 组件依然是显示全选: |
数据模型参数主要的作用有如下两个方面:
- 实现 查询 里面定义的参数与数据模型 参数管理 里面的映射关系:它类似于中间件功能,将私有查询参数与数据模型参数进行关联。
- 应用到计算度量、计算成员和命名集表达式中,实现动态获取结果。
...
示例:根据输入的订单日期查询订单信息。
具体步骤如下:
1、创建数据模型并且在模型中添加 SQL查询 。
2、在 SQL查询 选择产品自带的northwind数据库下的”orders“表,编写SQL语句如下,代表可以参数ParamName默认值可以为空: 选择产品自带的northwind数据库下的”orders“表,编写SQL语句如下,{['orderDate'=${ParamName} ]}, 这种写法代表参数ParamName默认值可以为空(即不填写):
3、保存SQL查询并回到模型。
4、点击参数工具栏的
进入参数管理界面,映射参数,并设置参数相关选项:选项 | 内容 |
---|---|
入口 | 点击 数据模型工具栏 |
一键映射 |
|
新建参数 |
|
复制参数 | 数据模型的参数支持复用其它数据模型的参数:通过参数复制功能,实现将目标参数克隆到当前数据模型。 |
控件类型 |
|
默认值 |
|
备选值 |
|
|
| |
数据源 |
|
插入 |
X个参数未关联 |
|
参数生效 | 详细示例可查看:模型参数默认生效。 也可查看:参数原理视频讲解.mp4。 |
5、设置好参数后,保存数据模型,并去创建 交互式仪表盘,制作组件,并且拖入参数,可以根据参数查询订单信息,效果如下:
...
参数联动是指参数A的选择影响参数B可选值的一种动态效果。
示例:区域、省份 参数联动查询。
具体步骤如下:
1、创建数据模型并且在模型中添加 即席查询 1、创建数据模型并且在模型中添加 可视化SQL查询。
2、在 即席查询 选择产品自带的northwind数据库, 可视化SQL查询 选择产品自带的northwind数据库,分别拖拽”发货区域“和”省份“字段到条件区,自动生成两个参数:
3、保存即席查询后,并返回数据模型。保存可视化SQL查询。后,并返回数据模型。
4、单击数据模型 设置参数 按钮,打开 参数管理 窗口,单击 一键映射 按钮,自动创建模型参数并映射即席查询中的参数:按照如下修改这两个参数设置:按钮,自动创建模型参数并映射可视化SQL查询中的参数:按照如下修改这两个参数设置:
销售区域参数 | |
销售省份参数 |
5、参数设置后,保存该数据模型。
6、创建自助仪表盘,并去创建 交互式仪表盘,制作组件,并且从右侧资源树拖入“销售区域”与参数“销售省份”,联动动态效果如下:
2.3 下拉树参数
示例:查询区域-省份-运费列表
具体操作步骤如下:
1、创建数据模型,并且在模型中增加可视化SQL查询,并且把 省份 作为筛选条件,如下图:
2、保存模型,并且在 参数管理映射对应的参数,以及编写SQL构建层级关系,该示例为2层:
选项 | 内容 | ||
---|---|---|---|
参数 |
| ||
默认值 |
| ||
备选值 |
| ||
根节点 |
|
3、创建好参数之后,保存模型去创建仪表盘,拖入参数,可查看下拉树作为参数效果以及筛选效果:
2.4 参数动态应用
参数在计算度量、计算成员和命名集中的应用可以实现根据参数取值的不同而动态获取结果。
2.
...
4.1 参数应用于计算度量
示例: 根据参数”结算时间点“选择的值,显示从当年1月1日至所选时间点的销量总和。
1、创建数据模型并且在模型中添加 即席查询 。可视化SQL查询 。
2、在 即席查询 选择产品自带的northwind数据库,拖拽字段如下: 可视化SQL查询。 选择产品自带的northwind数据库,拖拽字段如下:
3、保存即席查询后,并返回数据模型,基于时间字段”订单日期 保存可视化SQL查询后,并返回数据模型,基于时间字段”订单日期 创建时间层次,并且保存模型:
4、创建参数"结算时间点"
...
6、保存计算度量及数据模型后,在交互式仪表盘中使用该计算度量:
2.
...
4.2 参数应用于计算成员
详情也查看:自定义计算成员。
示例:排除所选区域的销售汇总。
...
5、保存计算成员及数据模型后,在自助仪表盘中运用该计算成员:
有bug,差图:eadb4054835e4e71f9b0d4a89813fde2
2.
...
4.3 参数应用于命名集
详情也查看:自定义命名集。
示例:排除所选区域的销售汇总。
...
5、保存命名集及数据模型后,在自助仪表盘中运用该命名集,可以通过参数”销量“实现动态变更
3 各个查询参数介绍
目前数据模型查询类型除数据源表(HaNa数据库的表可以有参数)、导入文件、日期表 之外,其它几种类型都支持带参数。
...
SQL查询中,在表达式中通过“${ParamName}”来标识参数,其中“ParamName”为参数名;用“{[ ]}”表示该参数可为空。如:参数表达式 {[id = ${产品编码}]},表示id字段与参数“产品编码”匹配,且参数允许为空用于输出所有编码的产品。
示例如下图,详情可参考: 创建SQL查询。
3.
...
2 可视化SQL查询
可视化SQL查询中的参数由拖拽字段生成的条件会自动生成参数,详情可参考:可视化SQL查询。
3.3 ETL高级查询
信息 | ||
---|---|---|
| ||
1、参数表达式中的参数名与参数设置的”参数名“必须一致。 2、定义参数时,可以设置参数为空;再使用参数的地方,用“{[ ]}”表示该参数可为空,即查询全部数据。 |
...
脚本查询中的参数在脚本代码的结果集中定义,根据参数默认值输出结果集。
3.6 Java查询
信息 | ||
---|---|---|
| ||
如果 Java查询 自动识别的参数默认值不能为空,在 数据模型/参数管理 参数映射时也不能设置参数默认值为空,否则会报错。 |
1、存储过程查询中的参数在定义存储过程的时候定义,根据参数默认值输出结果集。
2、详情可参考:Java查询。