Foxtable(狐表)用户栏目专家坐堂 → 统计图表学习


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

主题:统计图表学习

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


加好友 发短信
等级:九尾狐 帖子:2707 积分:18056 威望:0 精华:0 注册:2013/4/9 10:41:00
统计图表学习  发帖心情 Post By:2015/9/21 23:28:00 [只看该作者]

能再帮忙看看 实在是玩不转了
感谢 感谢 
比如Table1 筛选出企业名称  选择 “新州焊接设备有限公司” 然后选择 显示数据的选项  销售额 ... (勾上的显示 没勾的不显示 )然后选择 显示图表的显示周期,感谢感谢  

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:统计图表学习.table



图片点击可在新窗口打开查看此主题相关图片如下:统计学习.jpg
图片点击可在新窗口打开查看


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/9/22 9:29:00 [只看该作者]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:统计图表学习.table


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


加好友 发短信
等级:九尾狐 帖子:2707 积分:18056 威望:0 精华:0 注册:2013/4/9 10:41:00
  发帖心情 Post By:2015/9/22 21:00:00 [只看该作者]

感谢了 刚回家,问问可以让表显示对时间范围是Panel1 选择的范围吗?感谢 感谢


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/9/22 21:11:00 [只看该作者]

自食其力

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/9/22 21:13:00 [只看该作者]

Dim d1 As Date = e.Form.Controls("DateTimePicker5").Value
If d1 = Nothing Then d1 = Date.Today
Dim filter1 As String = ""
If e.Form.Controls("RadioButton1").Checked Then
    filter1 = "出单日期 = #" & d1 & "#"
ElseIf e.Form.Controls("RadioButton2").Checked Then
    Dim w As Integer = d1.DayOfWeek '算出今天是星期几
    Dim dt1 As Date = d1.AddDays(0 - w) '获取本周的第一天 ,星期一到星期天
    Dim dt2 As Date = d1.AddDays(6 - w) '获取本周的最后一天
    filter1 = "出单日期 >= #" & dt1 & "# and 出单日期 <= #" & dt2 & "#"
Else If e.Form.Controls("RadioButton3").Checked Then
    Dim y As Integer = d1.Year
    Dim m As Integer = d1.Month
    Dim dt1 As New Date(y, m, 1)
    Dim dt2 As New Date(y, m, Date.DaysInMonth(y, m)) '获取本月的最后一天
    filter1 = "出单日期 >= #" & dt1 & "# and 出单日期 <= #" & dt2 & "#"
Else If e.Form.Controls("RadioButton4").Checked Then
    Dim y As Integer = d1.Year
    Dim q As Integer = (d1.Month - 1) \ 3 + 1 '计算现在是第几个季度
    Dim dt1 As New Date(y, 3 * (q - 1) + 1, 1) '获取本季度的第一天
    Dim dt2 As New Date(y, 3 * q, Date.DaysInMonth(y,3 * q)) '获取本季度的最后一天
    filter1 = "出单日期 >= #" & dt1 & "# and 出单日期 <= #" & dt2 & "#"
Else If e.Form.Controls("RadioButton5").Checked Then
    Dim y As Integer = d1.Year
    Dim dt1 As New Date(y, 1, 1)
    Dim dt2 As New Date(y, 12, 31)
    filter1 = "出单日期 >= #" & dt1 & "# and 出单日期 <= #" & dt2 & "#"
Else If e.Form.Controls("RadioButton6").Checked Then
    filter1 = "1=1"
End If


Dim Chart As WinForm.Chart = e.Form.Controls("Chart1") ' 引用窗口中的图表
Dim series As winform.ChartSeries
Chart.SeriesList.Clear() '清除图表原来的图系
Chart.AxisX.ClearValueLabel
Dim tp As DateGroupEnum = 0

Dim cbx  = e.Form.Controls("ComboBox11")
Select Case cbx.Text
    Case "年"
        tp = DateGroupEnum.Year
    Case "季"
        tp = DateGroupEnum.Quarter
    Case "月"
        tp = DateGroupEnum.month
    Case "周"
        tp = DateGroupEnum.Week
    Case "天"
        tp = DateGroupEnum.None
    Case Else
        tp = DateGroupEnum.None
End Select

Dim g As New GroupTableBuilder("临时统计表", DataTables("表B"))
g.Groups.AddDef("出单日期", tp, "日期")
g.Totals.AddDef("销售合计")
g.Totals.AddDef("采购价")
g.Totals.AddDef("税价")
g.Totals.AddDef("返点")
g.Totals.AddDef("利润和")
g.Filter = filter1
g.Build()

Dim t As Table = Tables("临时统计表")
t.Sort = "日期"
For i As Integer = 1 To 6
    Dim c As WinForm.CheckBox = e.Form.Controls("CheckBox" & i)
    If c.Checked Then
        Series = Chart.SeriesList.Add() '增加一个图系
        Series.Length = t.Rows.Count
        Series.TooltipText = c.Text & " : {#YVAL}"
        Series.Text = c.Text
        For r As Integer = 0 To t.Rows.Count - 1
            Series.X(r) = r
            Series.Y(r) = t.Rows(r)(c.Text)
        Next
    End If
Next
For r As Integer = 0 To t.Rows.Count - 1
    Chart.AxisX.SetValueLabel(r, t.Rows(r)("日期")) '指定字符表示
Next
Chart.AxisX.AnnoWithLabels = True '启用字符标示
Chart.VisualEffect = True '加上这一行,让你的图表更漂亮
Chart.LegendVisible = True '显示图列
Chart.AxisX.AnnoRotation = - 45 'X轴标示逆时针旋转45度
Chart.LegendCompass= CompassEnum.South '图列显示在南方(底端)


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


加好友 发短信
等级:九尾狐 帖子:2707 积分:18056 威望:0 精华:0 注册:2013/4/9 10:41:00
  发帖心情 Post By:2015/9/22 21:42:00 [只看该作者]

感谢 感谢 能问一个在难一点的问题吗?
如果显示的表 是 Panel1 时间范围 后 点击表格的数据 后在统计 显示出表格选择的数据显示的图表 可以吗? 实在是太难了
 比如 选择时间范围 选择 全部、企业名称、业务员、类型、 点击列表  如果选择类型 就会根据时间筛选出  列 丝锥 钻头 铣刀 ,点击 丝锥 在点击统计  就显示出 丝锥 的利润和 销售额  等其他的图形。 
确实太麻烦了, 大概意思就是  在时间范围 选择列的某一种物品 类型 企业名称 业务员的某一个  显示出这个的图像  感谢 感谢    

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/9/22 21:59:00 [只看该作者]

自己理解上面代码。无法理解,就去看帮助文档学习一遍。

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


加好友 发短信
等级:九尾狐 帖子:2707 积分:18056 威望:0 精华:0 注册:2013/4/9 10:41:00
  发帖心情 Post By:2015/9/22 22:21:00 [只看该作者]

我知道需要先生成一个临时表,这个临时表可以是根据Table1 选择的生成吗?后面真的感觉太难了!!再麻烦你一下,中秋节快乐 !!!

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/9/22 22:23:00 [只看该作者]

设置好filter就行,自己想办法

 

g.Filter = filter1


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


加好友 发短信
等级:九尾狐 帖子:2707 积分:18056 威望:0 精华:0 注册:2013/4/9 10:41:00
  发帖心情 Post By:2015/9/22 22:25:00 [只看该作者]

好的 我先自己试试 麻烦你了哦 感谢 感谢 

 回到顶部
总数 19 1 2 下一页