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

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

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

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

显然,如果还需要做出前面的统计图,那么分类值和系列值就需要使用数据库中的列名也就是字段名了。说实话,小编以前看到这种数据除了摇头,也就是想办法重新设计一张数据表,把所有列名存入一个字段,然后再进行数据转换和导入了。不是小编无能,没办法直接用这些数据画出统计图,实在是因为列名与列名之间都是独立的个体,并没有一个整体的概念,所以也就没有办法表示出对应的占比情况了。但是修改数据库这种操作往往用户是极不愿意接受的,那么,这种统计图就做不了了吗?

现在,经过技能升级的小编可以负责任地告诉你,润乾报表完全可以不修改数据表就搞定问题!

还是用上图的数据和图表来展示一下润乾报表的这个秘技:

首先 ,设计报表模板:

其中:

A1:= ds1.select(设备类型),扩展方向为横向。

A2:=list(“待机时间“,”空转时间“,”加工时间“),扩展方向为横向。

A3:=case(A2,”待机时间“,ds1.待机时间,”空转时间“,ds1.空转时间,”加工时间“, ds1.加工时间)

这里用到了list()和case()函数,是因为系列值实际上是分类轴的一个附属格,而报表画图的时候,只是把分类轴当成集合,系列值是当成一个值来画的,所以这里只取了list的第一个值。

看一下统计图中的设置:

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

噹噹噹… 一个列名作为分类的统计图报表就完成了。

我们来回顾一下其中遇到的问题和解决的技巧:

1.列名集合化

【技巧】使用list()函数获得一个枚举的数据集合。

2.系列值正确匹配列名

【技巧】使用case()函数使数据与列名匹配。

最后我们发现,其实这里仅仅使用了润乾报表的2个函数(list(),case()),是不是一不小心,又双叒叕get了新技能?有木有觉得润乾的程序猿哥哥棒棒哒,想要私信一下,那就别再犹豫了微信公众号搜索“raqsoft”加关注, 快来加入润乾大家庭吧,你的程序猿哥哥已经等你很久喽。

号外号外:报表制作过程中涉及到所有的函数都可从《用户手册》”第5章  表达式及函数 ”中查阅详解奥,而统计图的配置是在《用户手册》“第1.4.7章 统计图”中奥,这个秘密小编只告诉你了奥。

原文地址:https://www.cnblogs.com/raqsoft2000/p/9282263.html

时间: 2024-11-10 13:23:15

列名作为分类值时如何画出统计图的相关文章

Python3 Tkinter基础 Canvas bind 绑定左键 鼠标左键点击时,在当前位置画出一个椭圆形

镇场诗: 清心感悟智慧语,不着世间名与利.学水处下纳百川,舍尽贡高我慢意. 学有小成返哺根,愿铸一良心博客.诚心于此写经验,愿见文者得启发.------------------------------------------ code: from tkinter import * root=Tk() w=Canvas(root,width=200,height=200,background='white') w.pack() def paint(event): #event.x 鼠标左键的横坐标

在资源里面画出你的界面

