Foxtable(狐表)用户栏目专家坐堂 → [求助]请问狐表现在有“行转列”的功能吗?


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

主题:[求助]请问狐表现在有“行转列”的功能吗?

帅哥哟,离线,有人找我吗?
ybil
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:521 积分:4910 威望:0 精华:7 注册:2008/9/2 22:22:00
  发帖心情 Post By:2011/5/23 8:18:00 [显示全部帖子]

多谢179635532朋友,太好了,要的就是它!

 回到顶部
帅哥哟,离线,有人找我吗?
ybil
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:521 积分:4910 威望:0 精华:7 注册:2008/9/2 22:22:00
  发帖心情 Post By:2011/5/23 8:24:00 [显示全部帖子]

引用狐狸爸爸 011-5-22 11:31:40的发言:

呵呵,还是你这段厉害,不过我的通用性强点,不管多少个科目,科目名称怎样,都不需要改代码。


嘻嘻,学习6楼的方法,来个动态通用的:

Dim  s1,s2 As String
For Each s1 In DataTables("成绩库").GetUniqueValues("","课程")
    s2 = s2  & ",max(iif( 课程 = '" & s1 &"',分数 , 0)) AS " & s1
Next
s2 = "SELECT 姓名 " & s2 & " FROM {成绩库} GROUP BY 姓名"
Tables("窗口1_Table1").Fill(s2,True)

[此贴子已经被作者于2011-5-23 8:31:32编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
ybil
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:521 积分:4910 威望:0 精华:7 注册:2008/9/2 22:22:00
  发帖心情 Post By:2011/5/23 8:29:00 [显示全部帖子]

SQLCrossTableBuilder--统计多个数据表


在运行下面的示例之前,请打开CaseStudy目录下的文件:统计演示.Table


Dim b As New SQLCrossTableBuilder("统计表1","订单")
b.ConnectionName =
"Sale"
b.AddTable(
"订单","产品ID","产品","产品ID") '添加统计表
b.AddTable(
"订单","客户ID","客户","客户ID") '添加统计表
b.AddCols(
"产品","产品名称") '指定产品名称列来自产品表
b.AddCols(
"客户","客户名称") '指定客户名称列来自客户表
b.HGroups.AddDef(
"客户名称") '添加客户列用于水平分组
b.VGroups.AddDef(
"产品名称","产品名称_{0}") '添加产品列用于垂直分组,并设置了Pattern参数
b.Totals.AddDef(
"数量") '添加数量列用于统计
b.Build
'生成统计表
Maintable
= Tables("统计表1") '打开生成的统计表


SQL与 FoxTable结合法:

Dim  s As String
Dim Arys As List(Of String()) 
Arys = DataTables("产品").GetUniqueValues("", "产品ID","产品名称")
For Each Ary As String() In Arys   
    s = s & ",Sum(iif( 产品ID = '" & Ary(0) &"',数量 ,0)) As 产品_" & Ary(1)
Next
s= "SELECT 客户ID As 客户" & s & " FROM {订单} GROUP BY 客户ID"
Tables("窗口1_Table2").Fill(s,"Sale",True)

For Each dr  As DataRow In DataTables("窗口1_Table2").DataRows
    dr("客户") = DataTables("客户").Find("客户ID = '" & dr("客户") & "'")("客户名称")
Next
[此贴子已经被作者于2011-5-23 8:37:02编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
ybil
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:521 积分:4910 威望:0 精华:7 注册:2008/9/2 22:22:00
  发帖心情 Post By:2011/5/23 9:04:00 [显示全部帖子]

不怀疑SQLGroupTableBuilder与SQLCrossTableBuilder的运算效率,只是它们都要TableBuilder(建表),这占用几乎是整个过程的时间,经测试,所用时间是SQL的3倍多!

 回到顶部