Foxtable(狐表)用户栏目专家坐堂 → 图示最近6个月的数据


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

主题:图示最近6个月的数据

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


加好友 发短信
等级:超级版主 帖子:107440 积分:546479 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/1/12 20:59:00 [显示全部帖子]

Dim g As New GroupTableBuilder("统计表1", DataTables("表A"))
g.Groups.AddDef("日期", DateGroupEnum.Year, "年")
g.Groups.AddDef("日期", "月")
g.Totals.AddDef("金额")
g.FromServer = True
Dim d As Date = Date.Today.AddMonths(-5)
g.Filter = "日期 >= #" & new Date(d.Year,d.Month,1) & "#"
g.Build()
MainTable = Tables("统计表1")

Dim Chart As WinForm.Chart '定义一个图表变量
Dim Series As WinForm.ChartSeries '定义一个图系变量
Dim t As Table = Tables("统计表1") '定义一个变量t引用数据表
t.Sort = "年,月"
Chart= e.Form.Controls("Chart1") ' 引用窗口中的图表
Chart.SeriesList.Clear() '清除图表原来的图系
Chart.AxisX.ClearValueLabel
Series = Chart.SeriesList.Add() '增加一个图系
Series.Length = t.Rows.Count '图系的数据点数等于表的行数
For i As Integer = 0 To t.Rows.Count - 1 '指定每个数据点的位置
    Series.X(i) = i '指定水平坐标
    Series.Y(i) = t.Rows(i)("金额") '指定垂直坐标
    Chart.AxisX.SetValueLabel(i, t.Rows(i)("年") & "年" & t.Rows(i)("月") & "月")
Next
Chart.AxisX.AnnoRotation = - 45 'X轴标示逆时针旋转45度
Chart.AxisX.AnnoWithLabels = True

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


加好友 发短信
等级:超级版主 帖子:107440 积分:546479 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/1/13 14:58:00 [显示全部帖子]

Dim g As New GroupTableBuilder("统计表2", DataTables("表A"))
Dim d As Date = Date.Today
Dim filter As Date
g.Filter = "日期 >= #" & new Date(d.Year,d.Month,1) & "#"
g.Groups.AddDef("日期", DateGroupEnum.Year, "年")
g.Groups.AddDef("日期", "月")
g.Groups.AddDef("客户")
g.Totals.AddDef("金额")
g.FromServer = True
g.Build

Dim Chart As WinForm.Chart '定义一个图表变量
Dim Series As WinForm.ChartSeries '定义一个图系变量
Dim dt As DataTable = DataTables("统计表2") '定义一个变量t引用数据表
Dim sm As Double = dt.Compute("Sum(金额)")

Chart= Forms("窗口1").Controls("Chart1") ' 引用窗口中的图表
Chart.VisualEffect = True '加上这一行,让你的图表更漂亮
Chart.ChartType = ChartTypeEnum.Pie '
Chart.SeriesList.Clear()
For Each dr As DataRow In dt.Select("","客户")
    Series = Chart.SeriesList.Add() '增加一个图系
    Series.Length = 1 '一个系列只能包括一个值
    Series.Text = dr("客户") & "(" & dr("金额") & ")" '设置图系的标题
    Series.Y(0) = dr("金额") '指定值
    Series.DataLabelText = Math.Round(dr("金额")*100/sm,2) & "%"   
Next
Chart.LegendVisible = True '显示图列
Chart.LegendCompass= CompassEnum.East

 回到顶部