DW中分组统计问题

j9dai 2004-12-09 05:13:32
以下是一个Group DW的Syntax:(其中标记有N种值:如迟到、早退、旷工等)
现要统计一个人本月的迟到次数、早退次数……

SELECT "sk"."card_id", //刷卡记录--卡号
"sk"."p_id", //工号
"sk"."P_name", //姓名
"person"."p_dept", //人事资料库--部门
"person"."P_postion", //职位
"sk"."sk_date", //刷卡日期
"sk"."sk_time", //刷卡时间
"sk"."sk_tag", //标记
"sk"."sk_demo" //备注
FROM "person",
"sk"
WHERE ( "sk"."p_id" = "person"."p_id" ) and
( ( "sk"."sk_date" between :ksrq and :jsrq ) ) //本帐套开始日期--结束日期
ORDER BY "sk"."sk_date" DESC

其中按卡号、工号、姓名、部门、职位、分组

我每次得出来的除了总刷卡次数正确外,其余皆为0

请问有什么方法可以实现:如添加一个Compute,在Compute Expression中写表达式可以实现吗?
...全文
258 9 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
whiter_nb 2004-12-21
  • 打赏
  • 举报
回复
你再按人员分组啊
j9dai 2004-12-10
  • 打赏
  • 举报
回复
放标题区?如果是只有一个人的统计记录还可行,但现在有N个人的分组统计记录。帮忙再想想
whiter_nb 2004-12-10
  • 打赏
  • 举报
回复
count()是返回有多少行数
sum()是返回某一列累加的值

你把这个分组的字段放在标题区就可以
j9dai 2004-12-10
  • 打赏
  • 举报
回复
还有怎么限制每一页都显示分组名啊,也就是同样的分组字段无论多少页我都只想显示一次,默认的是每一页第一行自动显示分组字段,里面应该有设置吧,不过我没找到,请大侠指教!
j9dai 2004-12-10
  • 打赏
  • 举报
回复
Thsnks for hygougou(狗狗) & lzp_lrp(lzp)
sum(if(sk_tag="早退",1,0))for group 1)
我以前用的是Count(),总不能实现,能说说Count()和Sum()的区别吗?
whslovexyp 2004-12-09
  • 打赏
  • 举报
回复
UP.
luotitan 2004-12-09
  • 打赏
  • 举报
回复
应该用分组数据窗口比较清楚。
WorldMobile 2004-12-09
  • 打赏
  • 举报
回复
定义计算列:

早退:sum(if(sk_tag = "早退", 1, 0) for all)
迟到:sum(if(sk_tag = "迟到", 1, 0) for all)
hygougou 2004-12-09
  • 打赏
  • 举报
回复
按你说的好象只分了一组,用sum for group 1

611

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder DataWindow
社区管理员
  • DataWindow社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