*!* 示例 1 : 最简单的交叉表
Close Databases
*!* 模拟一家公司的年报表的数据
=Rand(-1)
Create Cursor cTest ( 公司 C(10), 年度 I, 销售 N(10, 2), 指标 N(10, 2) )
For lnC = 1 To 10
For lnY = 2015 To 2016
Insert Into cTest Values ( '公司 ' + Padl(m.lnC, 2, "0"), m.lnY, 100000*Rand(), 100000*Rand() )
Next
Next
Local oXtab
oXtab = Newobject("FastXtab", "FastXtab_CN.prg")
*!* 1.1 使用字段名的方式 :
oXtab.cRowField = '公司' && 行是公司名
oXtab.cColField = '年度' && 列是年度
oXtab.cDataField = '销售' && 摘要字段是销售额
*!* 1.2 也可以使用字段编号的方式 :
*!* oXtab.nRowField = 1 && 行是公司名
*!* oXtab.nColField = 2 && 列是年度
*!* oXtab.nDataField = 3 && 摘要字段是销售额
oXtab.lBrowseAfter = .T. && 查询后 Browse 显示
oXtab.lCursorOnly = .T. && 指定输入的数据源为游标
oXtab.RunXtab() && 运行查询
=============================================================
*!* 示例 2 = 获取交叉表 + 行/列汇总表 : 显示 = 1销售 / 2指标 / 3完成(销售 - 指标) / 列汇总
Close Databases
*!* 模拟一家公司的年报表的数据
=Rand(-1)
Create Cursor cTest ( 公司 C(10), 年度 I, 销售 N(10, 2), 指标 N(10, 2) )
For lnC = 1 To 10
For lnY = 2015 To 2016
Insert Into cTest Values ( '公司 ' + Padl(m.lnC, 2, "0"), m.lnY, 100000*Rand(), 100000*Rand() )
Next
Next
Local oXtab
oXtab = Newobject("FastXtab", "FastXtab_cn.prg")
oXtab.cRowField = '公司' && 行是公司名
oXtab.cColField = '年度' && 列是年度
oXtab.nMultiDataField = 3
oXtab.acDataField[1] = '销售' && 摘要字段为销售
oXtab.acDataField[2] = '指标' && 摘要字段为指标
oXtab.anFunctionType[3] = 6
oXtab.acFunctionExp[3] = 'Sum(销售 - 指标)' && 完成
oXtab.lBrowseAfter = .T. && 查询后 Browse 显示
oXtab.lCloseTable = .F. && 不关闭游标
oXtab.lTotalRows = .T.
oXtab.lCursorOnly = .T. && 指定输入的数据源为游标
oXtab.RunXtab()
Close Databases
*!* 模拟一家公司的年报表的数据
=Rand(-1)
Create Cursor cTest ( 公司 C(10), 年度 I, 销售 N(10, 2), 指标 N(10, 2) )
For lnC = 1 To 10
For lnY = 2015 To 2016
Insert Into cTest Values ( '公司 ' + Padl(m.lnC, 2, "0"), m.lnY, 100000*Rand(), 100000*Rand() )
Next
Next
Local oXtab
oXtab = Newobject("FastXtab", "FastXtab_CN.prg")
*!* 1.1 使用字段名的方式 :
oXtab.cRowField = '公司' && 行是公司名
oXtab.cColField = '年度' && 列是年度
oXtab.cDataField = '销售' && 摘要字段是销售额
*!* 1.2 也可以使用字段编号的方式 :
*!* oXtab.nRowField = 1 && 行是公司名
*!* oXtab.nColField = 2 && 列是年度
*!* oXtab.nDataField = 3 && 摘要字段是销售额
oXtab.lBrowseAfter = .T. && 查询后 Browse 显示
oXtab.lCursorOnly = .T. && 指定输入的数据源为游标
oXtab.RunXtab() && 运行查询
=============================================================
*!* 示例 2 = 获取交叉表 + 行/列汇总表 : 显示 = 1销售 / 2指标 / 3完成(销售 - 指标) / 列汇总
Close Databases
*!* 模拟一家公司的年报表的数据
=Rand(-1)
Create Cursor cTest ( 公司 C(10), 年度 I, 销售 N(10, 2), 指标 N(10, 2) )
For lnC = 1 To 10
For lnY = 2015 To 2016
Insert Into cTest Values ( '公司 ' + Padl(m.lnC, 2, "0"), m.lnY, 100000*Rand(), 100000*Rand() )
Next
Next
Local oXtab
oXtab = Newobject("FastXtab", "FastXtab_cn.prg")
oXtab.cRowField = '公司' && 行是公司名
oXtab.cColField = '年度' && 列是年度
oXtab.nMultiDataField = 3
oXtab.acDataField[1] = '销售' && 摘要字段为销售
oXtab.acDataField[2] = '指标' && 摘要字段为指标
oXtab.anFunctionType[3] = 6
oXtab.acFunctionExp[3] = 'Sum(销售 - 指标)' && 完成
oXtab.lBrowseAfter = .T. && 查询后 Browse 显示
oXtab.lCloseTable = .F. && 不关闭游标
oXtab.lTotalRows = .T.
oXtab.lCursorOnly = .T. && 指定输入的数据源为游标
oXtab.RunXtab()
民工子弟学校22班团小组长阳光模特队长冲锋篮球队前锋小苹果合唱队领唱蓝天舞蹈队编舞