Foxtable(狐表)用户栏目专家坐堂 → 录入表自动生成汇总表?解决我一年的工作量。


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

主题:录入表自动生成汇总表?解决我一年的工作量。

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


加好友 发短信
等级:三尾狐 帖子:778 积分:7463 威望:0 精华:0 注册:2009/9/7 10:55:00
录入表自动生成汇总表?解决我一年的工作量。  发帖心情 Post By:2019/8/3 21:43:00 [只看该作者]


图片点击可在新窗口打开查看此主题相关图片如下:11.png
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:22.png
图片点击可在新窗口打开查看
请问各位大侠,如何根据录入表生成汇总表?
万分感谢!
[此贴子已经被作者于2019/8/3 21:44:57编辑过]

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


加好友 发短信
等级:三尾狐 帖子:778 积分:7463 威望:0 精华:0 注册:2009/9/7 10:55:00
  发帖心情 Post By:2019/8/3 21:47:00 [只看该作者]

附件是FOXTABLE格式的录入数据
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:员工业绩录入.table


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


加好友 发短信
等级:三尾狐 帖子:778 积分:7463 威望:0 精华:0 注册:2009/9/7 10:55:00
  发帖心情 Post By:2019/8/3 22:23:00 [只看该作者]

有大侠吗?


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


加好友 发短信
等级:狐神 帖子:4648 积分:33890 威望:0 精华:0 注册:2008/8/31 22:44:00
  发帖心情 Post By:2019/8/4 10:18:00 [只看该作者]

找不到更好的方法,试试笨方法:

增加一个“年月”的表达式列,表达式为:SubString(Convert([日期],'System.String'),1,4) + '年' +
SubString(Convert([日期],'System.String'),6,IIF(SubString(Convert([日期],'System.String'),7,1) In ('-','/'),1,2)) + '月'

Dim dic As New Dictionary(Of String, String)


For Each dr As DataRow In DataTables("表A").DataRows
    Dim bds As String = dr("年月") &  "_" & dr("业务类型") & "," & dr("执行员工")
    bds += "/" & dr("年月") &  "_业务量." & dr("业务类型") & "," & dr("业务量")
    Dim key As String = dr("客户名称")
    If dic.ContainsKey(key)
        dic(key) += "/" & bds
    Else
        dic.Add(key,bds)
    End If
Next

Dim bm As String = "汇总"

Dim dtb As New DataTableBuilder(bm)

dtb.AddDef("客户名称", Gettype(String), 32)

For Each s As String In dic("虹桥公司").split("/")
    If s.Contains(".")
        dtb.AddDef(s.split(",")(0), Gettype(Integer), 32)

    Else
        dtb.AddDef(s.split(",")(0),Gettype(String), 32)
    End If
Next
dtb.Build()

For Each k As String In dic.Keys

    Dim dr As DataRow = DataTables(bm).AddNew
    dr("客户名称") = k
    For Each s As String In dic(k).split("/")
        dr(s.split(",")(0)) = s.split(",")(1)
    Next
Next
For Each dc As DataCol In DataTables(bm).DataCols
    If dc.Name.Contains("业务量.")
        dc.Caption = dc.Name.split(".")(0)
    End If
Next
DataTables(bm).BuildHeader
Tables(bm).ListMode = True
Tables(bm).AutoSizeCols
MainTable= Tables(bm)

 

[此贴子已经被作者于2019/8/4 17:03:24编辑过]

 回到顶部