以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 跨表统计需要多个filter,公式如何表达? (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=177305) |
-- 作者:hbfnmxb -- 发布时间:2022/5/17 9:52:00 -- 跨表统计需要多个filter,公式如何表达? If e.DataCol.Name = "产品"
Then
这个是帮助文件中的例子,现在的问题是想即统计产品列,还有客户列,再加上雇员列,三列条件,这个filter如果来写? 谢谢老师! [此贴子已经被作者于2022/5/17 9:55:26编辑过]
|
-- 作者:有点蓝 -- 发布时间:2022/5/17 10:04:00 -- 使用多个变量,比如filter、filter1、filter2、............. |
-- 作者:hbfnmxb -- 发布时间:2022/5/17 10:45:00 -- If e.DataCol.Name = "录取年度" Then Dim Filter As String = "[原文理科] = \'" & e.NewValue & "\'" Dim Filter1 As String = "[录取批次] = \'" & e.NewValue & "\'" Dim Filter2 As String = "[录取年度] = \'" & e.NewValue & "\'" e.DataRow("录取计划") = DataTables("录取计划").Compute("Sum(计划数)", Filter) e.DataRow("计算985计划") = DataTables("录取计划").Compute("Sum(计划数)", Filter) End If 这样写的,没有计算结果。不知道哪里错了,老师看一下! 只有设置 录取年度时,才有计算结果。
|
-- 作者:有点蓝 -- 发布时间:2022/5/17 11:06:00 -- 都是给同一个单元格赋值的,多个条件的意义是什么。是多个条件合并到一起同时符合?还是多个条件分别统计后加到一起? |
-- 作者:hbfnmxb -- 发布时间:2022/5/17 13:35:00 -- 是多个条件合并到一起同时符合 |
-- 作者:有点蓝 -- 发布时间:2022/5/17 14:05:00 -- If e.DataCol.Name = "录取年度" Then Dim Filter As String = "[原文理科] = \'" & e.NewValue & "\' and [录取批次] = \'" & e.NewValue & "\' and [录取年度] = \'" & e.NewValue & "\'" e.DataRow("录取计划") = DataTables("录取计划").Compute("Sum(计划数)", Filter) e.DataRow("计算985计划") = DataTables("录取计划").Compute("Sum(计划数)", Filter) End If
|
-- 作者:hbfnmxb -- 发布时间:2022/5/17 14:26:00 -- 老师出现这个问题,您看一下是什么原因? 此主题相关图片如下:777.png |
-- 作者:有点蓝 -- 发布时间:2022/5/17 14:49:00 -- 认真看看帮助:http://www.foxtable.com/webhelp/topics/1284.htm 表达式中的日期用符号#括起来,数值则不需要任何符号括起来,这些和代码中的格式是一样的,唯一不同的是字符串用单引号括起来。 例如: Tables("订单").Filter = "[产品] = \'PD01\'" \'字符用单引号括起来 |
-- 作者:hbfnmxb -- 发布时间:2022/5/17 15:06:00 -- 谢谢老师,已经修改好了。!! |