以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  求助,如何通过表统计另外一个表?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=110245)

--  作者:zsslly
--  发布时间:2017/11/29 19:03:00
--  求助,如何通过表统计另外一个表?
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:数据分析问题.table

如图如案例,如何通过表去统计“总表”,我做了一个案例,求助?
分析表里面的写的代码也不对,应该怎么改?


图片点击可在新窗口打开查看此主题相关图片如下:qq截图20171129185946.jpg
图片点击可在新窗口打开查看


--  作者:zsslly
--  发布时间:2017/11/29 19:05:00
--  
If e.DataCol.Name = "主持人" Then
    e.DataRow("已发货") = DataTables("总表").Compute("count(_Identify)", "主持人 = \'" & e.DataRow("主持人") & "\' and 持单状态 = \'签单\'")
    e.DataRow("退单") = DataTables("总表").Compute("count(_Identify)", "主持人 = \'" & e.DataRow("主持人") & "\' and 持单状态 = \'跑单\'")
    e.DataRow("处理中") = DataTables("总表").Compute("count(_Identify)", "主持人 = \'" & e.DataRow("主持人") & "\' and 持单状态 = \'可操作\'")
    e.DataRow("预收货款") = DataTables("总表").Compute("count(_Identify)", "主持人 = \'" & e.DataRow("主持人") & "\' and 持单状态 = \'预收设计\'")
    e.DataRow("预发货品") = DataTables("总表").Compute("count(_Identify)", "主持人 = \'" & e.DataRow("主持人") & "\' and 持单状态 = \'预签\'")
    e.DataRow("客户数") = DataTables("总表").Compute("count(_Identify)", "主持人 = \'" & e.DataRow("主持人") & "\'")
End If


因为”主持人“列中的人名没有统一,也不知道怎么统,知道有like,但不知道怎么改?

--  作者:有点甜
--  发布时间:2017/11/29 19:51:00
--  

可以这样

 

e.DataRow("已发货") = DataTables("总表").Compute("count(_Identify)", "(主持人 = \'" & e.DataRow("主持人") & "\' or 主持人 = \'" & e.DataRow("主持人") & "(完成)\') and 持单状态 = \'签单\'")

 

或者这样

 

e.DataRow("已发货") = DataTables("总表").Compute("count(_Identify)", "(主持人 like \'" & e.DataRow("主持人") & "%\' and 持单状态 = \'签单\'")


--  作者:zsslly
--  发布时间:2017/11/29 20:18:00
--  
代码改好了:

If e.DataCol.Name = "主持人" Then
    e.DataRow("已发货") = DataTables("总表").Compute("count(_Identify)", "主持人 like \'" & e.DataRow("主持人") & "%\' and 持单状态 = \'已发货\'")
    e.DataRow("退单") = DataTables("总表").Compute("count(_Identify)",  "主持人 like \'" & e.DataRow("主持人") & "%\' and 持单状态 = \'退单\'")
    e.DataRow("处理中") = DataTables("总表").Compute("count(_Identify)",  "主持人 like \'" & e.DataRow("主持人") & "%\' and 持单状态 = \'处理中\'")
    e.DataRow("预收货款") = DataTables("总表").Compute("count(_Identify)",  "主持人 like \'" & e.DataRow("主持人") & "%\' and 持单状态 = \'预收货款\'")
    e.DataRow("预发货品") = DataTables("总表").Compute("count(_Identify)",  "主持人 like \'" & e.DataRow("主持人") & "%\' and 持单状态 = \'预发货品\'")
    e.DataRow("客户数") = DataTables("总表").Compute("count(_Identify)", "主持人 like \'" & e.DataRow("主持人") & "%\'")
    
End If列

因为“总表”里有一列“场次名称”,其中是记录参加的场次的,有的是多个值,我在“分析表”里也设计了一个“场次名称”列,如上图,我想统计“总表”里所有包含这个场次名称的数量,求助?

--  作者:zsslly
--  发布时间:2017/11/29 20:47:00
--  
老师问下,如果“持单状态”中还有其它状态,如“计划中”,“跟踪中”,我用or或and联接,结果都不对,怎么写?
If e.DataCol.Name = "主持人" Then
    e.DataRow("已发货") = DataTables("总表").Compute("count(_Identify)", "主持人 like \'" & e.DataRow("主持人") & "%\' and 持单状态 = \'已发货\'")
    e.DataRow("退单") = DataTables("总表").Compute("count(_Identify)",  "主持人 like \'" & e.DataRow("主持人") & "%\' and 持单状态 = \'退单\'")
    e.DataRow("处理中") = DataTables("总表").Compute("count(_Identify)",  "主持人 like \'" & e.DataRow("主持人") & "%\' and 持单状态 = \'处理中\' and 持单状态 = ‘计划中’ and 持单状态 = \'跟踪中\'")
    e.DataRow("预收货款") = DataTables("总表").Compute("count(_Identify)",  "主持人 like \'" & e.DataRow("主持人") & "%\' and 持单状态 = \'预收货款\'")
    e.DataRow("预发货品") = DataTables("总表").Compute("count(_Identify)",  "主持人 like \'" & e.DataRow("主持人") & "%\' and 持单状态 = \'预发货品\'")
    e.DataRow("客户数") = DataTables("总表").Compute("count(_Identify)", "主持人 like \'" & e.DataRow("主持人") & "%\'")
    
End If

同样求助?

--  作者:有点甜
--  发布时间:2017/11/29 21:12:00
--  

 

e.DataRow("处理中") = DataTables("总表").Compute("count(_Identify)",  "主持人 like \'" & e.DataRow("主持人") & "%\' and (持单状态 = \'处理中\' or 持单状态 = \'计划中\' or 持单状态 = \'跟踪中\')")

 


--  作者:zsslly
--  发布时间:2017/11/29 21:48:00
--  
不好意思,在问一次?


    


因为“总表”里有一列“场次名称”,其中是记录参加的场次的,有的是多个值,我在“分析表”里也设计了一个“场次名称”列,如上图,我想统计“总表”里所有包含这个场次名称的数量,求助?

--  作者:有点甜
--  发布时间:2017/11/29 21:52:00
--  
看懂3楼、6楼代码,同样用like模糊查询就行。
--  作者:zsslly
--  发布时间:2017/11/29 22:38:00
--  
不好意思,这么晚还打扰,这句代码不知道那里有问题?


e.DataRow("已签产值") = DataTables("峰和设计部").Compute("Sun(签单金额)", filter & "设计师 Like \'" & e.DataRow("设计师") & "%\' and 操作性 = \'签单\' and 活动标注 like \'%" & e.DataRow("活动名称") & "%\'")

--  作者:zsslly
--  发布时间:2017/11/29 22:45:00
--  
我是放在一起的,是不是要重新定义呢?