Foxtable(狐表)用户栏目专家坐堂 → 统计转移


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

主题:统计转移

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


加好友 发短信
等级:九尾狐 帖子:2707 积分:18056 威望:0 精华:0 注册:2013/4/9 10:41:00
统计转移  发帖心情 Post By:2016/11/3 11:29:00 [只看该作者]

可以把两个表统计的数据按照月份分别复制到统计表格吗
然后如果没有数据就默认为0
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:统计.table

统计表格 预留价格和预留单价 得到统计日期当月的最后一行, 感谢 感谢
图片点击可在新窗口打开查看此主题相关图片如下:qq截图20161103112552.jpg
图片点击可在新窗口打开查看
 

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


加好友 发短信
等级:超级版主 帖子:110597 积分:562881 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/11/3 11:48:00 [只看该作者]


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


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

感谢 感谢 看懂了一下, 只是这个时间怎么对应啊?感谢 感谢 

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


加好友 发短信
等级:二尾狐 帖子:573 积分:2961 威望:0 精华:0 注册:2016/10/27 14:33:00
  发帖心情 Post By:2016/11/3 12:05:00 [只看该作者]

Dim dt_tj As DataTable = DataTables("统计")
Dim dt_dd As DataTable = DataTables("订单")
Dim dt_zc As DataTable = DataTables("支出")

dt_tj.DataRows.Clear
Dim minDD As Date = dt_dd.compute("min(日期)")
Dim minZC As Date = dt_zc.compute("min(日期)")
Dim maxDD As Date = dt_dd.compute("max(日期)")
Dim maxZC As Date = dt_zc.compute("max(日期)")

Dim minDate As Date = iif(minDD<minZC, minDD, minZC)
Dim maxDate As Date = iif(maxDD>maxZC, maxDD, maxZC)

For i As Integer = minDate.Year To maxDate.Year
    For j As Integer = 1 To 12
        Dim ndr As DataRow = dt_tj.AddNew
        Dim d As Date = new Date(i, j, 1)
        Dim filter As String = "日期 >= #" & d & "# and 日期 < #" & d.AddMonths(1) & "#"
        ndr("年份") = i
        ndr("月份") = j
        ndr("订单_数量") = dt_dd.compute("sum(数量)", filter)
        ndr("订单_价格") = dt_dd.compute("sum(价格)", filter)
        Dim fdr As DataRow = dt_dd.Find(filter, "日期 desc")
        If fdr IsNot Nothing Then
            ndr("订单_预留价格") = fdr("预留价格")
        Else
            ndr("订单_预留价格") = 0
        End If
        ndr("支出_数量") = dt_zc.compute("sum(次数)", filter)
        ndr("支出_单价") = dt_zc.compute("sum(单价)", filter)
        fdr = dt_zc.Find(filter, "日期 desc")
        If fdr IsNot Nothing Then
            ndr("支出_预留单价") = fdr("预留单价")
        Else
            ndr("支出_预留单价") = 0
        End If
    Next
Next


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


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

If fdr IsNot Nothing Then
            ndr("订单_数量") = dt_dd.compute("sum(数量)", filter)
        Else
            ndr("数量") = 0
        End If  
感谢 
感谢  为什么之前没看见 fdr 声明  再加上一个就不能用了呢 

可以让其他几列没有数据的时候也默认为0吗
感谢 感谢 
[此贴子已经被作者于2016/11/3 12:16:06编辑过]

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


加好友 发短信
等级:二尾狐 帖子:573 积分:2961 威望:0 精华:0 注册:2016/10/27 14:33:00
  发帖心情 Post By:2016/11/3 12:25:00 [只看该作者]

Dim dt_tj As DataTable = DataTables("统计")
Dim dt_dd As DataTable = DataTables("订单")
Dim dt_zc As DataTable = DataTables("支出")

dt_tj.DataRows.Clear
Dim minDD As Date = dt_dd.compute("min(日期)")
Dim minZC As Date = dt_zc.compute("min(日期)")
Dim maxDD As Date = dt_dd.compute("max(日期)")
Dim maxZC As Date = dt_zc.compute("max(日期)")

Dim minDate As Date = iif(minDD<minZC, minDD, minZC)
Dim maxDate As Date = iif(maxDD>maxZC, maxDD, maxZC)

For i As Integer = minDate.Year To maxDate.Year
    For j As Integer = 1 To 12
        Dim ndr As DataRow = dt_tj.AddNew
        Dim d As Date = new Date(i, j, 1)
        Dim filter As String = "日期 >= #" & d & "# and 日期 < #" & d.AddMonths(1) & "#"
        ndr("年份") = i
        ndr("月份") = j
        ndr("订单_数量") = val(dt_dd.compute("sum(数量)", filter))
        ndr("订单_价格") = val(dt_dd.compute("sum(价格)", filter))
        Dim fdr As DataRow = dt_dd.Find(filter, "日期 desc")
        If fdr IsNot Nothing Then
            ndr("订单_预留价格") = fdr("预留价格")
        Else
            ndr("订单_预留价格") = 0
        End If
        ndr("支出_数量") = val(dt_zc.compute("sum(次数)", filter))
        ndr("支出_单价") = val(dt_zc.compute("sum(单价)", filter))
        fdr = dt_zc.Find(filter, "日期 desc")
        If fdr IsNot Nothing Then
            ndr("支出_预留单价") = fdr("预留单价")
        Else
            ndr("支出_预留单价") = 0
        End If
    Next
Next


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


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

感谢你 谢谢 

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


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

Dim minDate As Date = iif(minDD<minZC, minDD, minZC)
Dim maxDate As Date = iif(maxDD>maxZC, maxDD, maxZC)
这段是什么意思啊  感谢 感谢 

 Dim filter As String = "日期 >= #" & d & "# and 日期 < #" & d.AddMonths(1) & "#"
这段日期 是只的什么日期啊  感谢 感谢 
[此贴子已经被作者于2016/11/3 18:20:45编辑过]

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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2016/11/3 18:31:00 [只看该作者]

以下是引用yangwenghd在2016/11/3 17:59:00的发言:
Dim minDate As Date = iif(minDD<minZC, minDD, minZC)
Dim maxDate As Date = iif(maxDD>maxZC, maxDD, maxZC)
这段是什么意思啊  感谢 感谢 

 

获取需要统计的年月。获取订单的最大最小年月,获取支出的最大最小年月,得到两者的最大最小年月。


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


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

我可以在问一个问题吗?
是这样的,现在又添加了几个表,然后他们的日期列的名称都不同 
就不知道 那几项该怎么改了
感谢 感谢 

 回到顶部
总数 39 1 2 3 4 下一页