dim filter as string = "签订单位 Not In ('地质环境分公司','新疆分公司')"
Dim g As New CrossTableBuilder("统计月报表111", DataTables("合同台帐2018"))
g.Filter = filter
g.HGroups.AddDef("工程类型_1","工程类型")
g.VGroups.AddDef("审批", "已签订合同额|未签订合同额")
g.Totals.AddDef("合同个数", "合同个数")
g.Totals.AddDef("合同额", "合同额")
g.HorizontalTotal = True
g.VerticalTotal = True
g.Build()
Dim t As Table = Tables("统计月报表111")
t.DataTable.DataCols.Add("省内项目", Gettype(Double))
t.DataTable.DataCols.Add("省外项目", Gettype(Double))
t.DataTable.DataCols.Add("民用建筑", Gettype(Double))
For Each r As Row In t.Rows
If r.Index = t.Rows.Count - 1 Then
r("省内项目") = DataTables("合同台帐2018").Compute("sum(合同额)", "工程所在省 = '山东省' and " & filter)
r("省外项目") = DataTables("合同台帐2018").Compute("sum(合同额)", "工程所在省 <> '山东省' and " & filter)
r("民用建筑") = DataTables("合同台帐2018").Compute("sum(合同额)", "项目所属行业 = '房地产业' and " & filter)
Else
r("省内项目") = DataTables("合同台帐2018").Compute("sum(合同额)", "工程类型_1 = '" & r("工程类型") & "' and 工程所在省 = '山东省' and " & filter)
r("省外项目") = DataTables("合同台帐2018").Compute("sum(合同额)", "工程类型_1 = '" & r("工程类型") & "' and 工程所在省 <> '山东省' and " & filter)
r("民用建筑") = DataTables("合同台帐2018").Compute("sum(合同额)", "工程类型_1 = '" & r("工程类型") & "' and 项目所属行业 = '房地产业' and " & filter)
End If
Next
t.SetColVisibleWidth("工程类型|90|合同个数_1|60|合同额_1|90|合同个数_2|60|合同额_2|90|合计_合同个数|60|合计_合同额|90|省内项目|90|省外项目|90|民用建筑|90")
MainTable = t