历史版本5 :value函数在决策报表中无联动效果 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 概述编辑

1.1 问题描述

在决策报表中,设置一个参数,使用一个控件作为参数输入值,在其他控件、报表块、图表块中使用 value 函数 获取参数值,当输入的参数值改变时,获取值不会随之改变,即无联动效果。示例如下:

1)新建决策报表,新建数据库查询,SQL 语句为:select ${para1} as para1,para1 为数据集参数,默认值为 1 。如下图所示:

Snag_9a85ec.png

2)设计决策报表样式

在决策报表 body 中添加两个「标签控件」,控件值分别为「para1」、「para2」。

添加两个「文本控件」对应「para1」、「para2」,para1 为数据集参数,作为输入值;para2 输入公式:value('ds1',1)+1,返回获取的 para1 值加 1 后的值。

添加一个「报表块」,在单元格中插入公式:value('ds1',1) 。

决策报表样式如下图所示:

1608382931290629.png

3)保存报表,点击「PC端预览」,效果如下图所示:

Snag_b7de30.png

1.2 原因分析

value 函数在决策报表 body 中直接使用于控件、报表块和图表块之间时,不会触发联动效果。

2. 解决方案编辑

方案一:可以通过给 body 添加参数界面,在参数页面添加控件作为输入值,输入不同值后点击查询,各获取值会随之改变。

方案二:使用公式 $para1 取值可触发联动。

3. 示例:方案一编辑

1)添加参数界面,将 para1 添加到参数界面(新建参数界面并将para1,拖入面板即可),para2 及报表块中取值公式不变,如下图所示:

1608386088408180.png

2)保存报表,点击「PC端预览」,效果如下图所示:

4. 示例:方案二编辑

1)直接使用公式 $para1 取值,或者报表块中使用公式的同时,在任意一个单元格插入公式:$para1,即可触发联动效果。如下图所示:

1608385462454942.png

2)将报表块中公式 $para1 所在单元格「单元格属性>高级>预览单元格内容」取消勾选,如下图所示:

Snag_ceefe4.png

3)保存报表,点击「PC端预览」,效果如下图所示:

45974AF2-6CBF-493C-A0F9-EC5FCF866603.GIF