value函数在决策报表中无联动效果

  • Last update:August 19, 2022
  • 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. 示例:方案一

    3.1 添加参数界面

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

    1608386088408180.png

    3.2 效果预览

    3.2.1 PC 端

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

    3.2.2 移动端

    App 与 HTML5 端效果相同,如下图所示:

    2022-08-19_14-41-52.gif

    4. 示例:方案二

    4.1 添加公式

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

    1608385462454942.png

    4.2 设置单元格属性

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

    Snag_ceefe4.png

    4.3 效果预览

    4.3.1 PC 端

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

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

    4.3.2 移动端

    App 与 HTML5 端效果相同,如下图所示:

    Attachment List


    Theme: 报表专题
    Already the First
    Already the Last
    • Helpful
    • Not helpful
    • Only read

    滑鼠選中內容,快速回饋問題

    滑鼠選中存在疑惑的內容,即可快速回饋問題,我們將會跟進處理。

    不再提示

    10s後關閉

    Get
    Help
    Online Support
    Professional technical support is provided to quickly help you solve problems.
    Online support is available from 9:00-12:00 and 13:30-17:30 on weekdays.
    Page Feedback
    You can provide suggestions and feedback for the current web page.
    Pre-Sales Consultation
    Business Consultation
    Business: international@fanruan.com
    Support: support@fanruan.com
    Page Feedback
    *Problem Type
    Cannot be empty
    Problem Description
    0/1000
    Cannot be empty

    Submitted successfully

    Network busy