标题:该问题已经困惑很长时间了,大神帮忙解决一下
只看楼主
bufanchao
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2015-11-30
结帖率:0
已结贴  问题点数:15 回复次数:14 
该问题已经困惑很长时间了,大神帮忙解决一下

每位员工的满意,不满意数量  一次性统计出来(效果如右图)

[此贴子已经被作者于2021-3-22 11:23编辑过]

搜索更多相关主题的帖子: 时间 统计 困惑 员工 效果 
2021-03-22 11:21
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:323
帖 子:9621
专家分:26174
注 册:2012-2-5
得分:3 
有数据才能写出代码

坚守VFP最后的阵地
2021-03-22 11:37
wengjl
Rank: 14Rank: 14Rank: 14Rank: 14
等 级:贵宾
威 望:108
帖 子:2175
专家分:3785
注 册:2007-4-27
得分:3 

只求每天有一丁点儿的进步就可以了
2021-03-22 14:57
bufanchao
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2015-11-30
得分:0 
回复 3楼 wengjl
太感谢了太感谢了太感谢了太感谢了太感谢了太感谢了,程序正常。但是不清楚有些代码的的意思。

[此贴子已经被作者于2021-3-22 22:16编辑过]

2021-03-22 21:56
bufanchao
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2015-11-30
得分:0 
    SET ENGINEBEHAVIOR 70
      SET SAFETY OFF
      
      CLOSE DATABASES
      SELECT 0
      USE pyk ALIAS kg             &pyk  kg 什么意思
      SELECT 0
      USE pytj ALIAS bmk            &pytj  是评议统计  bmk 什么意思
      SCAN
        c_ygxm=ALLTRIM(bmk.ygxm)     &ygxm  员工姓名
        SELECT sum(IIF(EVALUATE(c_ygxm)='很满意',1,0)) as py1,;  & py1 是什么意思
               sum(IIF(EVALUATE(c_ygxm)='满意',1,0)) as py2,;
               sum(IIF(EVALUATE(c_ygxm)='不满意',1,0)) as py3 from kg into cursor tmp
              
        SELECT bmk
        REPLACE bmk.py1 WITH tmp.py1
        REPLACE bmk.py2 WITH tmp.py2
        REPLACE bmk.py3 WITH tmp.py3
      ENDSCAN
      
2021-03-22 22:00
bufanchao
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2015-11-30
得分:0 
回复 4楼 bufanchao
SET ENGINEBEHAVIOR 70
      SET SAFETY OFF
      
      CLOSE DATABASES
      SELECT 0
      USE pyk ALIAS kg             &pyk  kg 什么意思
      SELECT 0
      USE pytj ALIAS bmk            &pytj  是评议统计  bmk 什么意思
      SCAN
        c_ygxm=ALLTRIM(bmk.ygxm)     &ygxm  员工姓名
        SELECT sum(IIF(EVALUATE(c_ygxm)='很满意',1,0)) as py1,; & py1 是什么意思
               sum(IIF(EVALUATE(c_ygxm)='满意',1,0)) as py2,;
               sum(IIF(EVALUATE(c_ygxm)='不满意',1,0)) as py3 from kg into cursor tmp
              
        SELECT bmk
        REPLACE bmk.py1 WITH tmp.py1
        REPLACE bmk.py2 WITH tmp.py2
        REPLACE bmk.py3 WITH tmp.py3
      ENDSCAN

[此贴子已经被作者于2021-3-22 22:02编辑过]

2021-03-22 22:01
bccn201203
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:3
帖 子:680
专家分:1140
注 册:2012-3-14
得分:3 
借用了 WengJl 的表
程序代码:
CLOSE DATABASES
USE pyk IN 0
AFIELDS(lazdm)
LOCAL latj[ALEN(lazdm, 1), 4]
FOR lnj = 1 TO ALEN(latj, 1)
    latj[lnj, 2] = 0
    latj[lnj, 3] = 0
    latj[lnj, 4] = 0
ENDFOR
FOR lnj = 1 TO ALEN(lazdm, 1)
    latj[lnj, 1] = FIELD(lnj)
    SCAN 
        IF ALLTRIM(EVALUATE(FIELD(lnj))) == "跳过"
            LOOP 
        ENDIF 
        DO CASE
            CASE ALLTRIM(EVALUATE(FIELD(lnj))) == "很满意"
                latj[lnj, 2] = latj[lnj, 2] + 1
            CASE ALLTRIM(EVALUATE(FIELD(lnj))) == "满意"
                latj[lnj, 3] = latj[lnj, 3] + 1
            CASE ALLTRIM(EVALUATE(FIELD(lnj))) == "不满意"
                latj[lnj, 4] = latj[lnj, 4] + 1
        ENDCASE
    ENDSCAN
ENDFOR
SET ORDER TO 
CREATE CURSOR tj (部门 C(10), 很满意 N(3), 满意 N(3), 不满意 N(3))
APPEND FROM ARRAY latj
BROWSE 
2021-03-22 22:17
bccn201203
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:3
帖 子:680
专家分:1140
注 册:2012-3-14
得分:0 
回复 3楼 wengjl
代码构思别具一格,狐功深厚,佩服!
USE pytj ALIAS bmk
SCAN
......
ENDSCAN
2021-03-22 22:32
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:323
帖 子:9621
专家分:26174
注 册:2012-2-5
得分:0 
回复 4楼 bufanchao
现在是不是到夜霄的时间了,楼主........

坚守VFP最后的阵地
2021-03-22 22:35
wengjl
Rank: 14Rank: 14Rank: 14Rank: 14
等 级:贵宾
威 望:108
帖 子:2175
专家分:3785
注 册:2007-4-27
得分:0 
以下是引用bufanchao在2021-3-22 22:01:02的发言:

 SET ENGINEBEHAVIOR 70
      SET SAFETY OFF
      
      CLOSE DATABASES
      SELECT 0
      USE pyk ALIAS kg             &pyk  kg 什么意思
      SELECT 0
      USE pytj ALIAS bmk            &pytj  是评议统计  bmk 什么意思
      SCAN
        c_ygxm=ALLTRIM(bmk.ygxm)     &ygxm  员工姓名
        SELECT sum(IIF(EVALUATE(c_ygxm)='很满意',1,0)) as py1,;  & py1 是什么意思
               sum(IIF(EVALUATE(c_ygxm)='满意',1,0)) as py2,;
               sum(IIF(EVALUATE(c_ygxm)='不满意',1,0)) as py3 from kg into cursor tmp
              
        SELECT bmk
        REPLACE bmk.py1 WITH tmp.py1
        REPLACE bmk.py2 WITH tmp.py2
        REPLACE bmk.py3 WITH tmp.py3
      ENDSCAN

给表起个别名而已,本人习惯,要写入的用BMK,输出的用其他。
PY 指评议
py1 指很满意。你也可以用其他字母表示,或用中文表示。不用中文是因为可省去输入法的不断切换之麻烦


[此贴子已经被作者于2021-3-23 16:39编辑过]


只求每天有一丁点儿的进步就可以了
2021-03-23 08:13



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-505211-1-1.html




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

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