Foxtable(狐表)用户栏目专家坐堂 → 图表如何增加平均数,还有如何由高到低排序?


  共有3668人关注过本帖树形打印复制链接

主题:图表如何增加平均数,还有如何由高到低排序?

帅哥哟,离线,有人找我吗?
有点甜
  11楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/3/1 19:36:00 [只看该作者]

 试了一下,不能够在右上角显示你需要的那个总统计,你只能用其他方式来代替了。

 第一个按钮的代码,第二、三个按钮的代码,没理解透你是什么意思

Dim Chart  As WinForm.Chart  '定义一个图表变量
Dim Series As WinForm.ChartSeries '定义一个图系变量
'Tables("订单").Filter = "[部门] = '销售部'"
Tables("订单").Sort = "金额 DESC"
Dim tbl As DataTable =  DataTables("订单") '定义一个变量tbl引用数据表
Dim lst As List(Of String) = tbl.GetValues("销售", "", "金额 desc")'获得产品名称集合
Chart = e.Form.Controls("Chart1") ' 引用窗口中的图表
Chart.ChartType = ChartTypeEnum.Bar
Chart.SeriesList.Clear() '清除图表原来的图系
Series = Chart.SeriesList.Add() '增加一个图系
Series.Length = lst.Count + 1 '设置图系的长度
Dim flag As Integer = 0
For i As Integer =  0  To lst.Count -  1  '指定每个数据点的位置
    If i = Cint(lst.Count / 2) Then
        Series.X(i) = i '指定水平坐标
        'Series.Y(i) = tbl.Compute("Sum(金额)","[销售] = '" & lst(i) & "'") '指定垂直坐标
        Series.Y(i) = tbl.Compute("avg(金额)", "") '指定垂直坐标
        Chart.AxisX.SetValueLabel(i, "平均值")  '指定字符表示
        flag = 1
    End If
    Series.X(i+flag) = i + flag '指定水平坐标
    'Series.Y(i) = tbl.Compute("Sum(金额)","[销售] = '" & lst(i) & "'") '指定垂直坐标
    Series.Y(i+flag) = tbl.Compute("avg(金额)","[销售] = '" & lst(i) & "'") '指定垂直坐标
    Chart.AxisX.SetValueLabel(i+flag, lst(i))  '指定字符表示
Next
Chart.AxisX.AnnoWithLabels = True '启用字符标示
Series.DataLabelText = "{#YVAL}"


 回到顶部
帅哥哟,离线,有人找我吗?
linshibin
  12楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:150 积分:1619 威望:0 精华:0 注册:2012/2/10 9:26:00
  发帖心情 Post By:2014/3/1 21:22:00 [只看该作者]

多谢啦。不过还有问题要麻烦你,还请你多多指导:

 

不是在中间插入平均值,是要平均值也是按金额的顺序来排的,比如说3000  1600 平均值(1100) 800 500 500 200

 

第二个的意思是:一个销售做了三个订单,总额六千  那么他平均每单的金额就是2000,另一个销售做了两单,总金额是2000,那么他每单平均金额就是1000,按照销售订单的每单的平均金额进行排序,同时计算一个平均值,跟第一个一样,插入到平均值对应的位置。进行排序。然后在每个销售柱子的旁边 显示一个他一共接了多少订单,还有一个总共多少金额。

 

第三个已经搞定了。


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  13楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/3/1 21:50:00 [只看该作者]

 回复12楼。你的逻辑有问题:如果要做统计图表:步骤应该是这样的 1、生成所需要的统计表(生成以后可以方便对统计变排序、添加、修改);2、根据统计表生成图表

 第一个问题:你先生成统计表,插入一条平均值,排序;

 第二个问题:也是先生成统计表,统计总金额和订单数,之后生成图表就方便了。


 回到顶部
帅哥哟,离线,有人找我吗?
linshibin
  14楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:150 积分:1619 威望:0 精华:0 注册:2012/2/10 9:26:00
  发帖心情 Post By:2014/3/2 14:03:00 [只看该作者]

继续请教:

第一个问题:统计表那如何插入一行平均值

第二个问题:统计表如何插入计算平均单价的列,同时如何再插入一行平均值

 

 


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  15楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/3/2 19:59:00 [只看该作者]

 第一个问题:

dim nr as row = tables("统计表").addnew
nr("xxx") = "123"
nr("yyy") = "456"

 第二个问题:

不需要插入平均单价的列,你只需要在生成图表的时候,用总金额/单数就行了;
插入一行平均值,参考第一个问题,平均值的值,你应该是会求的,用compute函数

 回到顶部
总数 15 上一页 1 2