以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]怎么让图表中合并相同内容列的统计数值?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=88434)

--  作者:cqusand
--  发布时间:2016/8/2 21:57:00
--  [求助]怎么让图表中合并相同内容列的统计数值?
\'图表1
Dim Chart As WinForm.Chart \'定义一个图表变量
Dim Series As WinForm.ChartSeries \'定义一个图系变量
Dim t As Table = Tables("任务信息") \'定义一个变量t引用数据表
Dim sm As Integer = t.Compute("Sum(外协费用)") \'计算总数量
Chart= Forms("数据报表").Controls("Chart1") \' 引用窗口中的图表
Chart.SeriesList.Clear() \'清除图表原来的图系

Chart.VisualEffect = True \'加上这一行,让你的图表更漂亮
Chart.ChartType = ChartTypeEnum.Pie \'图表1类型改为PIE(饼形)
For Each r As Row In t.Rows
    Series = Chart.SeriesList.Add() \'增加一个图系
    Series.Length = 1 \'一个系列只能包括一个值
    Series.Text = r("外协单位") & "(" & r("外协费用") & ")" \'设置图系的标题
    Series.Y(0) = r("外协费用") \'指定值

    Series.DataLabelText = Math.Round(r("外协费用")*100/sm,2) & "%" \'计算百分比
Next
Chart.LegendVisible = True \'显示图列
Chart.LegendCompass= CompassEnum.East \'图列显示在东方(右方)

--  作者:cqusand
--  发布时间:2016/8/2 21:59:00
--  
我的这个外协单位会重复出现 ,怎么能在生成的图表中自动合并相同外协单位的外协费用呢?


--  作者:狐狸爸爸
--  发布时间:2016/8/3 8:38:00
--  
Dim Chart As WinForm.Chart \'定义一个图表变量
Dim Series As WinForm.ChartSeries \'定义一个图系变量
Dim sm As Integer = DataTables("任务信息").Compute("Sum(外协费用)") \'计算总数量
Chart= Forms("数据报表").Controls("Chart1") \' 引用窗口中的图表
Chart.SeriesList.Clear() \'清除图表原来的图系
Chart.VisualEffect = True \'加上这一行,让你的图表更漂亮
Chart.ChartType = ChartTypeEnum.Pie \'图表1类型改为PIE(饼形)
For Each nm As String In DataTables("任务信息").GetValues("外协单位")
    Dim v As Double = DataTables("任务信息").compute("Sum(外协费用)","外协单位=\'" & nm & "\'")
    Series = Chart.SeriesList.Add() \'增加一个图系
    Series.Length = 1 \'一个系列只能包括一个值
    Series.Text = nm & "(" & v & ")" \'设置图系的标题
    Series.Y(0) = v \'指定值

    Series.DataLabelText = Math.Round(v*100/sm,2) & "%" \'计算百分比
Next
Chart.LegendVisible = True \'显示图列
Chart.LegendCompass= CompassEnum.East \'图列显示在东方(右方)