以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  如何统计热词词频?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=168891)

--  作者:旭日生
--  发布时间:2021/5/26 10:42:00
--  如何统计热词词频?
请版主帮忙写一下词频统计的代码。即表B中热词出现在表A中的次数(要分年度!)
查了很多论坛文章,没找到合适的文章,没有什么思路。
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:词频统计.foxdb


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

[此贴子已经被作者于2021/5/26 10:43:42编辑过]

--  作者:有点蓝
--  发布时间:2021/5/26 11:02:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:词频统计.zip


--  作者:旭日生
--  发布时间:2021/5/26 11:06:00
--  
好快啊!我打不开。
蓝版请将代码写出来吧


--  作者:有点蓝
--  发布时间:2021/5/26 11:07:00
--  
foxtable升级到最新版本
--  作者:旭日生
--  发布时间:2021/5/26 11:08:00
--  
另外,我考虑了一下,觉得还是下表设计更合理一些。
更正了一下。
 
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:词频统计写入.table



[此贴子已经被作者于2021/5/26 11:18:18编辑过]

--  作者:旭日生
--  发布时间:2021/5/26 11:22:00
--  
升级不方便啊。要换电脑,要重新申请注册号啊。
--  作者:有点蓝
--  发布时间:2021/5/26 11:30:00
--  
参考:http://www.foxtable.com/webhelp/topics/1472.htm

改为使用like查询即可

If e.DataCol.Name = "热词" andalso e.DataCol.Name = "年度" Then
    Dim Filter As String = "[词句] like \'%" & e.datarow("热词") & "%\' and 年度=\'" & e.datarow("年度")  & "\'"
    e.DataRow("数量") = DataTables("订单").Compute("count(年度)", Filter)
End
 If

--  作者:旭日生
--  发布时间:2021/5/26 12:35:00
--  
谢谢。这样修改一下,才严谨一点。


Select Case e.DataCol.name
    Case "热词","年度"
              If e.DataRow.IsNull("热词")  OrElse e.DataRow.IsNull("年度")  Then
            e.DataRow("出现频率") = " "
        Else
            Dim Filter As String = "[词句] like \'%" & e.DataRow("热词") & "%\' and 年度 = \'" & e.DataRow("年度")  & "\'"
            e.DataRow("出现频率") = DataTables("表A").Compute("count([年度])", Filter)
        End If
End Select
[此贴子已经被作者于2021/5/26 12:57:13编辑过]