以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  后台分组统计表达式无效  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=122952)

--  作者:ZJZK2018
--  发布时间:2018/8/5 14:40:00
--  后台分组统计表达式无效
需求是:只要“招标控制价”和“投标报价”中有一个为空值或为零时,“下浮率_招标控制价” 为空值,否则为1 - [投标报价] / [招标控制价]


Dim tb5 As Table = Tables("标录分析_Table05")
Dim jb As New SQLJoinTableBuilder("标录明细汇总表","标录明细")
jb.C
jb.AddTable("标录明细","系统编号","招标信息","系统编号")
jb.AddCols("开标日期","开标时间","咨询类型","{标录明细}.系统编号","{标录明细}.项目名称","本期概算","标准基价","招标控制价","风险控制价","最高限价","最低限价","开标地址","工程类别","投标单位","投标球号","投标报价","评标基准价")
jb.AddExp("下浮率_招标控制价","IIF([招标控制价] > 0 And [投标报价] > 0,1 - [投标报价] / [招标控制价],0)")
jb.Build()
\'MainTable = Tables("查询表1")
tb5.DataSource = jb.BuildDataSource
tb5.Cols("评标基准价").DataCol.SetFormat("0.00")
tb5.Cols("下浮率_招标控制价").DataCol.SetFormat("0.00%")
[此贴子已经被作者于2018/8/5 14:50:38编辑过]

--  作者:有点甜
--  发布时间:2018/8/5 20:54:00
--  
你的事什么数据库?如果是sqlserver数据库,要改成 case when
--  作者:ZJZK2018
--  发布时间:2018/8/5 21:10:00
--  
有点甜老师我用的是sqlserver数据库,我对sqlserver不了解,怎么写?能否做一下?谢谢
--  作者:有点甜
--  发布时间:2018/8/5 23:44:00
--  
jb.AddExp("下浮率_招标控制价","case when [招标控制价] > 0 And [投标报价] > 0 then 1 - [投标报价] / [招标控制价] else 0 end")