Foxtable(狐表)用户栏目专家坐堂 → 怎么才能将数据都显示在一个柱形体上面呢


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

主题:怎么才能将数据都显示在一个柱形体上面呢

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


加好友 发短信
等级:八尾狐 帖子:1812 积分:12999 威望:0 精华:14 注册:2008/10/11 18:07:00
  发帖心情 Post By:2013/3/22 23:28:00 [显示全部帖子]

这样?

 

'------------------------------筛选条件-------------------------------
Dim Filter As String
With e.Form.Controls("产品组")
    If .Value IsNot Nothing Then
        Filter = "培训_产品组1 = '" & .Value & "'"
    End If
End With
With e.Form.Controls("StartDate")
    If .Value IsNot Nothing Then
        If Filter >"" Then
            Filter = Filter & " And "
        End If
        Filter = Filter & "培训_时间1 >= #" & .Value & "#"
    End If
End With
With e.Form.Controls("EndDate")
    If .Value IsNot Nothing Then
        If Filter >"" Then
            Filter = Filter & " And "
        End If
        Filter = Filter & "培训_时间1 <= #" & .Value & "#"
    End If
End With
If Filter > "" Then
    Tables("学员基础信息").Filter = Filter
End If

'------------------------------------生成统计表------------------------

Dim s1,flt1 As String
Dim dt As DataTable =DataTables("学员基础信息")
s1 = e.Form.Controls("产品组").value

If DataTables.Contains("统计") '如果存在统计表
    DataTables.Delete("统计") '则删除之
End If
Dim dtb As New DataTableBuilder("统计")
dtb.AddDef(
"产品组" , Gettype(String), 32)
dtb.AddDef("MIN", Gettype(Integer))
dtb.AddDef("MAX", Gettype(Integer))
dtb.Build()
Dim t As Table =Tables("统计")
t.AddNew(4)
For Each r As Row In t.Rows
    r(
"产品组" ) ="Pretest,PostTest,RolePlay,PPT".split(",")(r.Index)
    flt1 ="ITC_ITC1_" & r(
"产品组")
    r("MIN") = dt.Compute("Min(" & flt1 & ")",Filter)
    r("MAX") = dt.Compute("MAX(" & flt1 & ")",Filter)
Next

'-------------------------------------生成图表---------------------------
Dim Chart As WinForm.Chart '定义一个图表变量
Dim Series As WinForm.ChartSeries '定义一个图系变量
Chart = e.Form.Controls("Chart1") ' 引用窗口中的图表
Chart.SeriesList.Clear() '清除图表原来的图系
Chart.ChartType = ChartTypeEnum.Bar '图表类型改为Bar(条形)
Chart.DataSource = "统计" '设置绑定表
chart.Stacked = True

For Each c As Col In t.Cols
    If c.Name <>  
"产品组"  Then
        Series = Chart.SeriesList.Add() '增加一个图系
        Series.Text = c.Name '设置图系的标题
        Series.X.DataField = 
"产品组"   'X轴绑定到产品列
        Series.Y.DataField = c.Name '设置Y轴的绑定列
        Series.DataLabelText = "{#YVAL}"
    End If
Next

'Chart.VisualEffect = True '加上这一行,让你的图表更漂亮
Chart.LegendVisible = True '显示图列

[此贴子已经被作者于2013-3-25 16:31:16编辑过]

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


加好友 发短信
等级:八尾狐 帖子:1812 积分:12999 威望:0 精华:14 注册:2008/10/11 18:07:00
  发帖心情 Post By:2013/3/25 16:32:00 [显示全部帖子]

呵呵, 試試 再次複製7樓代碼.

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


加好友 发短信
等级:八尾狐 帖子:1812 积分:12999 威望:0 精华:14 注册:2008/10/11 18:07:00
  发帖心情 Post By:2013/3/25 18:22:00 [显示全部帖子]

dtb.AddDef("AVG", Gettype(Integer))

r("AVG") = dt.Compute("Avg(" & flt1 & ")",Filter)


聚合函数

聚合函数用于数据统计,表达式支持下列聚合函数:

Sum:求和

Avg:平均

Min:最小值

Max:最大值

Count:计数

StDev:标准偏差

Var:方差

例如要对当前表的金额列汇总,公式为:

Sum([金额]) 

实际上,聚合函数更多的时候是用于统计子表的数据,接下来我们会介绍。

[此贴子已经被作者于2013-3-25 18:23:46编辑过]

 回到顶部