在资源里面画出你的界面.在添加类.然后在视图里定义这个类的指针,DIALOG的指针,还有就是区域对象, 如下Cwindows *tw;  CRect m_cle;CDialogEx *ph;在CPP文件构造函数里初始化ZeroMemory(&m_cle,sizeof(m_cle));tw = new Cwindows(this);:在重写OnCreate(LPCREATESTRUCT lpCreateStruct)函数在里面加上 { if (CView::OnCreate(lpCreateStr

全面总结:MATLAB如何画出漂亮的图

在绘图命令中应该如何确定横坐标和纵坐标的标度尺寸(自己定范围) 如何在一个坐标中绘制多条曲线,并用不同的颜色区别. 希望得到答案,谢谢!!!!!!!!!!! help plot help axis axis ('xlabel','ylabel') a1=plot(); hlod on a2=plot(); legend([a1 a2],'图1名',‘图2名') hold off 还可以更多 x1=-pi:pi/12:pi; x2=-pi:pi/12:pi; y1=sin(x1); y2=cos(

achartengine画出动态折线图

achartengine画出动态折线图的效果最近有个项目需要用到实时曲线图,我也上网搜索了一下,最后还是选择使用achartengine这个现成的东西,毕竟自己再canvas一下实在是太麻烦,而且项目时间上也不允许,虽然这个画图引擎比较简单,不过勉强够用了. 下一步问题就来了,我仓促上手,只会画静态图,就是事先定义好几个坐标,然后activity载入的时候折线就已经画好了,可是我的项目要求我每隔一秒种都要把新搜集到的数据添加到图表中去,类似于windows中那个任务管理器里的性能统计图,网上搜来

利用笛卡尔坐标系在控制台画出二叉树

思想 二叉树的概念就不说了,怎样把二叉树画出来,像课本上那样的. 在控制如画的话,就是在一个纯文本的环境下了. 整个控制如可以看作是一个笛卡尔坐标系. 通过给树的结点设置x y 坐标 - 计算x时即按照每行有 2^x 个元素,从root开始,下一行的左右结点的位置位于父结点的左右两边. 计算y时需要使用一开始创建树的时候设置好的树的层级 level 属性. 从而能够在控制台画出二叉树. 树的结点定义 /** * * @auther wuwang * @createTime 2015-6-17 下

C++从零实现深度神经网络之五——模型的保存和加载以及画出实时输出曲线

本文由@星沉阁冰不语出品,转载请注明作者和出处. 文章链接:http://blog.csdn.net/xingchenbingbuyu/article/details/53704085 微博:http://weibo.com/xingchenbing  一.模型的保存和加载 在我们完成对神经网络的训练之后,一般要把模型保存起来.不然每次使用模型之前都需要先训练模型,对于data hungry的神经网络来说,视数据多寡和精度要求高低,训练一次的时间从几分钟到数百个小时不等,这是任何人都耗不起的.把

H5坦克大战之画出坦克

今天是个特殊的日子,圣诞节,也是周末,在这里先祝大家圣诞快乐!喜庆的日子,我们可以稍微放松一下,扯一扯昨天雷霆对战凯尔特人的比赛,这场比赛大威少又双叒叕拿下三双,而且是一个45+11+11的超级三双,其实小托马斯的表现也不遑多让,拿下31分9个助攻,末节一开始便带队打出一波小高潮反超比分,无奈威少爷最后几分钟暴走直接带走比赛,让人直呼精彩.好了,扯完之后我们进入正题. 今天给大家带来的是一个比较好玩的东西--H5坦克大战.这个东西的实现主要用到了H5的canvas以及原生的js,如果你已经是大牛

matlplotlib根据函数画出图形(二)

matplotlib基础知识 matpltlib中的基本图表包括的元素 1.x轴和y轴:水平和垂直的轴线 2.x轴和y轴的刻度:刻度标识坐标值的分隔,包括最小刻度和最大刻度 3.x轴和y轴刻度:表示特定坐标轴的值 4.绘图区域:实际绘图的区域 绘制单一曲线的图 代码如下 import matplotlib.pyplot as plt%matplotlib inlineimport numpy as np x = np.linspace(0,2*np.pi,50) #,定义自变量的取值,并返回把范

架构师必备技能:教你画出一张合格的技术架构图

当我们想用一张或几张图来描述我们的系统时,是不是经常遇到以下情况: 对着画布无从下手.删了又来? 如何用一张图描述我的系统,并且让产品.运营.开发都能看明白? 画了一半的图还不清楚受众是谁? 画出来的图到底是产品图功能图还是技术图又或是大杂烩? 图上的框框有点少是不是要找点儿框框加进来? 布局怎么画都不满意…… 如果有同样的困惑,本文将介绍一种画图的方法论,来让架构图更清晰. 先厘清一些基础概念 1.什么是架构? 架构就是对系统中的实体以及实体之间的关系所进行的抽象描述,是一系列的决策. 架构是