Foxtable(狐表)用户栏目专家坐堂 → [求助]如何生成柱状+线状图标


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

主题:[求助]如何生成柱状+线状图标

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


加好友 发短信
等级:三尾狐 帖子:660 积分:3965 威望:0 精华:0 注册:2014/3/16 20:34:00
[求助]如何生成柱状+线状图标  发帖心情 Post By:2014/4/14 22:38:00 [只看该作者]

待解决问题:

1.如何在下面这份表中增加“合计”项;(图表1)

2.增加完合计项目后,并用这份临时表,生成类似的图表(按月);(图表2)

 

现在用原代码是

 

MainTable = Tables("订单")
Dim Cmd As new SQLCommand
Cmd.ConnectionName = "foxsale"
Cmd.CommandText = "select distinct 分区,年,月份,目标 from 目标 where " & CustomFilter
Dim dt1 As DataTable = Cmd.ExecuteReader
Dim dtb As New DataTableBuilder("统计")
dtb.AddDef("分区", Gettype(String), 50)
Dim prds As List(of String()) = dt1.GetUniqueValues("","年","月份")
Dim exp As String
dtb.AddDef("目标总额", Gettype(Double))
dtb.AddDef("销售总额", Gettype(Double))
dtb.AddDef("达成率", Gettype(Double),"[销售总额]/[目标总额]")
For Each prd As String() In prds
    dtb.AddDef(prd(0) & "_" & prd(1) & "_目标", Gettype(Double))
    dtb.AddDef(prd(0) & "_" & prd(1) & "_销售", Gettype(Double))
    exp = String.format("[{0}]/[{1}]",prd(0) & "_" & prd(1) & "_销售" ,prd(0) & "_" & prd(1) & "_目标" )
    dtb.AddDef(prd(0) & "_" & prd(1) & "_达成率", Gettype(Double),exp)
Next
dtb.Build()
Cmd.CommandText = "select 分区,year(日期) as 年,month(日期) as 月份,sum(金额) as 销售 from 订单 where " & CustomFilter & " group by 分区,year(日期),month(日期)"
Dim dt2 As DataTable = Cmd.ExecuteReader
For Each cus As String In dt1.GetUniqueValues("","分区")
    Dim dr As DataRow = DataTables("统计").AddNew()
    dr("分区") = cus
    For Each prd As String() In prds
        dr(prd(0) & "_" & prd(1) & "_目标") = dt1.Compute("Sum(目标)","分区 = '" & cus & "' And [年] = '" & prd(0) & "' and 月份 = '"& prd(1) &"'")
        dr(prd(0) & "_" & prd(1) & "_销售") = dt2.Compute("Sum(销售)","分区 = '" & cus & "' And [年] = '" & prd(0) & "' and 月份 = '"& prd(1) &"'")
    Next
    dr("目标总额") = dt1.Compute("Sum(目标)","分区 = '" & cus & "'")
    dr("销售总额") = dt2.Compute("Sum(销售)","分区 = '" & cus & "'")
Next
For Each prd As String() In prds
    DataTables("统计").DataCols(prd(0) & "_" & prd(1) & "_达成率").SetFormat("0.00%")
Next
DataTables("统计").DataCols("达成率").SetFormat("0.00%")
MainTable = Tables("统计")
Tables("统计").AutoSizeCols

图片点击可在新窗口打开查看此主题相关图片如下:qq图片20140414223648.jpg
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:qq图片20140414223655.jpg
图片点击可在新窗口打开查看

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


加好友 发短信
等级:三尾狐 帖子:668 积分:8561 威望:0 精华:0 注册:2011/5/5 23:55:00
  发帖心情 Post By:2014/4/14 23:14:00 [只看该作者]

做个例子上来

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


加好友 发短信
等级:三尾狐 帖子:660 积分:3965 威望:0 精华:0 注册:2014/3/16 20:34:00
  发帖心情 Post By:2014/4/15 10:20:00 [只看该作者]

也就是说,目标值和销售值,用柱状;达成率用线状,然后按月列出来


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


加好友 发短信
等级:三尾狐 帖子:660 积分:3965 威望:0 精华:0 注册:2014/3/16 20:34:00
  发帖心情 Post By:2014/4/15 10:21:00 [只看该作者]

例子很大,我尝试过几次上传都失败了~

能否在我上面的代码上,帮助我改一下,谢谢老师。


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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/4/15 11:50:00 [只看该作者]

纸上不谈兵

上传图片和文件参考这里http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&Id=78


请尽量使用IE,谷歌,火狐等主流浏览器上传.  

使用谷歌浏览器必须要先输入一个以上的字符

上传后需要等文件代码出现才算成功!


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


加好友 发短信
等级:三尾狐 帖子:660 积分:3965 威望:0 精华:0 注册:2014/3/16 20:34:00
  发帖心情 Post By:2014/4/15 11:59:00 [只看该作者]

以上是含“目标”和“订单”表的项目;
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.rar


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


加好友 发短信
等级:三尾狐 帖子:660 积分:3965 威望:0 精华:0 注册:2014/3/16 20:34:00
  发帖心情 Post By:2014/4/15 12:04:00 [只看该作者]

 
图片点击可在新窗口打开查看
临时统计表我已经能做出来了,就是要生成类似上面EXCEL做的图表
 
 
 
图片点击可在新窗口打开查看
红色代表目标、蓝色代表实际销量、线代表达成率;要生出这样的图例

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


加好友 发短信
等级:三尾狐 帖子:660 积分:3965 威望:0 精华:0 注册:2014/3/16 20:34:00
  发帖心情 Post By:2014/4/15 12:06:00 [只看该作者]

临时统计表我已经能做出来了,就是要生成类似上面EXCEL做的图表
红色代表目标、蓝色代表实际销量、线代表达成率;要生出这样的图例
 
 

图片点击可在新窗口打开查看此主题相关图片如下:360截图20140415120510468.jpg
图片点击可在新窗口打开查看

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


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

 第一个问题,加入这段代码

 

For Each c As Col In Tables("统计").Cols
    If c.IsNumeric Then
        c. GrandTotal = True
    End If
Next
Tables("统计").GrandTotal = True


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


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

 你说的合计项,是求和,还是求平均值?

 回到顶部
总数 21 1 2 3 下一页