Foxtable(狐表)用户栏目专家坐堂 → 如何计算平均每次购买金额


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

主题:如何计算平均每次购买金额

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


加好友 发短信
等级:九尾狐 帖子:2355 积分:16187 威望:0 精华:0 注册:2013/9/1 8:09:00
如何计算平均每次购买金额  发帖心情 Post By:2013/9/9 22:03:00 [只看该作者]

如何在“统计结果”表里计算“原始数据”表里的平均每次购买金额。公式=每个人的购买金额/购买次数(相同日期的只算一次,如蔡圣连只算2次)


图片点击可在新窗口打开查看此主题相关图片如下:平均金额(购买次数).png
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:平均金额(统计结果).png
图片点击可在新窗口打开查看


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2013/9/9 22:13:00 [只看该作者]

 参考下面的代码。

Dim count As Integer = DataTables("原始数据").GetUniqueValues("姓名 = 'xxx'", "日期").count
Dim sum As Double = DataTables("原始数据").Compute("sum(金额)", "姓名 = 'xxx'")
msgbox(sum / count)

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


加好友 发短信
等级:九尾狐 帖子:2355 积分:16187 威望:0 精华:0 注册:2013/9/1 8:09:00
  发帖心情 Post By:2013/9/9 22:20:00 [只看该作者]

有点甜老师,您看下我的这个具体例子。

还有一个就是怎么把“原始数据”表里的姓名自动添加到“统计结果”表里。。。

还请您帮我看下之前写的代码是否有存在问题。

 不胜感激!!!!

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:平均每次购买金额.table

 

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2013/9/9 22:54:00 [只看该作者]

 把下面的代码写到你的datacolchanged事件里去

Select Case e.DataCol.Name
    Case "最后购买日期"
        If e.DataRow.IsNull("最后购买日期") Then
            e.DataRow("近度") = Nothing
        Else
            Dim  y,m,d As  Integer
            Dim dt1 As  Date =  e.DataRow("最后购买日期")
            Dim dt2 As  Date =  Date.Today
            DateYMD(dt1,dt2,y,m,d)
            e.DataRow("近度") = y * 12 + m
        End If
    Case "密度"
        If e.DataRow.IsNull("密度") = False AndAlso e.DataRow("密度") >= 0 Then
            Select Case e.DataRow("密度")
                Case 0 To 2
                    e.DataRow("密度级别") = 1
                Case 3 To 5
                    e.DataRow("密度级别") = 2
                Case Else
                    e.DataRow("密度级别") = 3
            End Select
        End If
    Case "姓名"
Dim Filter As String = "[姓名] = '" & e.NewValue & "'"
        If e.DataRow.Isnull("姓名") = False
            Dim pl As String = DataTables("原始数据").GetComboListString("日期", filter & " and 日期 not is null")
            e.DataRow("密度") = pl.Length - pl.Replace("|","").Length +1
        Else
            e.DataRow("密度") = Nothing
        End If        
        
        If e.DataRow.Isnull("姓名") = False
            Dim pl As String = DataTables("原始数据").GetComboListString("品类", filter & " and 品类 not is null")
            e.DataRow("宽度") = pl.Length - pl.Replace("|","").Length +1
        Else
            e.DataRow("宽度") = Nothing
        End If
        
        e.DataRow("最后购买日期") = DataTables("原始数据").Compute("Max(日期)", Filter)
        
        Dim count As Integer = DataTables("原始数据").GetUniqueValues(Filter, "日期").count
        Dim sum As Double = DataTables("原始数据").Compute("sum(金额)", Filter)
        e.DataRow("平均每次购买金额") = sum / count
End Select

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


加好友 发短信
等级:九尾狐 帖子:2355 积分:16187 威望:0 精华:0 注册:2013/9/1 8:09:00
  发帖心情 Post By:2013/9/10 0:05:00 [只看该作者]

每次购买金额搞定。谢谢有点甜老师!!


 回到顶部