Foxtable(狐表)用户栏目专家坐堂 → 代码只有同比、环比率,没增减额


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

主题:代码只有同比、环比率,没增减额

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


加好友 发短信
等级:一尾狐 帖子:426 积分:3505 威望:0 精华:0 注册:2015/4/17 9:13:00
代码只有同比、环比率,没增减额  发帖心情 Post By:2016/3/29 9:50:00 [只看该作者]

GroupTableBuilder有以下属性,用于对统计结果进行进一步的分析:

  • SamePeriodGrowth
    逻辑型,是否生成同比增长率
     
  • CircleGrowth
    逻辑型,是否生成环比增长率
     
  • GrandProportion
    逻辑型,是否生成总占比
     
  • GroupProportion
    逻辑型,是否生成分组占比
请问一下,FOXTABLE有没是生成生成同比(或环比)增长额的代码

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


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

 没有自动生成的代码。

 

 你可以生成统计表以后,循环每一行,加减值就是答案,类似

 

http://www.foxtable.com/help/topics/2482.htm

 


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


加好友 发短信
等级:一尾狐 帖子:426 积分:3505 威望:0 精华:0 注册:2015/4/17 9:13:00
  发帖心情 Post By:2016/3/29 10:02:00 [只看该作者]

官方增加一个增长额的代码,对我们方便很多

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


加好友 发短信
等级:一尾狐 帖子:426 积分:3505 威望:0 精华:0 注册:2015/4/17 9:13:00
  发帖心情 Post By:2016/3/29 10:13:00 [只看该作者]

现在结合这个New GroupTableBuilder使用,下应的代码该怎么使用表达或修改

Select e.DataCol.Name
    Case
"数量","日期"
        Dim
dr1 As DataRow = e.DataRow '本日期的行
        Dim
dr2 As DataRow = e.DataTable.Find("日期 < #" & e.DataRow("日期") & "#","日期 Desc") '前一日期的行
        Dim
dr3 As DataRow = e.DataTable.Find("日期 > #" & e.DataRow("日期") & "#","日期") '下一日期的行
        If
dr2 Is Nothing Then
            dr1
("环比") = 0
        ElseIf
dr2("数量") > 0
           
dr1("环比") = (dr1("数量") - dr2("数量")) / dr2("数量")
        Else

            dr1
("环比") = Nothing
        End If
        If
dr3 IsNot Nothing
            If
dr1("数量") > 0 Then
                dr3
("环比") = (dr3("数量") - dr1("数量")) / dr1("数量")
            Else

                dr3
("环比") = Nothing
            End If
        End If
End Select


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


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

Dim g As New GroupTableBuilder("统计表1", DataTables("订单"))
g.Groups.AddDef("日期", "月")
g.Groups.AddDef("产品")
g.Totals.AddDef("数量")
g.Build()
Dim t As Table = Tables("统计表1")
t.DataTable.DataCols.Add("环比", Gettype(Double))
Dim pr As Row
For Each r As Row In t.Rows
    If pr Is Nothing OrElse r("产品") <> pr("产品") Then
        r("环比") = 0
    Else
        r("环比") = r("数量") - pr("数量")
    End If
    pr = r
Next

MainTable = t


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


加好友 发短信
等级:一尾狐 帖子:426 积分:3505 威望:0 精华:0 注册:2015/4/17 9:13:00
  发帖心情 Post By:2016/3/29 13:51:00 [只看该作者]

谢谢大红袍,能否再给多一个同比的增长额代码,谢谢

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


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

一样,很简单

 

Dim g As New GroupTableBuilder("统计表1", DataTables("订单"))
g.Groups.AddDef("日期",  DateGroupEnum.Year, "年")
g.Groups.AddDef("日期", "月")
g.Groups.AddDef("产品")
g.Totals.AddDef("数量")
g.Build()
Dim t As Table = Tables("统计表1")
t.DataTable.DataCols.Add("同比", Gettype(Double))
t.sort = "产品,月,年"
Dim pr As Row
For Each r As Row In t.Rows
    If pr Is Nothing OrElse r("产品") <> pr("产品") Then
        r("同比") = 0
    Else
        r("同比") = r("数量") - pr("数量")
    End If
    pr = r
Next

MainTable = t


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


加好友 发短信
等级:一尾狐 帖子:426 积分:3505 威望:0 精华:0 注册:2015/4/17 9:13:00
  发帖心情 Post By:2016/3/29 15:23:00 [只看该作者]

Dim g As New GroupTableBuilder("统计表1", DataTables("订单"))
g.Groups.AddDef("日期",  DateGroupEnum.Year, "年")
g.Groups.AddDef("日期", "月")

g.Groups.AddDef("客户")
g.Groups.AddDef("产品")
g.Totals.AddDef("数量")
g.Build()
Dim t As Table = Tables("统计表1")
t.DataTable.DataCols.Add("同比", Gettype(Double))
t.sort = "产品,月,年"
Dim pr As Row
For Each r As Row In t.Rows
    If pr Is Nothing OrElse r("产品") <> pr("产品") Then
        r("同比") = 0
    Else
        r("同比") = r("数量") - pr("数量")
    End If
    pr = r
Next

MainTable = t


可是多了一个按客户和产品进行同比就出现问题了


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


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

Dim g As New GroupTableBuilder("统计表1", DataTables("订单"))
g.Groups.AddDef("日期",  DateGroupEnum.Year, "年")
g.Groups.AddDef("日期", "月")

g.Groups.AddDef("客户")
g.Groups.AddDef("产品")
g.Totals.AddDef("数量")
g.Build()
Dim t As Table = Tables("统计表1")
t.DataTable.DataCols.Add("同比", Gettype(Double))
t.sort = "产品,客户,月,年"
Dim pr As Row
For Each r As Row In t.Rows
    If pr Is Nothing OrElse r("月") <> pr("月") OrElse r("客户") <> pr("客户") OrElse r("产品") <> pr("产品") Then
        r("同比") = 0
    Else
        r("同比") = r("数量") - pr("数量")
    End If
    pr = r
Next

MainTable = t

 


 回到顶部