1. 概述
1.1 问题描述
某些场景下,图表 Y 轴是来源于数据集的日期型数据,Y 轴的轴标签也需要修改为日期格式。以折线图为例,效果如下图所示:
如果只是将图表「样式>坐标轴>Y轴>格式」下的轴标签修改为「日期型」。
前端预览时,是无法正常显示图表数据的,如下图所示:
那么如何设置既能将轴标签改为日期格式又能保证图表正常展示数据呢?下面将详细介绍。
1.2 解决方案
1)将数据集中 Y 轴对应的日期数据拖入到单元格中,用 DATETONUMBER(date) 公式转为毫秒。
2)图表绑定已经转化为毫秒的单元格数据。
3)最后将图表 Y 轴的轴标签修改成日期型。
2. 示例
2.1 准备数据
新建普通报表,新建内置数据集,将数据集名称修改为 ds1,如下图所示:
数据集中「工艺」字段为字符串型,对应 X 轴的分类。「排期」字段为日期型,对应 Y 轴的值。
2.2 插入图表
合并一片区域单元格,选中合并后的单元格 A1,点击「插入图表」快捷按钮,插入「折线图」,如下图所示:
2.3 日期转毫秒
将内置数据集中的「工艺」和「排期」字段分别拖到 A22 和 B22 单元格中,选中 D22 单元格,点击插入公式快捷按钮,插入公式:DATETONUMBER(B22),如下图所示:
2.4 绑定数据
折线图属性面板选择「单元格元素>数据」,数据来源下拉选择「单元格数据」,分类名设置为 A22 单元格,新增一个系列名为空的系列,设置值为 D22 单元格,如下图所示:
2.5 设置样式
2.5.1 标题
折线图属性面板选择「单元格元素>样式>标题」,勾选标题可见,标题内容为「半导体工艺优化排期」,如下图所示:
2.5.2 坐标轴
折线图属性面板选择「单元格元素>样式>坐标轴>Y轴」,值定义最小值为:1262275200000,表示轴标签最小为「2010-01-01」,将轴标签修改为日期型。如下图所示:
注:设置最小值的目的是为了让 Y 轴的值可以有一个合理区间,让折线图走势更加明显,可根据您自己想选择的日期使用 DATETONUMBER(date) 公式自行换算即可。
2.5.3 提示
折线图属性面板选择「单元格元素>样式>提示」,勾选使用数据点提示,选中分类名、系列名、值,值的格式设置为「日期型」,如下图所示:
2.6 隐藏单元格
选中第 22 行,右键选择「隐藏」,前端不展示单元格数据,如下图所示:
2.7 效果预览
2.7.1 PC 端
保存报表,点击「分页预览」,效果如下图所示:
注:Y轴标签值为设置的 2010-01-01,但图表刻度会自行选择合适的值开始显示,故显示的最小值并非设置的最小值。
2.7.2 移动端
3. 模板下载
已完成模板参见:%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\Chart\图表Y轴标签设置为日期格式.cpt
点击下载模板:图表Y轴标签设置为日期格式.cpt