Foxtable(狐表)用户栏目专家坐堂 → 按时间段统计数值


  共有1416人关注过本帖树形打印复制链接

主题:按时间段统计数值

帅哥,在线噢!
ycs5801
  11楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:983 积分:7049 威望:0 精华:0 注册:2009/6/24 9:44:00
  发帖心情 Post By:2023/10/10 14:04:00 [只看该作者]

现在应该是次数等于1对两列统计数值都产生影响了,我的要求是次数等于1只对bl列的求和产生影响。

 回到顶部
帅哥,在线噢!
有点蓝
  12楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107756 积分:548119 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/10/10 14:08:00 [只看该作者]

改为使用表达式列b.Totals.Addexp:http://www.foxtable.com/webhelp/topics/2960.htm

b.Totals.Addexp("数量","iif(次数 = 1,bl,0)")
[此贴子已经被作者于2023/10/10 14:08:35编辑过]

 回到顶部
帅哥,在线噢!
ycs5801
  13楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:983 积分:7049 威望:0 精华:0 注册:2009/6/24 9:44:00
  发帖心情 Post By:2023/10/10 14:19:00 [只看该作者]

b.Totals.Addexp("bl", "iif(次数=1,bl,0)")  改成这样运行提示错误
图片点击可在新窗口打开查看此主题相关图片如下:qq截图20231010141721.png
图片点击可在新窗口打开查看

 回到顶部
帅哥,在线噢!
有点蓝
  14楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107756 积分:548119 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/10/10 14:21:00 [只看该作者]

如果是SqlServer改为case when

 回到顶部
帅哥,在线噢!
ycs5801
  15楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:983 积分:7049 威望:0 精华:0 注册:2009/6/24 9:44:00
  发帖心情 Post By:2023/10/10 14:32:00 [只看该作者]

b.Totals.Addexp("bl", "case 次数 when 1 then bl else 0")     

 

这么写不对,怎么改?


 回到顶部
帅哥,在线噢!
有点蓝
  16楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107756 积分:548119 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/10/10 14:33:00 [只看该作者]

b.Totals.Addexp("bl", "case when  次数=1 then bl else 0")    


 回到顶部
帅哥,在线噢!
ycs5801
  17楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:983 积分:7049 威望:0 精华:0 注册:2009/6/24 9:44:00
  发帖心情 Post By:2023/10/10 14:40:00 [只看该作者]

Dim b As New SQLGroupTableBuilder("统计表1", "操作表")
b.C
b.AddTable("操作表", "sureyid", "主表", "sureyid") '添加统计表
b.Groups.AddDef("cargo") '根据产品名称分组
b.Totals.AddDef("weightofcargo") '对数量进行统计
'b.Totals.AddDef("bl") '对数量进行统计
b.Totals.Addexp("bl", "case when  次数=1 then bl else 0")                
Dim filter As String

With e.Form.Controls("StartDate1")
    If .Value IsNot Nothing Then
        Filter = "日期 >= '" & .Value & "'"
    End If
End With
With e.Form.Controls("EndDate1")
    If .Value IsNot Nothing Then
        If Filter > "" Then
            Filter = Filter & " And "
        End If
        Filter = Filter & "日期 <= '" & .Value & "'"
    End If
End With
With e.Form.Controls("货物")
    If .Value IsNot Nothing Then
        If Filter > "" Then
            Filter = Filter & " And "
        End If
        Filter = Filter & "[cargo]= '" & .Value & "'"
    End If
End With
With e.Form.Controls("船代")
    If .Value IsNot Nothing Then
        If Filter > "" Then
            Filter = Filter & " And "
        End If
        Filter = Filter & "[company]= '" & .Value & "'"
    End If
End With

'b.filter = "日期>='01/05/2023' and 日期<='08/09/2023' and [cargo] = '煤'"
If Filter > "" Then

    b.filter = filter
   
    Tables("主表_Table5").DataSource = b.BuildDataSource()
    ' Maintable = Tables("统计表1") '打开生成的统计表
    'b.Build '生成统计表

Else
    messagebox.Show("请填入选项再搜索")
End If

 

还是提示同样错误呢?


 回到顶部
帅哥,在线噢!
有点蓝
  18楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107756 积分:548119 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/10/10 14:45:00 [只看该作者]

b.Totals.Addexp("bl", "case when  次数=1 then bl else 0 end")    

 回到顶部
总数 18 上一页 1 2