Foxtable(狐表)用户栏目专家坐堂 → 关于这个统计的问题,还麻烦版主帮看下


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

主题:关于这个统计的问题,还麻烦版主帮看下

帅哥哟,离线,有人找我吗?
初心不改再说未来
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:496 积分:3899 威望:0 精华:0 注册:2017/7/19 10:58:00
关于这个统计的问题,还麻烦版主帮看下  发帖心情 Post By:2018/9/20 13:03:00 [只看该作者]

如图所示,现在要统计所有老师的代课情况,特殊原因是有些老师可能全部都带,但是有些老师只带一门或者两门。学生总学费固定。
现在某学生一共交了2000元,课时报价如下:
语文课每次机构给老师提成总学费20%
数学课每次机构给老师提成总学费23%
英语课每次机构给老师提成总学费18%
体育课每次机构给老师提成总学费6%

然后,
A老师带了语文2次
B老师带了语文1次+数学1次
C老师带了数学2次
D老师带了英语1次+语文1次
E老师带了体育4次+语文2次

现在要计算,这几位老师,本月累积根据代课实际情况,计算提成总计应发放金额

这个统计代码怎么写啊?谢谢版主~

例子我发上来

 下载信息  [文件大小:   下载次数: ]
点击浏览该文件:管理项目1.foxdb


[此贴子已经被作者于2018/9/20 16:28:26编辑过]

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


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

你给的数据怎么计算,计算每一个老师分别带了语文、数学、英语、体育多少次?每出现一次名字算一次?

 回到顶部
帅哥哟,离线,有人找我吗?
初心不改再说未来
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:496 积分:3899 威望:0 精华:0 注册:2017/7/19 10:58:00
  发帖心情 Post By:2018/9/20 14:59:00 [只看该作者]

是的,按照登记的名字出现次数计算,列中少了一项“结业” 
就是一个学生,交完学费后,课全部上完了,结业列的状态为“结业”,然后计算整个学时里 4门课都是哪几位老师带的,按照语文提成学费20%,数学提成%多少之类的计算每位老师不同的总计提成金额。
举例
若某学生的全部课程中,有某位老师未参与,则这位老师不参与提成计算;
若某学生的课程中,有位老师全程参与,则所有提成都归这位老师;
若某学生的课程中,有3位老师参与,则按照比例,计算这3位老师分别的提成;

最后,按照结业的日期计算每位老师每月提成总额。

谢谢版主!

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


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

你给的例子没有对应数据,无法计算。

 

请就你给的例子,说明某一个学生的数据如何计算,最后得到什么,显示到哪里。


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


加好友 发短信
等级:八尾狐 帖子:1812 积分:12993 威望:0 精华:14 注册:2008/10/11 18:07:00
  发帖心情 Post By:2018/9/20 15:40:00 [只看该作者]

Dim dr2 As DataRow
Dim Lms As String() ={"语文","数学","英语","体育"}


Dim bd1 As New GroupTableBuilder("统计",DataTables("表A"))
Dim dt1 As fxDataSource
bd1.Groups.AddDef("语文老师", "姓名")
bd1.Totals.AddDef("语文老师", AggregateEnum.Count, "语文")
dt1 = bd1.BuildDataSource()

bd1 = New GroupTableBuilder("统计",DataTables("表A"))
Dim dt2 As fxDataSource
bd1.Groups.AddDef("数学老师", "姓名")
bd1.Totals.AddDef("数学老师", AggregateEnum.Count, "数学")
dt2 = bd1.BuildDataSource()

bd1 = New GroupTableBuilder("统计",DataTables("表A"))
Dim dt3 As fxDataSource
bd1.Groups.AddDef("英语老师", "姓名")
bd1.Totals.AddDef("英语老师", AggregateEnum.Count, "英语")
dt3 = bd1.BuildDataSource()

bd1 = New GroupTableBuilder("统计",DataTables("表A"))
Dim dt4 As fxDataSource
bd1.Groups.AddDef("体育老师", "姓名")
bd1.Totals.AddDef("体育老师", AggregateEnum.Count, "体育")
dt4 = bd1.BuildDataSource()

dt1.Combine("姓名",dt2,"姓名")
dt1.Combine("姓名",dt3,"姓名")
dt1.Combine("姓名",dt4,"姓名")
Dim  t3 As Table = Tables("窗口1_Table1")
t3.DataSource = dt1 '将统计结果绑定到Table
t3.StopRedraw
 
