Rss & SiteMap

Foxtable(狐表) http://www.foxtable.com

新一代数据库软件,完美融合Access、Foxpro、Excel、vb.net之优势,人人都能掌握的快速软件开发工具!
共25 条记录, 每页显示 10 条, 页签: [1] [2] [3]
[浏览完整版]

标题:[求助]统计问题

11楼
有点蓝 发表于:2024/6/4 21:34:00
不需要使用SQLCommandhttp://www.foxtable.com/webhelp/topics/2307.htm

Dim b As New CrossTableBuilder("Cj1", "select  负责人,PlWeek as 年周,异常分类,ReYq as 达成,1 as sl from {ProjectSchedule_View}  ", "数据源名称")
b.HGroups.AddDef("负责人") '添加客户列用于水平分组
b.HGroups.AddDef("年周") '添加客户列用于水平分组
b.VGroups.AddDef("异常分类", "异常分类_{0}") '添加产品列用于垂直分组
b.VGroups.AddExp("达成", "iif(达成 = true,'达成','未达成')") '添加产品列用于垂直分组
b.Totals.AddDef("sl") '添加数量列用于统计
b.VerticalTotal = True
Dim tbCj As Table = Tables(e.Form.Name & "_TabProjectSchedule_Cj")
tbcj.DataSource = b.BuildDataSource
12楼
2900819580 发表于:2024/6/4 21:57:00
老师,按11楼的方法,显示如5楼的结果一样。
13楼
有点蓝 发表于:2024/6/4 22:08:00
改为SQlCrossTableBuilder
14楼
2900819580 发表于:2024/6/4 22:28:00
老师,更改为sqlCrossTableBuilder,
1、如果保留b.VGroups.AddExp("达成", "iif(达成 = true,'达成','未达成')") 会提示【无法完成延迟准备,无法预定义语句,‘=’附近有语法错误】
2、如果删除b.VGroups.AddExp("达成", "iif(达成 = true,'达成','未达成')") 会提示【无法完成延迟准备,无法预定义语句,From附近有语法错误】

Dim b As New sqlCrossTableBuilder("Cj1", "sel ect  负责人,PlWeek as 年周,异常分类,ReYq as 达成,1 as sl from {ProjectSchedule_View}  ", "ZC_Data")
b.HGroups.AddDef("负责人") '添加客户列用于水平分组
b.HGroups.AddDef("年周") '添加客户列用于水平分组
b.VGroups.AddDef("异常分类", "异常分类_{0}") '添加产品列用于垂直分组
b.VGroups.AddExp("达成", "iif(达成 = true,'达成','未达成')") '添加产品列用于垂直分组
b.Totals.AddDef("sl") '添加数量列用于统计
b.VerticalTotal = True
Dim tbCj As Table = Tables(e.Form.Name & "_TabProjectSchedule_Cj")
tbcj.DataSource = b.BuildDataSource
15楼
有点蓝 发表于:2024/6/4 22:38:00
如果是SqlServer数据库
逻辑值的使用参考:http://www.foxtable.com/webhelp/topics/2343.htm
iif改为使用case when:http://www.foxtable.com/webhelp/topics/2962.htm

b.VGroups.AddExp("达成", "Case When 达成=1 Then '达成' Else '未达成' End") 


16楼
2900819580 发表于:2024/6/5 20:35:00
老师,ProjectSchedule_View 是个视图来的,更改为以下代码,还是会出现以下错误,但是同样的语句在SQL进而执行又没有问题。
老师,还有10楼那个问题,麻烦也帮忙一起看一下。
第一次弹窗:会提示【无法完成延迟准备,无法预定义语句,From附近有语法错误】
关闭后第二次弹窗:生成的SQL语句错误,无法继续统计。
关闭后第三次弹窗:关键字‘GROUP’附近有语法错误。


Dim cmdstr As String 
cmdstr = "sele ct  (Sel ect TOP 1 UseName From dbo.DUSE As U Where (U.Itid = a.PICUid)) As 负责人,a.PlWeek as 年周,  (Sel ect TOP 1 名称 From dbo.基础表 As b Where (b.Itid = a.AnomalousID)) As 异常分类,a.ReYq as 达成,1 as sl from {ProjectSchedule} as a  "  
Dim b As New sqlCrossTableBuilder("Cj1", cmdstr, "ZC_Data")
b.HGroups.AddDef("负责人") '添加客户列用于水平分组
b.HGroups.AddDef("年周") '添加客户列用于水平分组
b.VGroups.AddDef("异常分类", "异常分类_{0}") '添加产品列用于垂直分组
b.VGroups.AddExp("达成", "case when 达成 = 1 then '达成' else '未达成' end") '添加产品列用于垂直分组

b.Totals.AddDef("sl") '添加数量列用于统计
b.VerticalTotal = True
Dim tbCj As Table = Tables(e.Form.Name & "_TabProjectSchedule_Cj")
tbcj.DataSource = b.BuildDataSource
[此贴子已经被作者于2024/6/5 20:36:21编辑过]
17楼
有点蓝 发表于:2024/6/6 8:46:00
复杂语句可以考虑直接使用视图:Dim b As New sqlCrossTableBuilder("Cj1", "select * from [xxx视图]", "ZC_Data")

10楼的问题没有办法直接到统计里处理,只能是像2楼帮助那样,生成报表后再添加列
18楼
2900819580 发表于:2024/6/6 11:34:00
老师,我试过视图不行,才改这样的,
我之前的代码就是用视图的{ProjectSchedule_View}。

但错误还是一样的。
[此贴子已经被作者于2024/6/6 11:35:25编辑过]
19楼
有点蓝 发表于:2024/6/6 11:38:00
视图肯定是可以的。到后台数据库执行【select * from ProjectSchedule_View】,看是什么效果?
20楼
2900819580 发表于:2024/6/6 20:16:00

图片点击可在新窗口打开查看此主题相关图片如下:无标题_20240606.png
图片点击可在新窗口打开查看

老师,视图加载是肯定没有问题的,看以下代码,数据表是可以加载进来的。像上图一样,
但这样先加载进来,再统计,就没办法出现b.VGroups.AddExp("达成", "iif(达成 = 1,'达成','未达成')") 


Dim tb As Table = Tables(e.Form.Name & "_TabProjectSchedule_Mx")
Dim dt As DataTable = tb.DataTable
Dim cmd As New SQLCommand
cmd.C
cmd.Comman dText = "sel ect  负责人,PlWeek as 年周,异常分类,ReYq as 达成,1 as sl from {ProjectSchedule_View}  " 
tb.DataSource = cmd.ExecuteReader
                           
Dim tbCj As Table = Tables(e.Form.Name & "_TabProjectSchedule_Cj")
Dim b As New CrossTableBuilder("Cj1", dt)
b.HGroups.AddDef("负责人") 
b.HGroups.AddDef("年周") 
b.VGroups.AddDef("异常分类", "异常分类_{0}") 
b.VGroups.AddExp("达成", "iif(达成 = 1,'达成','未达成')") 
b.Totals.AddDef("sl") 
b.VerticalTotal = True

tbcj.DataSource = b.BuildDataSource
共25 条记录, 每页显示 10 条, 页签: [1] [2] [3]

Copyright © 2000 - 2018 foxtable.com Tel: 4000-810-820 粤ICP备11091905号

Powered By Dvbbs Version 8.3.0
Processed in .02734 s, 2 queries.