列名作为分类值如何画出统计图

简介:

一般来说,在报表中设计的统计图要用到两个变量值,一个是分类值,一般是统计中的横轴,还有一个就是系列值,相应的就是统计图中的纵轴。绝大多数情况下,分类值与系列值都是来源于表中的数据,也就是说,统计图是基于数据库表中的记录来设计器的,例如下面这个统计图:
1

一般会来自于这样的数据:
2

但是,有时会遇到下面这样的数据:
3

显然,如果还需要做出前面的统计图,那么分类值和系列值就需要使用数据库中的列名也就是字段名了。说实话,小编以前看到这种数据除了摇头,也就是想办法重新设计一张数据表,把所有列名存入一个字段,然后再进行数据转换和导入了。不是小编无能,没办法直接用这些数据画出统计图,实在是因为列名与列名之间都是独立的个体,并没有一个整体的概念,所以也就没有办法表示出对应的占比情况了。但是修改数据库这种操作往往用户是极不愿意接受的,那么,这种统计图就做不了了吗?
现在,经过技能升级的小编可以负责任地告诉你,润乾报表完全可以不修改数据表就搞定问题!
还是用上图的数据和图表来展示一下润乾报表的这个秘技:
首先, 设计报表模板:
4

其中:
A1:= ds1.select(设备类型),扩展方向为横向。
A2:=list(“待机时间“,”空转时间“,”加工时间“),扩展方向为横向。
A3:=case(A2,”待机时间“,ds1. 待机时间,”空转时间“,ds1. 空转时间,”加工时间“, ds1. 加工时间)
这里用到了 list()和 case() 函数,是因为系列值实际上是分类轴的一个附属格,而报表画图的时候,只是把分类轴当成集合,系列值是当成一个值来画的,所以这里只取了 list 的第一个值。
看一下统计图中的设置:
5

接下来,保存,看下展现的效果,如下图:
6

噹噹噹… 一个列名作为分类的统计图报表就完成了。
我们来回顾一下其中遇到的问题和解决的技巧:

  1. 列名集合化
    【技巧】使用 list() 函数获得一个枚举的数据集合。
  2. 系列值正确匹配列名
    【技巧】使用 case() 函数使数据与列名匹配。
目录
相关文章
|
安全 搜索推荐 Ubuntu
|
11月前
|
JavaScript Java 测试技术
基于SpringBoot+Vue实现的高校食堂移动预约点餐系统设计与实现(源码+文档+部署)
面向大学生毕业选题、开题、任务书、程序设计开发、论文辅导提供一站式服务。主要服务:程序设计开发、代码修改、成品部署、支持定制、论文辅导,助力毕设!
反馈机制
反馈机制
733 6
|
Java 开发工具 Android开发
Eclipse 快捷键
Eclipse 快捷键
279 4
|
数据库 Android开发 数据安全/隐私保护
在 Android Studio 中结合使用 SQLite 数据库实现简单的注册和登录功能
在 Android Studio 中结合使用 SQLite 数据库实现简单的注册和登录功能
484 2
|
存储 Apache 容器
Cookie持久化方案——PersistentCookieStore源码解读。
客户端登陆之后一般都会在本地持有某个cookie,在退出登录时将这个cookie清理掉。如果Request的body体中持有这个cookie,服务器就会认为客户端的用户处于登录状态。反之,就会认为用户没有登录。 假设用户一直处于登录状态,如果他关闭了应用,那么他的登录状态应该保存起来。这样的话,在他下次打开应用时,他的状态还是登录状态,不需要再次登录。 如何实现呢?很简单,将有效的cookie保存起来,需要的时候拿出来,塞进请求里面就ok了。
Cookie持久化方案——PersistentCookieStore源码解读。
|
异构计算
FPGA进阶(3):SDRAM读写控制器的设计与验证(二)
FPGA进阶(3):SDRAM读写控制器的设计与验证(二)
186 0
|
存储 Kubernetes NoSQL
【K8S系列】第七讲:有状态服务 VS 无状态服务
【K8S系列】第七讲:有状态服务 VS 无状态服务
1197 0
|
弹性计算 编解码 运维
全景剖析阿里云容器网络数据链路(二)—— Terway ENI
本系列联合作者 容器服务 @谢石 近几年,企业基础设施云原生化的趋势越来越强烈,从最开始的IaaS化到现在的微服务化,客户的颗粒度精细化和可观测性的需求更加强烈。容器网络为了满足客户更高性能和更高的密度,也一直在高速的发展和演进中,这必然对客户对云原生网络的可观测性带来了极高的门槛和挑战。为了提高云原生网络的可观测性,同时便于客户和前后线同学增加对业务链路的可读性
1382 0
全景剖析阿里云容器网络数据链路(二)—— Terway ENI
|
Web App开发 安全 前端开发
Mixed Content: The page at was loaded over HTTPS, but requested an insecure imag
Mixed Content: The page at was loaded over HTTPS, but requested an insecure imag
768 0
Mixed Content: The page at was loaded over HTTPS, but requested an insecure imag