葡萄城报表是一套强大的报表开发和系统搭建工具,既能与您开发的报表软件项目紧密集成,也可独立部署运行,支持多数据源,具有无编码、灵活、稳定等特性,可以帮您快速搭建专业的报表软件系统,实现各类报表的设计、管理、权限控制、数据填报、负载均衡及跨平台发布。

本节主要讲解使用葡萄城报表制作多Y轴组合图表。

图表应用中,经常会有展示多项数值型数据的需求,比如分析每个月的销售额和销售量的图表,如下图:

由于销售金额与销售数量的数量级不同,如果采用简单的柱形图,销售数量将因数值太小而紧贴在X轴上,看不出各月的销售量变化趋势。此时就需要使用葡萄城报表的多Y轴功能,实现独立刻度的多Y轴组合图表。

(1)创建数据集

从报表管理门户(http://localhost:8080)点击【创建报表】,进入新报表的设计页面。点击右边栏的【数据】选项卡,再点击【数据集】右侧的【添加】如下图:

在【新建数据集】下方,选中之前创建好的示例数据源,再点击【添加】按钮,如下图:

在数据集编辑对话框中,输入SQL语句:

SELECT strftime("%m",O.订购日期) AS 订购月,COUNT(O.订单ID) AS 订单数量, SUM(OD.数量 * OD.单价 *(1- OD.折扣)) AS 订单金额
FROM 订单 O
INNER JOIN 订单明细 OD ON O.订单ID = OD.订单ID
WHERE strftime("%Y",O.订购日期) = "2011"
GROUP BY strftime("%m",O.订购日期)
order by 1

如下图:

(2)添加图表控件

从工具箱中拖放一个图表到设计区,将数据集的【订购月】字段拖放到【分类字段】区域,将【订单数量】和【订单金额】拖放到【数据字段】区域,如下图:

(3)添加新Y轴

在右侧【选项】设置面板中,点击【数据坐标轴】右侧的图标,再点击【添加项目】,即可添加一个新的Y轴,如下图:

点击【Y2】右侧的设置图标,切换到【坐标轴格式】设置面板,设置【位置】为【右边(Right)】,意为将Y2轴显示在绘图区的右侧,如下图:

(4)数据字段绑定新Y轴

在图表中选中【订单数量】字段,将右侧选项面板中的【数据坐标轴名称】从默认的【Y1】修改为【Y2】,再将【类型】选定为【折线(Line)-平滑(Smooth)】,如下图:

(5)设置外观

点击左侧工具箱上方的元素管理图标,展开报表元素树形结构,选中图表元素【图表1】,设置【皮肤】为【自定义(Custom)】,添加两个自定义的颜色,如下图:

选中元素树形目录中的【图表标题】,在选项设置面板中修改【标题】为“销售额与销售量分析”,如下图:

选中元素树形目录中的【图例】,在选项设置面板中修改【类型】为【行(Row)】,修改【位置】为【底部居中(BottomCenter)】,如下图:

选中元素树形目录中的【分类坐标轴-坐标轴标题】,在选项设置面板中修改【坐标轴标题】为【月份】,如下图:

使用同样方法,将Y1和Y2的坐标轴标题修改为【销售量】和【销售额】。再适当调整图表的尺寸。

预览效果如下图:

可以看到,由于两个Y轴的刻度最大值不同,销售额和销售量都能清楚地看到每个月的变化趋势。

转载请注明出自:葡萄城报表

关于葡萄城报表
葡萄城报表是一套强大的报表开发和系统搭建工具,既能与您开发的报表软件项目紧密集成,也可独立部署运行,支持多数据源,具有无编码、灵活、稳定等特性,可以帮您快速搭建专业的报表软件系统,实现各类报表的设计、管理、权限控制、数据填报、负载均衡及跨平台发布。

千万种报表,同一种选择!获知葡萄城报表更多详情,请访问如下网站:
了解报表开发控件:http://www.gcpowertools.com.cn/products/activereports_overview.htm
了解报表服务器:http://www.grapecity.com.cn/enterprise-solutions/activereports_server

在线报表设计实战系列 – 制作多Y轴组合图表(8)的更多相关文章

  1. [.NET领域驱动设计实战系列]专题十一:.NET 领域驱动设计实战系列总结

    一.引用 其实在去年本人已经看过很多关于领域驱动设计的书籍了,包括Microsoft .NET企业级应用框架设计.领域驱动设计C# 2008实现.领域驱动设计:软件核心复杂性应对之道.实现领域驱动设计 ...

  2. [.NET领域驱动设计实战系列]专题一:前期准备之EF CodeFirst

    一.前言 从去年已经接触领域驱动设计(Domain-Driven Design)了,当时就想自己搭建一个DDD框架,所以当时看了很多DDD方面的书,例如领域驱动模式与实战,领域驱动设计:软件核心复杂性 ...

  3. NET 领域驱动设计实战系列总结

    NET 领域驱动设计实战系列总结 一.引用 其实在去年本人已经看过很多关于领域驱动设计的书籍了,包括Microsoft .NET企业级应用框架设计.领域驱动设计C# 2008实现.领域驱动设计:软件核 ...

  4. ActiveReports报表控件 V13 正式发布,提供在线报表设计和自适应报表布局

    重磅消息, ActiveReports V13 正式发布!本次更新 ActiveReports 将给您带来全新的报表设计体验:提供在线报表设计器.提供响应式布局和屏幕尺寸自适应能力.提供全新的图表…… ...

  5. AppBoxFuture: Web在线报表设计与PDF生成

      企业应用需要打印各类单证及报表,为了方便开发此类应用作者在框架内集成了报表引擎,并且实现了基于Canvas的Web在线报表设计及基于PDFJS的报表查看与打印. 一.原理浅析 报表模型:由Xml描 ...

  6. [.NET领域驱动设计实战系列]专题二:结合领域驱动设计的面向服务架构来搭建网上书店

    一.前言 在前面专题一中,我已经介绍了我写这系列文章的初衷了.由于dax.net中的DDD框架和Byteart Retail案例并没有对其形成过程做一步步分析,而是把整个DDD的实现案例展现给我们,这 ...

  7. [办公应用]如何制作二Y轴图(excel)

    有时候我们会遇到一种图表,就是X轴一致,可是Y轴的数据相差很大.如下图中,年龄和收入就不是一个数量级,在图表中显示的时候,“年龄”的曲线根本看不到(表中数据仅供举例): 解决的方法就是使用双Y轴显示, ...

  8. [.NET领域驱动设计实战系列]专题十:DDD扩展内容:全面剖析CQRS模式实现

    一.引言 前面介绍的所有专题都是基于经典的领域驱动实现的,然而,领域驱动除了经典的实现外,还可以基于CQRS模式来进行实现.本专题将全面剖析如何基于CQRS模式(Command Query Respo ...

  9. [.NET领域驱动设计实战系列]专题五:网上书店规约模式、工作单元模式的引入以及购物车的实现

    一.前言 在前面2篇博文中,我分别介绍了规约模式和工作单元模式,有了前面2篇博文的铺垫之后,下面就具体看看如何把这两种模式引入到之前的网上书店案例里. 二.规约模式的引入 在第三专题我们已经详细介绍了 ...

随机推荐

  1. 同时绑定onpropertychange 和 oninput 事件,实时检测 input、textarea输入改变事件,支持低版本IE,支持复制粘贴

    实时检测 input.textarea输入改变事件,支持低版本IE,支持复制粘贴 检测input.textarea输入改变事件有以下几种: 1.onkeyup/onkeydown 捕获用户键盘输入事件 ...

  2. C# 添加修改防火墙端口及程序

    文章转自:http://sdfiyon.iteye.com/blog/1197511 一.添加 COM 引用 在引用里,选择 COM 页, 找到 NetFwTypeLib , 确定即可 二.添加允许通 ...

  3. Java读取文件加锁代码Demo(利用Java的NIO)

    本博文部分转载于:http://blog.csdn.net/wangbaochu/article/details/48546717 Java 提供了文件锁FileLock类,利用这个类可以控制不同程序 ...

  4. C# 多线程学习系列二

    一.关于前台线程和后台线程 1.简介 CLR中线程分为两种类型,一种是前台线程.另一种是后台线程. 前台线程:应用程序的主线程.Thread构造的线程都默认为前台线程 后台线程:线程池线程都为后台线程 ...

  5. ERR only (P)SUBSCRIBE / (P)UNSUBSCRIBE / PING / QUIT allowed in this context

    封装Redis发布订阅时,SUB时,又想探测具体Channel的状态,于是执行PUBSUB CHNNALES命令,报 ERR only (P)SUBSCRIBE / (P)UNSUBSCRIBE / ...

  6. JavaSE-序列化和反序列化

    什么是序列化,什么时候要进行序列化? 序列化就是一种用来处理对象流的机制,所谓对象流也就是将对象的内容进行流化,将数据分解成字节流,以便存储在文件中或在网络上传输. 我们在对java对象进行IO流操作 ...

  7. 浅谈Retrofit2+Rxjava2

    近几年,Retrofit犹如燎原之火搬席卷了整个Android界.要是不懂Retrofit,简直不好意思出门...由于近几个项目都没用到Retrofit,无奈只能业余时间自己撸一下,写的不好的地方,还 ...

  8. StreamSets学习系列之StreamSets是什么?

    不多说,直接上干货! StreamSets是一个侧重数据集成.数据加工流程构建的平台,也是一个开源的产品.通过StreamSets,用户可以方便的接入不同的数据源,并且完成数据加工流程的构建.Stea ...

  9. docker OCI runtime

    Open Container Initiative(OCI)目前有2个标准:runtime-spec以及image-spec.前者规定了如何运行解压过的filesystem bundle.OCI规定了 ...

  10. es-04-mapping和setting的建立

    mapping和setting, 使用java客户端比较难组装, 可以使用python或者scala 这儿直接在kibana中进行DSL创建 1, mapping 创建索引的时候, 可以事先对数据进行 ...