文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

数据库中存储的数据显示设置攻略是什么

2023-06-04 05:36

关注

这篇文章的内容主要围绕数据库中存储的数据显示设置攻略是什么进行讲述,文章内容清晰易懂,条理清晰,非常适合新手学习,值得大家去阅读。感兴趣的朋友可以跟随小编一起阅读吧。希望大家通过这篇文章有所收获!

数据库中存储的数据通常会有一些代码值字段,如员工编号、部门代码、类别 ID 等等,报表展示时如果直接展示代码值形式,使用人员无法理解该值的具体含义,所以要求将编码值转换成对应的使用人员能够理解的中文形式,又或者数据库中存储的出生日期是 date 形式,展现时要将其转换成标准的 2018 年 12 月 12 日这种形式。下面通过一个例子的实际操作来介绍下这种需求的实现方法。

首先连接 demo 数据源,从“员工”表中取数制作一个员工信息表,报表模板如下图:

数据库中存储的数据显示设置攻略是什么

此时点击预览,报表结果如下:

数据库中存储的数据显示设置攻略是什么

要求

将出生日期转换成标准的 yyyy 年 MM 月 dd 日格式

将性别、学历转换成对应的中文形式

将工资加上货币符号

日期格式设置

报表单元格中支持显示格式设置,直接对数据进行格式化操作,选中 C3 单元格,双击右侧的显示格式的值属性,会弹出显示格式设置对话框:

数据库中存储的数据显示设置攻略是什么

里边有各类型格式设置,找到日期分类中的 yyyy 年 MM 月 dd 日,点击确定,这样,出生日期列就能按照想要的格式效果展示。

数值转中文

接下来看下性别和学历设置,性别比较固定,一般就是“男”或者“女”,针对此种比较固定的,可以在显示值表达式中的 if 函数进行控制,在 D4 单元格的显示值表达式中写入:if(value()==1,“男”,“女”),value() 函数是报表自带的一个函数,用于获取当前单元格的真实值,通过判断当前单元格为 1 时,返回显示值“男”,否则显示“女”,注意:value()==1,性别字段在数据库中是整数,所以此处直接写 1,如果是字符串,需要写成”1”,要注意数据类型,如果有多种类型,可以做 if 嵌套,具体可以参考报表函数说明。针对此种数据比较固定的,还有一个函数可以实现:map 函数,也可以在 D4 单元格的显示值表达式中写入:map(list(1,2),list(“男”,“女”)),第一个 list 中列出的是单元格内真实值的列表,第二个 list 会进行显示值的映射。

学历单元格设置和性别有些类似,都要通过显示值表达式进行设置,可以使用 if 或 map 函数,但是学历数据会较多,需要写入大量的表达式,并且学历在数据库中可能是会变化的,比如过段时间会增加个新学历,还要再次修改报表,针对此种形式,数据库中通常会有中文字典表。在报表中新增数据集,从“DEGREE”表中取数,该表中数据如下:

数据库中存储的数据显示设置攻略是什么

可以看到,ID 中的数据就是员工表中学历列的值,NAME 字段存储的是对应的中文,这样可以根据 ID 和 DEGREE 字段的关联,取出需要的中文进行显示,在 E3 单元格的显示值表达式中写入:ds2.select(NAME,ID==value(),1),该表达式含义为从 ds2 数据集中取出 ID 等于当前单元格值的 NAME 字段的值放到显示值中显示,注意后边的 1 为取出满足条件的第一条记录,如果有满足直接进行返回不再向后判断,所以为提高报表计算效率,需要增加“1”的设置。这里用到了从另外一个数据集中取出对应的中文的写法,实际使用中,如果字典表和数据表在同一个库中,建议通过一个 sql 通过 where 关联方式直接取出中文,这样当数据量大时效率更高,如果数据来自不同库,数据量大时导致计算较慢,可以通过集算器将两个数据集 join 在一起返回到报表是一个数据集,这样效率更高,具体看实际需求。

货币格式

最后工资列设置显示格式“¥#0.00”就行了,如图:

数据库中存储的数据显示设置攻略是什么

最终报表展示效果如下:

数据库中存储的数据显示设置攻略是什么

本例中通过显示格式和显示值表达式的使用能够控制单元格的显示样式,此时更改的只是单元格显示效果,如果在其他单元格引用这些单元格的话,引用的还是报表单元格的原值,如果要引用显示值,可以使用 disp() 函数。

显示格式表达式控制

显示格式目前用到最多的是直接在显示格式中选择,实际上显示格式支持表达式对其进行控制,比如某个单元格表达式为:=list(11,12.5345,14,15.66),这个单元格展示时既有浮点数,又有整数,好多客户希望如果是整数则直接显示整数, 如果是浮点数,则保留两位小数显示,这样就用到了显示格式表达式,如在该单元格的显示格式表达式中写入:if(value()==int(value()),“#”,“#0.00”),判断该单元格的数值是否是整数,如果是则显示格式为”#”, 否则显示格式为”#0.00”, 该单元格预览后效果如下:

数据库中存储的数据显示设置攻略是什么

可以看到报表属性可以通过表达式进行动态控制,达到动态的显示效果。

显示值实现特殊格式

润乾自带了显示格式,但有些格式可能无法满足客户的特殊需要,比如 2018-11-30 这种日期格式需要显示成:30 Nov. 2018,此时可以使用显示值表达式进行特殊设置,比如 B2 单元格为日期,则在 B2 单元格显示值表达式中写入:

string(day(value()))+"  "+case(string(month(value())),"1":"Jan.";"2":"Feb.";"3":"Mar.";"4":"Apr.";"5":" May.";"6":"Jun.";"7":"Jul.";"8":"Aug.";"9":"Sept.";"10":"Oct.";"11":"Nov.";"12":"Dec.")+" "+string(year(value()))

该表达式先通过函数分别截取日期中的日、月、年,然后通过 case 函数将月转换成想要的格式再拼接在一起,这样就能够实现特殊显示格式的控制。

通过显示格式能将数据进行格式化操作,通过显示值能够将单元格内的值换成其他值进行显示而不影响原单元格的真实值,并且两个属性都可以通过表达式灵活设置,使得数据显示设置真的灵活运用于各种需求之中。

感谢你的阅读,相信你对“数据库中存储的数据显示设置攻略是什么”这一问题有一定的了解,快去动手实践吧,如果想了解更多相关知识点,可以关注编程网网站!小编会继续为大家带来更好的文章!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