以文本方式查看主题

-  易表在线答疑  (http://egrid2000.com/dvbbs/index.asp)
--  用户社区  (http://egrid2000.com/dvbbs/list.asp?boardid=2)
----  请教统计公式  (http://egrid2000.com/dvbbs/dispbbs.asp?boardid=2&id=4212)

--  作者:老有所乐
--  发布时间:2006/10/4 13:34:00
--  请教统计公式
[这个贴子最后由老有所乐在 2006/10/04 03:05pm 第 2 次编辑]

在统计表中有“单位”、“党支部”、“按单位统计人数”和“按党支部统计人数”这样四列。要求将四列简化为2列,即“单位”和“党支部”合为一列,“按单位统计人数”和“按党支部统计人数”两个统计人数列也合为一列——为“人数”列,通过录入窗口选择单位或党支部的方式来统计人数,当在录入窗口选择“单位”时“人数”列的数据则按“按单位统计人数”列的数据,当选择“党支部”时“人数”列的数据则为“按党支部统计人数”的数据。也就是说“人数”列的公式该怎样设置?
  最好是用变量方式。因为需要设置类似此列有20多列,如直接在该列用IF语句就太麻烦了。
 各位高手,不知可否,请赐教!谢谢!egd文件下载
  有所改进,但还没完全达到目的。请看“单位1”列和“人数“列,请看改进后的文件egd文件下载
--  作者:xjy
--  发布时间:2006/10/4 14:30:00
--  
按钮公式:
if([%单位%]="单位",EvalFor(gridname,"人数","CountFor(1,""单位"",""="",[单位])"),EvalFor(gridname,"人数","CountFor(1,""党支部"",""="",[党支部])"))

-=-=-=- 以下内容由 xjy2006年10月04日 02:40pm 时添加 -=-=-=-
或者,增加表达式变量%A%,按钮公式:
SetVariable("%A%","["+[%单位%]+"]") and EvalFor(gridname,"人数","CountFor(1,[%单位%],""="",[%A%])")
--  作者:老有所乐
--  发布时间:2006/10/4 15:18:00
--  
谢谢Xjy先生,第一个公式好像是固定按单位统计的,第二公式变量%A%是什么类型,如果是表达式,其公式又是如何?
--  作者:xjy
--  发布时间:2006/10/4 15:27:00
--  
下面引用由老有所乐2006/10/04 03:18pm 发表的内容:
谢谢Xjy先生,第一个公式好像是固定按单位统计的,第二公式变量%A%是什么类型,如果是表达式,其公式又是如何?

变量%A%是表达式型的,公式可以不设。
--  作者:老有所乐
--  发布时间:2006/10/4 15:53:00
--  
谢!好像不行,每行都是256。请做个示例子看看。
--  作者:xjy
--  发布时间:2006/10/4 16:06:00
--  
这样:
egd文件下载
--  作者:李兴德
--  发布时间:2006/10/4 16:46:00
--  
请教:["+[%单位%]+"]是什么意思
--  作者:xjy
--  发布时间:2006/10/4 16:53:00
--  
下面引用由李兴德2006/10/04 04:46pm 发表的内容:
请教:+"]是什么意思

哈哈,完整的应该是:"["+[%单位%]+"]"
即:变量[%单位%]的值如果是"单位",其结果就是[单位];如果是"党支部",其结果就是[党支部].。这样公式EvalFor(gridname,"人数","CountFor(1,[%单位%],""="",[%A%])")
就相当于EvalFor(gridname,"人数","CountFor(1,""单位"",""="",[单位])"),或者EvalFor(gridname,"人数","CountFor(1,""党支部"",""="",[党支部])")


-=-=-=- 以下内容由 xjy2006年10月04日 05:00pm 时添加 -=-=-=-
其实也就是将[,[%单位%],]三个字符串连起来
--  作者:李兴德
--  发布时间:2006/10/4 17:00:00
--  
谢谢
--  作者:czy
--  发布时间:2006/10/4 19:22:00
--  
好象SetVariable("%A%","["+[%单位%]+"]")是多余的吧。