6.1.2建立交叉表 出 Grade 口区 如果在上文所述的建 学号课程代号开课学期[考试时间考试类别课程成绩|△ 99045002 001第1学期「01/10/00正考 立查询的第一步选择 9030000819期]101/001正考 第1学期01/10/00正考 “交叉表向导”,则可+ww第率000等 以建立交叉表。下面通 99402110001第1学期101/10/00正考 99043021 0004 期01/1 0/00正考 过示例来介绍如何建立十03用D正考 学期01/1000正 学期01/10/00正 89肥269668257 数据建立一个交叉表,十一篇m 以显示每个学生所有课 98040522 001第1学期01/10/00正考 第1学期01/10/00正考 程的总成绩。Gade表 99043010 01/10/00正考 56巧8巧即 904302 01/10/001 中的部分数据如: 004 01/10/00正考 904500110002第1学期010/00正考 前面的设计过程同以 98040522 0002 第1学期01/10/00 93030210第1学期0/100正考 上内容,但是在第二步90 期101/10/00正考 562887 需要确定交叉表的行和!账字期四A0m1正考7 980520310002第1学期01/10/00 列。 stR o toros 2021-2-20 Visual Foxpro60程序设计
2021-2-20 Visual FoxPro 6.0程序设计 11 6.1.2 建立交叉表 如果在上文所述的建 立查询的第一步选择 “交叉表向导”,则可 以建立交叉表。下面通 过示例来介绍如何建立 交叉表。用Grade表中的 数据建立一个交叉表, 以显示每个学生所有课 程的总成绩。 Grade表 中的部分数据如: 前面的设计过程同以 上内容,但是在第二步 需要确定交叉表的行和 列
交叉表设计向导—字段选取 交叉表向导 区说明:在这 步骤1-宇段选取 步先在“ 数据库和表 确定交叉表查询中所需的字段。 ”一选择 3 Axx 1 YYYYYY 选择数据库或自由表,从中选择表或视图,然后选择所 个数据库, 4 xxx2 YYY wr 需字段。 再选择用以 4 YYY YYY 个字段选定按钮 建立交叉表 的数据表, 数据库和表① 可用宇段〔A) 选定宇段) GXGLMT 牌课程代号 然后再从可 用字段列表 STUDENT 开课学期 框中选择要 GRADE 考试类别 圃SCRE 考试时间 用的字段, 课程成绩 交叉表只用 三个字段, 这一步可多 帮助Q〕 取消 上一步)下步 完成() 选字段 佺部字段选定按钮单个字段撤消按钮部字段撤消按钮单击 VIsual foxpro6.0程序设
2021-2-20 Visual FoxPro 6.0程序设计 12 交叉表设计向导——字段选取 选择数据库和表 选定字段 单击 单个字段选定按钮 全部字段选定按钮 单个字段撤消按钮 说明:在这 一步先在“ 数据库和表 ”一选择一 个数据库, 再选择用以 建立交叉表 的数据表, 然后再从可 用字段列表 框中选择要 用的字段, 交叉表只用 三个字段, 这一步可多 选 字段。 全部字段撤消按钮 单击
交叉表向导—定义布局 交叉表向导 说明 陟2-定义布局 确定交叉表查询的布局。 (1)行,将要加入到 B C 1髻器 2暑器 将可用字段拖车交又表的相应位置 交叉表中的第一个字 3甚器 4暑器 段名,本示例中选择 字段“学号”; 可用字段 代号 课程代号 (2)列,将要加入到 学号 开课学期 Ccc 学号 交叉表中的从第二个 考试类别 课程成绩 字段开始的若干个字 考试时间 单击 段的字段名,注意这 些从源表中选择的数 据不能超过254个。本 帮助Q) 取消 让上一步)下一步>完成吧) 示例中选择字段“课 程代号”; 按提示操作:从可用字段列表框中将“学号”字 段拖入“行”框,将“课程代号”拖入“列”框 (3)数据,对应行和 将“课程成绩”拖入“数据”框 列的运算结果,本示 例中选择“课程成 2021-2-20 Visual Foxpro60程序设计 绩 13
2021-2-20 Visual FoxPro 6.0程序设计 13 交叉表向导——定义布局 说明: (1)行,将要加入到 交叉表中的第一个字 段名,本示例中选择 字段“学号” ; (2)列,将要加入到 交叉表中的从第二个 字段开始的若干个字 段的字段名,注意这 些从源表中选择的数 据不能超过254个。本 示例中选择字段“课 程代号” ; (3)数据,对应行和 列的运算结果,本示 例中选择“课程成 绩”。 按提示操作:从可用字段列表框中将“学号”字 段拖入“行”框,将“课程代号”拖入“列”框, 将“课程成绩”拖入“数据”框。单击
交叉表查询向导—加入总结信息 交叉表向导 区说明:这一步的操作, 步骤3-加入总结信息 习决定在生成的交叉表中 确定是否需要对数据添加分类汇总列。 要加入的一个字段的内 选择每行所需的总计类型。 容。 (1)求和:求出对应行 和列的数据字段的和 总结 分类汇总 (2)计数:求出对应行 G求和0 G数据求和 C计数c) C包含数据的单元格数目 和列的数据字段的数目; C平均值)c占整张表的总计的百分比c) (3)平均值:求出对应 C最大值(A C无 C最小值〔 行和列的数据字段的平 均值 帮助D 取消上一步一步「完成 (4)最大值:求出对应 行和列的数据字段的最 大值 本示例中选择“求和”运算 (5)最小值:求出对应 如果不想加入总结信息,可 击 行和列的数据字段的最 以在“分类汇总”中选择 小值 无 2021-2-20 Visual Foxpro60程序设计
2021-2-20 Visual FoxPro 6.0程序设计 14 交叉表查询向导——加入总结信息 说明:这一步的操作, 决定在生成的交叉表中 要加入的一个字段的内 容。 (1)求和:求出对应行 和列的数据字段的和; (2)计数:求出对应行 和列的数据字段的数目; (3)平均值:求出对应 行和列的数据字段的平 均值; (4)最大值:求出对应 行和列的数据字段的最 大值; (5)最小值:求出对应 行和列的数据字段的最 小值。 本示例中选择“求和”运算。 如果不想加入总结信息,可 以在“分类汇总”中选择 “无”。 单击
交叉表向导——完成 交叉表向导 区交叉表查询以文件的 步骤4-完成 式(QPR)保存到 指定的目录中。 禁江作记准备,要查刻界更 将交叉表查询保存到 请选择下列某一选项,再单击“完威”按钮。 个指定的目录中并运行 保存交叉表查询( c保存并运行交又表查询 该文件 C保存交叉表查询并在查询设计器中修改该查询) 将交叉表查询保存到一个指定的目录中并打开“查询设计器”修改 对于值为空的记录是否以NULL填充 系统默认值是 显示H值迎) 预览)“保存交叉表查询”和 “显示NULL值”。 帮助⑩ 取消 让上一步)下一步() 四选择“保存并运行 叉表查询”后单 2021-2-20 Visual Foxpro60程序设计
2021-2-20 Visual FoxPro 6.0程序设计 15 交叉表向导——完成 将交叉表查询以文件的 形式(.QPR)保存到一 个指定的目录中。 将交叉表查询保存到一 个指定的目录中并运行 该文件。 将交叉表查询保存到一个指定的目录中并打开“查询设计器”修改 它。 对于值为空的记录是否以.NULL.填充 说明:系统默认值是 “保存交叉表查询”和 “显示NULL值”。 选择“保存并运行 交叉表查询”后单 击