请教:如何把分类合计汇总在最后啊?

qiangxy 2011-05-11 06:03:36
GoodsId GoodsName color Goodsnumber
A0001 男休闲外套 红色 22
A0002 女休闲外套 红色 5
A0003 男休闲T-shirt 蓝色 88
A0004 男休闲T-shirt 白色 35
A0005 男衬衫 白色 13
A0006 女短袖 红色 20
A0007 男袜 蓝色 77
A0008 裤子 白色 1

汇总: 红色 47
蓝色 165
白色 49
如上所示,DW里要怎么才可以实现?谢谢
...全文
187 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
qiangxy 2011-05-13
  • 打赏
  • 举报
回复
还有好办法吗?实在不行只能用两DW了
yyoinge 2011-05-13
  • 打赏
  • 举报
回复
retrieve后
写:
long ll_c, i
string ls_color, ls_all = "汇总:"
for i = 1 to long(dw_1.describe("evaluate('count(color for all distinct)', 0)"))
//按color升序取颜色
ls_color = dw_1.describe("evaluate('Small(color, color, " + string(i) + " for all distinct)',0)")
ls_all += "~t" + ls_color + ":" + dw_1.describe("evaluate('sum(if(color = ~"" + ls_color + "~", Goodsnumber, 0) for all)', 0)")
next

messagebox('', ls_all)


这是将汇总取到1个字符串中,当然也可以在for循环中对dw_1进行insertrow() ,然后分别setitem
LamarChen 2011-05-13
  • 打赏
  • 举报
回复
分两个dw吧 然后做成复合DW
zjl8008 2011-05-12
  • 打赏
  • 举报
回复
加with cube 可以。

select .... from t
group by ....
with cube
gui41021 2011-05-12
  • 打赏
  • 举报
回复
做俩DW
qiangxy 2011-05-11
  • 打赏
  • 举报
回复
谢谢回复,颜色很多,又不固定,还有什么浅蓝色,深黄色了 太多了。
添加GROUP,group的汇总不是在最后的,是穿插在明细中间的。
yyoinge 2011-05-11
  • 打赏
  • 举报
回复
添加计算列, 表达式为:
'红色 ' + string(sum(if(color = '红色', Goodsnumber, 0) for all))
这是取红色的,其它类似
这样做局限性较大,当color类型较多时比较繁琐,而且无法动态汇总

你可以添加group,不过这样一来汇总信息就不是显示在最后了。

609

社区成员

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

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