首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > PB >

请问:怎么把分类合计汇总在最后啊

2012-02-19 
请教:如何把分类合计汇总在最后啊?GoodsIdGoodsNamecolorGoodsnumberA0001男休闲外套红色22A0002女休闲外

请教:如何把分类合计汇总在最后啊?
GoodsIdGoodsName colorGoodsnumber
A0001男休闲外套 红色22
A0002女休闲外套 红色5
A0003男休闲T-shirt 蓝色88
A0004男休闲T-shirt 白色35
A0005男衬衫 白色13
A0006女短袖 红色20
A0007男袜 蓝色77
A0008裤子 白色1

汇总:红色47
蓝色165
白色49
如上所示,DW里要怎么才可以实现?谢谢

[解决办法]
添加计算列, 表达式为:
'红色 ' + string(sum(if(color = '红色', Goodsnumber, 0) for all))
这是取红色的,其它类似
这样做局限性较大,当color类型较多时比较繁琐,而且无法动态汇总

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

[解决办法]
加with cube 可以。

select .... from t
group by ....
 with cube
[解决办法]
做俩DW
[解决办法]
分两个dw吧 然后做成复合DW
[解决办法]
retrieve后
写:

C/C++ code
long ll_c, istring 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)")nextmessagebox('', ls_all) 

热点排行