Foxtable(狐表)用户栏目专家坐堂 → 图表


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

主题:图表

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/11/6 9:31:00 [显示全部帖子]

先进行分组统计得到表格,或者执行sql语句得到临时表

 

cmd.commandText = "select top 5 设备编号, count(*) as 次数 from {设备维修单} where [日期] >=  '" &  sqrq.value  & "' And [日期] <= '" &  zzrq.value  & "' group by 设备编号 order by count(*)"

 

http://www.foxtable.com/webhelp/scr/0696.htm

 

然后根据临时表dt的值,赋值给你的图表


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/11/6 15:22:00 [显示全部帖子]

如果不会写,那就先生成分组统计表,然后排序,取前五个数据

 

http://www.foxtable.com/webhelp/scr/0158.htm

 

http://www.foxtable.com/webhelp/scr/0677.htm

 


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/11/6 15:23:00 [显示全部帖子]

生成统计表后,参考 http://www.foxtable.com/webhelp/scr/0972.htm

 

不会做上传实例。


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/11/6 16:58:00 [显示全部帖子]

Dim sqrq As WinForm.DateTimePicker = e.Form.Controls("DateTimePicker1")
Dim zzrq As WinForm.DateTimePicker = e.Form.Controls("DateTimePicker2")
Dim pmc As WinForm.ComboBox = e.Form.Controls("ComboBox1")

If sqrq.value = Nothing OrElse zzrq.value = Nothing
    MessageBox.show("起始日期不能为空,请先选择起始日期","提示",MessageBoxButtons.OK,MessageBoxIcon.Warning)
    Return
Else
    Dim dt As DataTable
    Dim b As New GroupTableBuilder("设备故障统计表",DataTables("表A"))
    b.filter = "[日期] > =  #" &  sqrq.value  & "# And [日期] < #" &  zzrq.value.adddays(1)  & "#"
    b.Groups.AddDef("设备编号")
    b.Totals.AddDef("设备编号",AggregateEnum.Count, "故障次数")
    dt = b.Build(False)
   
    Dim Chart As WinForm.Chart
    Dim Series As WinForm.ChartSeries
    Dim pds = dt.Select("", "故障次数 desc")
    Dim sm As Integer = dt.Compute("Sum(故障次数)")
    Chart= e.Form.Controls("Chart1")
    Chart.SeriesList.Clear()
    Chart.AxisX.ClearValueLabel
    Chart.VisualEffect = True
    Chart.ChartType = ChartTypeEnum.Pie
    Dim num = iif(val(pmc.text)>pds.count, pds.count-1, val(pmc.text)-1)

    For i As Integer = 0 To num
        Series = Chart.SeriesList.Add()
        Series.Length = 1
        Series.Text = pds(i)("设备编号") & "(" & pds(i)("故障次数") & ")"
        Series.Y(0) = pds(i)("故障次数")
        Series.DataLabelText = Math.Round(pds(i)("故障次数") * 100 / sm,1) & "%"
    Next
    Chart.LegendVisible = True
    Chart.LegendCompass= CompassEnum.East
End If


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/11/6 18:15:00 [显示全部帖子]

加上你的数据源名

 

b.ConnectionName = "aaa"


 回到顶部