| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2000 人关注过本帖
标题:求:每条记录中各字段的值出现的次数
取消只看楼主 加入收藏
yd1954
Rank: 2
来 自:辽宁沈阳
等 级:论坛游民
帖 子:143
专家分:21
注 册:2016-7-1
结帖率:100%
收藏
已结贴  问题点数:90 回复次数:5 
求:每条记录中各字段的值出现的次数
各位老师好!
发过去2个表,分列统计15期
             3d积累个数
求:分列统计15期表每条记录中,字段N1--N190范围内,各字段的值在该范围内发生的次数(横向统计)。
    并将统计结果(每个值的发生次数)放在3d积累个数表的相对应的字段。
  3d积累个数表的字段J70--J190,是前表N1--N190 发生数值的区间。也就是说分列统计15期N1--N190各字段的值在70--190之间(用select 单句命令统计的结果)。

举例:分列统计15期最后一行N1的值是114,在N1--N190中出现8次。在3d积累个数j114字段记8,
                          N2的值是131,在N1--N190中出现5次。在3d积累个数j131字段记5
.....

 3d积累个数里有一条记录,是我手工统计录入的。以供参考。
分列统计15期表,有4655条记录,只统计4000行就行,前655行不用统计。
谢谢各位老师!

分列统计15期.zip (613.25 KB)

[local]2[/local]
搜索更多相关主题的帖子: 个数 3d 统计 字段 记录 
2021-06-24 09:46
yd1954
Rank: 2
来 自:辽宁沈阳
等 级:论坛游民
帖 子:143
专家分:21
注 册:2016-7-1
收藏
得分:0 
回复 2楼 吹水佬
3d积累个数.zip (823 Bytes)
2021-06-24 11:43
yd1954
Rank: 2
来 自:辽宁沈阳
等 级:论坛游民
帖 子:143
专家分:21
注 册:2016-7-1
收藏
得分:0 
回复 4楼 xuminxz
可以不做统计,190以上的出现概率太小了。
2021-06-24 16:04
yd1954
Rank: 2
来 自:辽宁沈阳
等 级:论坛游民
帖 子:143
专家分:21
注 册:2016-7-1
收藏
得分:0 
回复 6楼 xuminxz
xuminxz老师,你好!
非常感谢你的帮助。
你编的程序,对分列统计15期表运行顺利,就是慢了点,运行一次约3分钟。
有一个问题,我把程序套用到其它表,我把程序中的表名称改了,同时把字段编号也改了,运行结果是所有的字段都显示为1。
复制个数1表的结构和分列统计15期相同,只是字段名中序号不同,N191--N380.3d记录个数1也是一样。
同样的表有16个,字段名序号从N1到N3003,。因为VF的表只能有255个字段,所以我把1--3003分成16份,每份190个。
恳请xuminxz老师帮助我把程序中的字段名的变量改写一下。
我是一个退休老头,大学学的是中文。现在借助帮助,大学教材,才能勉强看程序,但还不能理解程序语言,不能用中文把程序中的语句表达出来。

下面是我在你的程序上做的改动

Close Tables All
Select * From 复制个数1 Into Cursor sj Readwrite
Use 3d积累个数1 Alias  tj In 0
Zap  In tj
SELECT sj
For i=656 To Reccount()
    Select sj
    Go i
    Scatter Fields qihao,h1,h2,h3 To bzar
    Select tj
    Append From Array bzar
    For j=191 To 380
        Select sj
        zdnr=Evaluate('N'+Alltrim(Str(j)))
        itj=1
        If BETWEEN(zdnr,70,190)
            For k=j+191 To 380
                zdmc='N'+Alltrim(Str(k))
                If Evaluate('N'+Alltrim(Str(k)))=zdnr
                    itj=itj+1
                    Blank Fields &zdmc
                Endif
            Endfor
        zdmc='j'+Alltrim(Str(zdnr))
    Replace &zdmc With itj IN tj
    Endif
    Endfor
Endfor

运行后,结果全是1。
再次表示感谢!

复制个数1.zip (650.71 KB)

3d积累个数1.zip (53.53 KB)


2021-06-24 22:15
yd1954
Rank: 2
来 自:辽宁沈阳
等 级:论坛游民
帖 子:143
专家分:21
注 册:2016-7-1
收藏
得分:0 
回复 9楼 吹水佬
吹水佬老师,你好!
程序运行了,非常好!
如果能将 3d积累个数(统计结果)表中的0都不显示,只显示大于等于1的值,就更好了。观察更直观。
恳请老师帮忙改一下。
非常感谢!
2021-06-25 20:09
yd1954
Rank: 2
来 自:辽宁沈阳
等 级:论坛游民
帖 子:143
专家分:21
注 册:2016-7-1
收藏
得分:0 
回复 12楼 吹水佬
吹水佬老师,你好!
不好意思。今天忙了一整天,到现在才给你回复。
消除0的句子,我加在程序的最后。运行顺利。但是把h1,h2,h3的0也除掉了。
麻烦老师再改一下。
非常非常感谢
2021-06-26 20:10
快速回复:求:每条记录中各字段的值出现的次数
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.242206 second(s), 10 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved