输入code hereI有一个数据集,如果他/她的成绩不是"F“,我必须把他/她去掉。在这里的一个例子中,Brian的成绩不是"F",所以Brian不应该出现在我的结果中。只有杰克应该出现,因为我只想要"F“级的学生。
我试着在Webfocus中使用OMITS,NE函数,但我无法解决这个问题(请单击查看屏幕截图)。如上所述,我只期待jack的成绩,因为Brian的成绩不是"F“。我真的很感谢你的帮助。谢谢。
我被困在代码的最后一行:
TABLE FILE TABLE1
PRINT
ID
NAME
Grade
WHERE (ID OMITS (PRINT * from TABLE1 WHERE (Grade NE 'F')));发布于 2019-05-10 18:00:59
这是一种非常复杂的查询WF的方式!
这段代码用于加载您在图像中显示的数据:
-*
-* FILE ALLOCATION
-*
FILEDEF AMDEXAM DISK amdexam.ftm (APPEND
-RUN
-*
-* MASTER TO READ AMDS EXAMPLE
-*
EX -LINES 5 EDAPUT MASTER,AMDEXAM,CV,FILE
FILENAME=AMDEXAM, SUFFIX=FIX, SEGNAME=AMDEXAM, SEGTYPE=S0, $
FIELD=ID ,ALIAS=ID ,USAGE=A5 ,ACTUAL=A5 ,$
FIELD=NAME ,ALIAS=NAME ,USAGE=A10 ,ACTUAL=A10 ,$
FIELD=GRADE ,ALIAS=GRADE ,USAGE=A1 ,ACTUAL=A1 ,$
-*
-* LOAD FILE WITH SOME RECORDS
-*
-WRITE AMDEXAM A1 Brian A
-WRITE AMDEXAM A1 Brian B
-WRITE AMDEXAM A1 Brian B
-WRITE AMDEXAM A1 Brian A
-WRITE AMDEXAM A1 Brian C
-WRITE AMDEXAM A1 Brian F
-WRITE AMDEXAM A1 Brian F
-WRITE AMDEXAM A2 Jack F
-WRITE AMDEXAM A2 Jack F
-WRITE AMDEXAM A2 Mystic B
-WRITE AMDEXAM A3 Mystic A
-WRITE AMDEXAM A3 Mystic C
-WRITE AMDEXAM A3 Mystic C
-WRITE AMDEXAM A4 Joe F
-WRITE AMDEXAM A4 Joe F
-WRITE AMDEXAM A4 Ruben B
-WRITE AMDEXAM A4 Ruben A
-*你可以尝试这样的方式来实现你所要求的:
TABLE FILE AMDEXAM
SUM
COMPUTE AA/I1 = IF ((LAST NAME NE NAME AND GRADE NE 'F') OR (LAST NAME EQ NAME AND LAST AA EQ 1)) THEN 1 ELSE 0; NOPRINT
BY ID
BY NAME
BY GRADE
WHERE TOTAL AA EQ 0
ON TABLE SET BYDISPLAY ON
END
-RUN
-EXIT这应该能让你得到布莱恩的分数。
EDIT:将谓词从PRINT更改为SUM,以仅获取一条记录,并将NOPRINT更改为字段AA。
https://stackoverflow.com/questions/56068383
复制相似问题