以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 这样的统计表达式列应该怎样设置? (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=4734) |
||||
-- 作者:reachtone -- 发布时间:2009/10/24 17:40:00 -- 这样的统计表达式列应该怎样设置? 如下图。需求如下: 1.用SQLGroupTableBuilder进行分组统计 2.分组列为"客户",另用Exprs添加一个表达式统计列“总额” 3.表达式列要求这样生成:客户名称为“A”时,面积*2;为“B”时,面积*3;为“C”时,面积*4 4、实际应用中,是直接对sql数据库统计,且是直接在后台统计(数据并未加载到table)。因此,解决方案中不能在table中增加临时列。 此主题相关图片如下:snap3.jpg 例子文件在这里,向高手求教。
|
||||
-- 作者:HLJ -- 发布时间:2009/10/24 18:40:00 -- ... b.Exprs.Adddef("面积","[面积]*iif([客户] = \'A\',2,iif([客户] = \'B\',3,iif([客户] = \'C\',4,0)))","总额") ... |
||||
-- 作者:reachtone -- 发布时间:2009/10/24 19:27:00 -- 一楼的只是举个例子,实际上"客户"列不重复的值有N多个,每个"客户"也都有相应的系数,只能用iif吗? [此贴子已经被作者于2009-10-24 19:53:16编辑过]
|
||||
-- 作者:czy -- 发布时间:2009/10/24 20:05:00 -- 可否可以在数据库中增加系数列呢? |
||||
-- 作者:reachtone -- 发布时间:2009/10/24 20:12:00 -- 实在不行的话,也只有在后台数据库中加上这么一列了。 |
||||
-- 作者:reachtone -- 发布时间:2009/10/25 16:33:00 -- 由于外部数据库中,这个原始表的记录太多,实在不想在原始表中增加一列。 我尝试在分组统计中,用addtable的方法来生成表达式列。经测试,addtable时,如果只有一个关联列是没问题的,2个及以上的关联列就无法设置了。 这是例子,请高手支招。谢谢!
|
||||
-- 作者:gdlgh -- 发布时间:2009/10/25 18:03:00 -- 呵。自己写SQL分组语句来统计,何必一定要用SQLGroupTableBuilder进行分组统计呢? 老总也是把SQLGroupTableBuilder的属性来组成SQL字符串来统计的,是简缩版,自然受一定的限制!! 楼主本身是对SQL熟悉的,反而局限于此,难明! [此贴子已经被作者于2009-10-25 18:11:29编辑过]
|
||||
-- 作者:reachtone -- 发布时间:2009/10/25 18:11:00 -- 以下是引用gdlgh在2009-10-25 18:03:00的发言:
呵。自己写SQL分组语句来统计,何必一定要用SQLGroupTableBuilder进行分组统计呢? 呵呵,就是因为不想写太多的sql代码,才在当初建议老六加上各种比例分析的。我这个项目中,很多统计都是由客户自行组合的,直接调用统计函数更加方便。
[此贴子已经被作者于2009-10-25 18:11:23编辑过]
|
||||
-- 作者:reachtone -- 发布时间:2009/10/25 18:22:00 -- 以下是引用gdlgh在2009-10-25 18:03:00的发言:
呵。自己写SQL分组语句来统计,何必一定要用SQLGroupTableBuilder进行分组统计呢? 老总也是把SQLGroupTableBuilder的属性来组成SQL字符串来统计的,是简缩版,自然受一定的限制!! 楼主本身是对SQL熟悉的,反而局限于此,难明! [此贴子已经被作者于2009-10-25 18:11:29编辑过] 呵呵,我现在项目中的大部分统计都已经基于foxtable本身的统计来实现了,只有少数特殊的查询自己编写sql语句完成。 [此贴子已经被作者于2009-10-25 18:22:21编辑过]
|
||||
-- 作者:reachtone -- 发布时间:2009/10/25 18:28:00 -- 终于知道了,因为0值的问题! 晕.. |