With  t3.DataTable.DataCols  '
    .Add("提成总计金额",Gettype(Double))
    
End With
Dim v1 As Double

For Each r3  As Row In  t3.Rows
    v1=0
    For Each c1 As String In Lms
        dr2 = DataTables("设置").Find("课程 ='" & c1 & "'")
        If dr2 IsNot Nothing Then
            v1+ = dr2("报价") * dr2("提成")*r3(c1)
        End If
    Next c1
    r3("提成总计金额")=v1
Next r3

t3.ResumeRedraw

 回到顶部
帅哥哟,离线,有人找我吗?
初心不改再说未来
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:496 积分:3899 威望:0 精华:0 注册:2017/7/19 10:58:00
  发帖心情 Post By:2018/9/20 15:50:00 [只看该作者]


此主题相关图片如下:111111.png
按此在新窗口浏览图片

先说固定提成比例:
语文课机构给老师提成20%
数学课机构给老师提成23%
英语课机构给老师提成18%
体育课机构给老师提成6%

比如第一个学生小李,总学费5700,语文老师是湘怡,且4门课只带了1门,所以小李结业以后,湘怡老师可以拿到的提成是5700*20%=1140元
小李数学老师是雨蓉,结业后,雨蓉老师可以拿到5700*23%=1311元
小李英语老师是善玲,结业后,善玲老师可以拿到5700*18%=1026元
小李体育老师是娟娟,结业后,娟娟老师可以拿到5700*6%=342元

假如这个学期学校只有1名学生小李,那么老师们本月提成即为:
湘怡 1140元   雨蓉1311元   善玲1026元    娟娟342元。

这时候又来一个学生小王,学费为8900元,以此类推
语文这次是善玲老师,按最上方固定提成,语文老师提成为:8900*20%=1780元
数学这次是湘怡老师,按最上方固定提成,数学老师提成为:8900*23%=2047元
英语这次还是善玲老师,按最上方固定提成,英语老师提成为:8900*18%=1602元
体育这次还是娟娟老师,按最上方固定提成,体育老师提成为:8900*6%=534元

好,现在小王结业以后,老师们可以拿到的提成是:
湘怡 2047元   雨蓉0元(因为没有教小王)   善玲1780+1602元(因为带了2门)    娟娟534元。

好,那么,截止到目前位置,2位学生均在本月结业,老师们的本月累计收入为:
湘怡 1140元+2047      雨蓉1311元+0 (因为没有教小王) 善玲1026元  +1780+1602元(因为带了小王2门)   娟娟342+534元。

不管有多少位学生,均按照这种方法以此类推

最后,得到:状态列中状态为“结业”的行中,老师们本月累计提成金额总数是多少。

显示在临时表中,窗口中,查询表中都行,能计算出来就行。

按照语文数学英语体育,所有老师出现一次名字算一次提成,因为有些老师只会1门有些老师会的多可以教4门。

[此贴子已经被作者于2018/9/20 15:52:08编辑过]

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


加好友 发短信
等级:八尾狐 帖子:1812 积分:12993 威望:0 精华:14 注册:2008/10/11 18:07:00
  发帖心情 Post By:2018/9/20 15:50:00 [只看该作者]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:02.foxdb


 回到顶部
帅哥哟,离线,有人找我吗?
初心不改再说未来
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:496 积分:3899 威望:0 精华:0 注册:2017/7/19 10:58:00
  发帖心情 Post By:2018/9/20 16:06:00 [只看该作者]

don   非常感谢您   这边是修改成为根据总学费来计算了,不是根据每门课的单价计算了

 回到顶部
帅哥哟,离线,有人找我吗?
初心不改再说未来
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:496 积分:3899 威望:0 精华:0 注册:2017/7/19 10:58:00
  发帖心情 Post By:2018/9/20 16:49:00 [只看该作者]

For Each r3  As Row In  t3.Rows
    v1=0
    For Each c1 As String In Lms
        dr2 = DataTables("设置").Find("课程 ='" & c1 & "'")
        If dr2 IsNot Nothing Then
            v1+ = dr2("总学费") * dr2("提成")*r3(c1)
        End If
    Next c1
    r3("提成总计金额")=v1
Next r3

貌似不对···············
[此贴子已经被作者于2018/9/20 16:50:39编辑过]

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


加好友 发短信
等级:八尾狐 帖子:1812 积分:12993 威望:0 精华:14 注册:2008/10/11 18:07:00
  发帖心情 Post By:2018/9/20 17:08:00 [只看该作者]

这样?

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