反馈已提交

网络繁忙

数据实际值与显示值

  • 文档创建者:天玑科技-叶然
  • 编辑次数:23次
  • 最近更新:Catqiu 于 2021-10-29
  • 1. 概述

    1.1 版本

    报表服务器版本
    11.0

    1.2 预期效果

    在原始数据表中,保存的是编码性质的数据,而在数据呈现时,需要显示的是有意义的实际值,而编码与值往往保存在另外一张表中。

    如内置的 FRDemo 数据库的订单表中只有客户 ID,对应的客户名称在客户表中,希望将订单明细报表中的客户 ID 显示为对应的客户名称,如下图所示:

    1571211326537597.png

    1.3 实现思路

    1)方法一:使用「单元格属性>形态」中的数据字典,设置实际值和显示值

    2)方法二:使用函数 split,并结合形态设置

    2. 方法一:数据字典

    数据字典类型有 4 种,其中包括「数据库表,数据查询,自定义,公式」,将分别对应不同应用场景,详情请参见:数据字典

    2.1 打开报表

    打开报表%FR_HOME%\webroot\WEB-INF\reportlets\doc\Primary\DetailReport\行式报表—数据纵向扩展.cpt

    2.2 设置数据字典

    选中客户 ID 数据列单元格,选择「单元格属性>形态>数据字典」,设置实际值为客户表中的客户 ID 列,显示值为客户表中的公司名称列,如下图所示:

    1571212457826041.png

    2.3 效果预览

    保存模板,点击预览,效果如 1.2 节所示。

    3. 方法二:设置公式

    3.1 应用场景

    当客户有多个且在一个单元格以某一符号隔开保存时,上面的方法就无法实现最终的效果了。

    例:订单为 10001 的客户同时为:VINET,TOMSP,HANAR,且保存在同一单元格以“,”隔开。


    方法一实现结果为:


    最终结果要求为:


    利用方法一形态没有完全替换,实际结果与要求不符。遇到这种情况,就需要按照下文进行设置。

    3.1 报表设置

    打开报表%FR_HOME%\webroot\WEB-INF\reportlets\doc\Primary\DetailReport\行式报表—数据纵向扩展.cpt

    修改数据库为上图情况。

    1)在 B 列后面插入新列(客户名称),在 C2 单元格设置公式:=split(B2, ","),且添加形态设置,方法参考:方法一


    2)设置 C2 单元格扩展方向:无,父格:默认。

    1571212979681331.png

    3)设置 D2 单元格扩展方向:纵向,左父格:B2。

    1571213042738481.png

    4)右击 B 列,隐藏。

    1571213098848798.png

    3.2 效果预览

    保存模板,点击预览,效果如上文预期效果所示。

    4. 已完成模板

    方法一已完成的模板,可参见%FR_HOME%\webroot\WEB-INF\reportlets\doc\Primary\DetailReport\改变显示值.cpt

    点击下载模板:改变显示值.cpt

    附件列表


    主题: 报表应用
    • 有帮助
    • 没帮助
    • 只是浏览

    售前咨询电话

    400-811-8890转1

    在线技术支持

    在线QQ:800049425

    热线电话:400-811-8890转2

    总裁办24H投诉

    热线电话:173-1278-1526

    文 档反 馈

    鼠标选中内容,快速反馈问题

    鼠标选中存在疑惑的内容,即可快速反馈问题,我们将会跟进处理。

    不再提示

    10s后关闭