当前位置:文档之家› report_design_manual

report_design_manual

report_design_manual
report_design_manual

netGarment

Report Designer 使用手册

一、初识Report Designer (4)

1.1、Report Designer的独特之处 (4)

1.2、 Report Designer界面 (4)

1.3、报表产生的一般过程 (5)

二、使用Report Designer制作第一张报表 (5)

2.1、登录Report Designer (5)

2.2、Report Designer 基本界面 (6)

2.3、获取数据 (6)

2.4、处理数据 (7)

2.5、表现数据 (8)

2.5.1、表头部分 (10)

2.5.2、表体部分 (11)

2.5.3、报表结尾部分 (13)

2.5.4、看看自己的成果 (14)

2.5.5、“FR3”报表设计的简单操作技巧 (14)

2.5.6、有关“FR3”帮助文档的说明 (15)

三、创建复杂的SQL语句 (15)

3.1、多表SQL (15)

3.1.1、创建连接 (15)

3.1.2、连接模式 (15)

3.1.3、多表连接举例 (16)

3.2、SQL语句的列操作 (16)

3.2.1、SQL列的显示 (16)

3.2.2、字段操作区中字段的顺序 (17)

3.2.3、为SQL添加排序 (18)

3.2.4、SQL中的聚合操作 (19)

3.3、包含条件和参数的SQL语句 (20)

3.3.1、条件 (21)

3.3.2、参数 (24)

3.3.3、参数高级操作 (25)

3.3.3.1、区间类型 (26)

3.3.3.2、编辑类型 (27)

3.3.3.3、查找值的作法 (27)

3.4、SQL语句的高级操作 (30)

3.4.1、引用前面所写的SQL语句 (30)

3.4.2、返回或不返回数据 (31)

3.4.3、手工书写SQL (32)

3.4.3.1、SQL图形页面的手工书写 (33)

3.4.3.2、完全手工书写 (34)

3.4.3.3、利用索引提高SQL语句的性能 (35)

3.4.3.4、手工书写SQL时需要注意的事情 (35)

3.5、察看结果 (35)

四、对数据进一步处理 (37)

4.1、组成Master&Detail数据集 (37)

4.1.1、获取单个的数据集 (37)

4.1.2、设置Master&Detail数据集 (38)

4.2、OLAP中的自定义字段 (40)

4.2.1、自定义字段的介绍 (40)

4.2.2、源字段为字符型字段的自定义字段 (41)

4.2.3、源字段为数值型字段的自定义字段 (42)

4.2.3.1、数值型字段的显示格式定义 (42)

4.2.3.2、区间定义 (43)

4.2.4、源字段是日期型字段的自定义字段 (45)

4.2.4.1、日期型字段显示格式的定义 (46)

4.2.4.2、日期型字段的自定义字段 (46)

4.2.5、自定义字段应用 (47)

五、用FR3来将你的数据转换为报表 (47)

5.1、“Master&Detail”的Band (47)

5.1.2、SubReport的解决方法 (48)

5.1.3、“Master&Detail”Band的解决方法 (49)

5.2、利用iWork Cross Table来制作报表 (50)

5.2.1、FastReport提供的Cross Table控件 (50)

5.2.2、iWork Cross Table的特性 (52)

5.2.3、利用iWork Cross Table制作报表 (52)

六、设计Excel类型的报表 (56)

6.1、Excel报表模版 (57)

6.1.1、命名区域 (57)

6.1.2、在区域中添加数据 (58)

6.1.3、区域的嵌套 (59)

6.2、一个简单的Excel报表 (59)

6.3、给Excel报表添加统计功能 (62)

6.4、Master&Detail类型的Excel报表 (64)

七、OLAP分析型报表 (66)

7.1、OLAP报表简介 (66)

7.2、创建OLAP报表 (66)

7.3、OLAP的多角度分析 (69)

7.4、OLAP的基本操作 (70)

7.5、OLAP中的自定义字段 (72)

7.6、OLAP的图表 (73)

7.7、OLAP的导出 (74)

7.8、OLAP的高级操作 (74)

八、报表翻译 (77)

8.1、翻译的制作 (77)

8.1.1、添加待翻译信息到MLF文件 (78)

8.1.2、录入翻译信息 (78)

8.2、运用翻译 (80)

九、Off Line工作模式 (81)

十、报表管理 (81)

10.1、NRS文件的简述 (81)

10.2、报表文件上传 (81)

10.3、已上传报表的修改 (83)

十一、其他事项 (83)

报表是各个公司作决策分析的重要数据来源,如果可以根据需要自行设计和实现报表,就可以做到报表随需求的变化而变化。现在Report Designer工具就可以帮你实现这个梦想,可以使你自由的开发自己的报表。

一、初识Report Designer

Report Designer是iGarment公司提供的允许客户自己开发报表的工具,它可以和iGarment的各个软件结合在一起,为客户自己开发报表提供解决办法。下面我们一起来了解和使用Report Designer。

1.1、Report Designer的独特之处

Report Designer有一些独特的地方,是其与一般的报表工具所不同的地方,也是它的特点。

(1)Report Designer提供三种报表格式“FR3”、“XLS”、“OLAP”。

(2)Report Designer使用脚本来保存报表设计的结果,更新、察看更加容易。

(3)提供了图形化生成SQL语句的功能,降低用户使用难度。

(4)提供了离线操作功能,方便离线设计。

下面就让我们在慢慢的使用Report Designer的过程中进行体会。

1.2、 Report Designer界面

Report Designer的进入后的主界面如图1-1。

这个界面上我们可以看到两个页面,SQL页面和数据模块页面,当你打开的报表是OLAP类型的时候还会出现“OLAP”的页面。

SQL页面:图形化生成SQL语句或者手工输入SQL语句的地方。

数据模块:对SQL语句所获取到的数据作进一步的整理,使数据结构更符合报表的需要。

另外可以看到图中有两个被标出的特殊按钮“Design”和“Report Manager”,他们两个的作用如下:

Design:报表设计按钮。根据所创建的报表类型不同,所出现的设计界面也不同。

Report Manager:报表管理按钮,对设计好的报表进行管理,以便设计的报表可以供大家分享。

1.3、报表产生的一般过程

制作一个报表一般可以分为三个过程:“获取数据”、“处理数据”、“表现数据”。

获取数据就是从数据库中获取自己需要的准备用来做报表的数据。

处理数据是对取得数据作一些处理,使处理后的数据结构更加符合报表要求。

表现数据将处理好的数据用适当的形式表现出来,所得到的结果就是报表。其中处理数据有时候可以没有。

二、使用Report Designer制作第一张报表

这一章让我们使用Report Designer来制作一个属于自己的简单报表,顺便了解掌握Report Designer的基本操作。

下面我们创建一个基本的“FR3”类型的报表,这个报表的目的是“列举2009年以来的所有的销售订单的基本信息”。下面大家一步一步地来实现这个报表。

2.1、登录Report Designer

我们找到Report Designer程序(一般在NetGarment软件的安装目录的bin目录下),双击该程序后首先出现登录界面。这个登录界面和NetGarment其他软件的登录界面基本完全相同。当然他的登录验证方法和NetGarment也是相同的。登录界面如图2-1。

我们可以看到这个登录有一个“Offline”的按钮,当我们在不能够连接到数据库的时候,就可以采用这种方式进行工作,但采用这种方式进行工作时某些功能将会受到限制。

登录的时候需要输入用户名、密码、服务器地址、缓存服务器地址、以及语言选项。其中如果没有缓存服务器可以输入“127.0.0.1”作为缓存服务器地址。Report Owner的作用暂时不作介绍。

2.2、Report Designer 基本界面

点击OK,完成登录。登录以后出现的界面如图2-2。这个图和前一章的图1-1是相同的。我们当前看到的具体页面就是图形化生成SQL语句的页面。具体界面详述如下。

SQL图形页面大致可以分成三大区域:

数据表信息区:显示数据库中相关的数据表信息。图中黑色区域。

SQL语句列表区:保存和管理所生成的SQL语句区域。图中绿色区域。

SQL图形化结构区:具体的SQL语句图形结构区。图中红色区域。

在数据信息区中有可以细分为表信息区和字段信息区。

表信息区:显示数据库中数据表的信息,可以拖拉到SQL语句图形化区用来创建SQL语句。

字段信息区:显示表信息区中当前所选中的数据表的字段和索引信息,以及该数据表的具体描述。

在SQL图形化结构区中也可以分为两个部分:图形区和字段操作区。

图形区:显示具体的数据表图形,可以进行字段的勾选与表的关联操作。

字段操作区:对在图形区选择的字段做更为详细的操作区域。

2.3、获取数据

由于Report Designer默认的报表格式就是“FR3”,所以我们这里可以直接进行操作。如果我们打算制作的报表类型不是默认的“FR3”类型,就需要从菜单上点击“New”,然后选择要创建的类型才可以。

我们从左侧数据表中拖动SaoMstr数据表到右侧的图形化区。然后选中列“Order No”, “Issue Date”,“Division”,“Season”,“Customer”,“Status”几个列。选中的列出现在字段操作区。我们在SQL语句列表区中对应的“Name”中输入“dsSaoMstr”作为SQL语句的名称(以后产生的数据集也是这个名字)。具体界面参见图2-2。

我们在Condition1行,Issue Date列对应的单元格中输入“>=2009-01-01”。(注意此处输入的时间格式应该和NetGarment系统中设置的时间格式相同)。这样我们可以只查看2009年的数据了。

输入完成后产生如下的SQL语句。

现在有了SQL语句,我们可以点击界面上的“Data”按钮来获取数据。点击“Data”后出现的数据模块界面如下图2-4。

数据模块页面可以分为五个区域:

系统函数列表区:显示Report Designer所提供的处理函数的相关信息。这些函数过程在进行代码编辑的时候可以使用。具体的函数信息在后面介绍。

代码编辑区:在这类可以写代码,对获取的数据作进一步的处理。

数据集列表:显示点击Data按钮后所获的全部数据集。其中以“_”开头的数据集为系统内建的数据集,存储相应的系统信息。

数据区:显示左侧所选的数据集的相关数据。

执行信息区:显示点击“Data”按钮执行SQL语句时的相关执行信息。

2.4、处理数据

在这里我们不需要对数据作任何的处理,所以可以跳过制作报表的第二个“处理数据”的步骤,直接到第三个“表现数据”步骤。

2.5、表现数据

由于我们目前创建的报表类型为“FR3”,所以我们点击了“Design”以后,系统就会出现“FR3”类型报表的设计界面。如图2-5。

在FR3的设计界面上起初只有两个页“代码”页、“Data”页。“Data”页我们不介绍。单看代码页的话我们会发现他和前面的“数据模块”页面比较像,但两者其实不同。这里的代码编辑主要是针对在打印报表的过程的事情做处理,和前面的针对数据集的处理有所不同。

我们点击界面上的File—〉New Page,设计界面上会出现一个可以用来设置报表界面的页面。图2-6。

我们在页面的空白处双击,将弹出一个报表页面设

置的窗口。在设计报表的时候我们需要设置报表打印的纸张类型。这个操作最好提前做,否则你可能需要多做很多的调整工作。界面如入2-7。

在这里我们设置我们第一个报表的纸张类型为“A4”。

然后我们进行报表设计,在进行报表设计之前让我们先来认识认识报表设计需要用到的一些工具按钮。这些工具按钮默认在设计界面的最左侧。这里仅仅介绍最常用的。

Band在报表中指的是某一个区域,这个区域有特殊的用途。当我们点击Band按钮后,会弹出一个菜单,供你选择。我们这介绍几个常用的Band的用途。

Report Title:报表的标题。每张报表仅可以有一个,而且这个区域只在报表首页显示一次。

ReportSummery:报表合计。每张报表仅可以有一个,而且这个区域只在报表末尾显示一次。

Page Header:报表页的页头。每页仅可以有一个,这个区域在页头部分显示。

Page Footer:报表页的页尾。每页仅可以有一个,而且这个区域只在页尾显示一次。

Master Data:主项数据(第一层数据——重复每个主项数据记录)。显示个数不受限制。

Detail Data:细项数据(第二层数据——重复每个细项数据记录)。紧跟最近的Master Data显示,个数不受限制。

SubDetail Data:子细项数据(第三层数据——重复每个子细项数据记录)。紧跟最近的Detail Data显示,个数不受限制。

Header:数据集(Master Data、Detail Data、SubDetail Data)的数据标题。每个数据Band可以有一个,它紧跟最近的数据集显示。

Footer:数据集(Master Data、Detail Data、SubDetail Data)的尾。每个数据Band可以有一个,它紧跟最近的数据集显示。

下面我们使用“Band”对象的和“文本对象”来表现数据。

一般一个报表可以分为表头、表体和报表结束部分。

表头:一般用来显示报表的标题,以及报表条件等一些其他的信息。如显示页码等。

表体:报表的主体部分。常常可以分为“数据标题”和数据部分。

报表结束部分:一般是显示制表人等其它信息。

我们现在创建的这个报表,在表头部分显示报表名称和报表页码,在表体中显示数据标题和数据,在报表结束部分显示制表人信息。

2.5.1、表头部分

在报表中每一个数据都必须有它自己的存放位置,这样他才可以按照设定的格式输出,所以在向报表上输出任何数据之前,在报表上先要有该数据可以存放的地方。

我们为了放置标题,所以我们先需要放置一个“Report Title”的Band(区域),这样我们才可以放置。具体操作步骤如下:

(1)、点击“Band”按钮,从菜单中选择“Report Title”。“Report Title”区域自动出现在报表页面上。

(2)、点击“文本对象”按钮。点击后一个虚线框将伴随着鼠标一起移动,我们在合适的位置,点击鼠标左键,即可放置一个文本对象到报表页面上。

(3)、当放下该文本对象后,自动弹出一个文本对象编辑框,让用户输入文本对象要显示的内容。如果没有弹出,可以双击该文本对象来弹出给文本对象的编辑框。我们在弹出的文本对象编辑框中输入“我的第一个报表”来作为报表标题。

(4)放置另外一个文本对象,在对象框中输入“”。

文本对象框中可以直接输入要显示的内容,如报表标题等,也可以输入的包含各种信息的表达式,如前面的页码。在文本对象框中有四个按钮,它们的作用大致如下:

表达式编辑:可以选择“Data”、“Variables”、“Functions”、“Classes”等信息来组成表达式。

统计信息:可以通过选择来生成包含统计功能的表达式。

显示格式:为当前文本对象的最终结果值指定显示格式。

文本换行:设置文本对象的自动换行。

文本对象框输入完成后,可以通过菜单上的字体、边框、对齐方式等按钮来对文本对象框进行设置。

完成后的Report Title的界面如图2-10。

2.5.2、表体部分

完成了表头部分,下面我们继续进行表体部分的设计与表现。表体部分是表示数据部分的,所以我们首先要在报表上放一个“Master Data”的band,然后给“Master Data”指定一个数据集,最后在“Master Data”上放置具体的字段对象,就完成了表体部分的实现了。具体操作步骤如下:

(1)、从左侧的工具按钮中选择“Band”中的“Master Data”项,报表设计页面上出现一个“Master Data”的Band。

(2)添加好“Master Data”后,系统会自动弹出选择数据集的对话框,或者双击“Master Data”上的黄色区域,也会弹出选择数据集的对话框。我们在这里选择“dsSaoMstr”数据集,选择好后在“Master Data”的右

上角会出现所选择的数据机信息。

(3)在“Master Data”上添加“文本对象”(A对象)。把文本对象拖动到“Master Data”区域里面,在出现的文本对象编辑框的时候我们直接关闭。我们因为有六个字段需要显示,所以我们需要添加六个文本对象。

(4)给“Master Data”数据区域中的文本对象指定数据字段。将鼠标移动到需要指定数据字段的文本对象上,文本对象的最右侧会出现一个小的黑色三角形的下拉标志,下拉他就可以选择所需要的字段了。我们以此为六个文本对象分别选择从左到右依次如下:“OrderNo”、“IssDate”、“Division”、“Season”、“Customer”、“Status”。

(5)为每个文本对象设置边框、大小、字体、以及对齐方式,来做好一些简单的美化工作。

(6)完成设置后的“Master Data”数据区域如图2-13。

现在我们点击设计界面上的“预览”按钮,我们可以得到一个无数据项标题的报表,如图2-14。

在这个报表上我们显然不是很清楚的知道每列数据分别表示什么,所以我们需要给它添上数据标题。

(7)我们点击“Band”,然后选择“Head”,这样“Head”区域出现在了报表设计页面上。

(8)调整“Head”区域的位置到“Master Data”的上面。

(9)然后在“Head”区域中也添加六个文本对象,设置它们的大小边框和下面的下面的“Master Data”

完全相同。

(10)从左到右依次在每个文本对象中输入“订单号”、“订单日期”、“组别”、“季节”、“客户”、“状态”。

这样我们就完成了表体部分的设计。下面我们来进行报表结尾部分的设计

2.5.3、报表结尾部分

报表的结尾部分一般显示制表人,经手人等信息。在这里我们仅显示“报表打印日期”和“制表人”两个内容到报表结尾部分。具体步骤如下。

(1)添加“Report Summary”区域到报表上。

(2)在“Report Summary”的左侧添加一个文本对象,输入“打印日期:”的文字。

(3)紧挨这“打印日期”的文本对象,再添加一个文本对象,利用表达式编辑器(前面有简单介绍)选中“Variables”中的Data,确定后在文本对象中出现“[Date]”。确定后完成输入。

(4)在“Report Summary”的中间偏右的部分添加一个“文本对象”,输入“制表人:”。

(5)紧挨这“制表人”的文本对象,再添加一个文本对象。为他加入表达式编辑器中的“Data”下的“_DaMainCinfig”下的“UserName ”。

(6)点击确定后完成报表结尾部分的设计。

完成后的整个报表设计界面如图2-16。

2.5.4、看看自己的成果

完成了报表设计,现在让我们看看自己的设计成果。点击设计界面上保存按钮,保存设计结果。退出设计界面,回到“Report Designer”的界面,点击保存,为我们的第一个报表命名“MyFirstReport”。点击“Run”按钮,我们可以看到我们自己所设置的报表。如图2-17。

注:为了抓图的方便,仅获取了少量数据。

现在我们可以看到了做一个自己的报表并没有想象中的那么困难。但我们在做的时候可能也感觉到某些操作上的不方便,下一节我们就简单介绍一些可以加快你操作速度的一些小的技巧。示例文件MyFirstReport.nrs。

2.5.5、“FR3”报表设计的简单操作技巧

我们在做前面的“FR3”报表设计的时候可能感觉到最烦的地方就是字段的对齐与字段的格式设置。这里我们就简单的介绍一些可以加快操作速度的方法。

(1)对于文本对象的属性设置,我们一般要设置它的长、宽、高等属性,虽然可以用鼠标人拖拉,但很容易超过预定的范围,我们可以通过选择该字段对象,在左侧(自己可以移动或者关闭的,一

般在左侧)的该文本对象的属性编辑器中设置它的“Left、Width、Height、top”等属性,因为他

们可以直接输入数字,所以会快速而且准确。

(2)如果有多个字段需要设置相同的属性的时候,我们可以把这些属性全部选中(按住“Shift”键选

择或者用鼠标画框选择),然后只要设置一次,被选中字段的属性就全部改变了。

(3)当多个对齐的字段突然调整了其中一个的大小后,所有他前面或者后面的位置都要做变化。这个问题我们可以选中所有的字段,设置它们的“Align”的属性为“Left”或者“Right”,这样我们

调整了其中的任何一个的大小,其他的字段会自动作相应的变化。

(4)可以点击设计界面菜单上的“View” “ToolBars”,选中“Alignment Palette”。使用它可以使我们方便的进行行或者列的对齐。

(5)可以多多利用复制、粘贴功能,来加快文本对象的排列。例如我们在前面可以一次性复制设置好的主项数据中的文本对象到数据标题栏中,这样只需要设置它们的左对齐方式。Left为0,top

为0。你所复制的字段的排列就全部好了。然后只需要设置各自的具体内容就可以了。

2.5.6、有关“FR3”帮助文档的说明

“FR3”报表设计工具中包含的内容众多,在本使用手册中我们主要介绍我们自己改进和新添加的功能,其他的有关“FR3”的报表设计请参阅“Fast Report”的相关帮助文件,我们所使用的Fast Reporter的版本为v 4.0。我们在我们公司的网站上也提供了一个Fast Reporter的演示程序和帮助文件供大家下载。

三、创建复杂的SQL语句

做报表最难的一部分就我感觉在于获取数据,如果没有了数据这个报表的基础,那么后面的一切都是空的。这里我们主要介绍如何利用Report Designer 提供的功能来创建复杂的SQL语句。由于创建SQL语句的功能和“NetGarment”软件中的“Query Tools”中的创建SQL语句功能完全相同,所以这里就将“Query Tools”中相关部分的介绍直接挪用过来,所以在图形和介绍上可能会像出现“Query Tools”的字眼,但不会对大家的认知产生影响。

3.1、多表SQL

在平常的工作中经常用到多表之间相互连接,从而得到自己需要的结果。所以在多表之间需要指出表与表之间的连接关系,即指出连接字段和连接模式。

3.1.1、创建连接

(1)拖动准备连接的表到SQL图形化区域。

(2)从一个表中把作为连接条件的字段拖动到另外一个表中的相关字段。

(3)两个表之间出现一条连线。表示两个表已经关联。(此时连接类型为默认的Inner连接)

注意:两个表之间的连接可以有多个,每个连接关系都有自己的连接模式。

3.1.2、连接模式

连接模式分为“Inner”、“Right join”、“Left join”和“Full join”。

当直接拖动字段产生了连接后,默认的连接模式为“Inner”。可以通过在连接线条的右键菜单中选择“关联选项”来进行修改。关联选项的界面如图3-1。

3.1.3、多表连接举例

下面我们实际操作,将SaoMstr和SaoShip通过OrderNo字段来连接起来,采用inner连接模式。

(1)拖动SaoMstr表SaoShip表到SQL图形化区域。

(2)拖动SaoMstr表中的“订单编号”到SaoShip表中的“订单编号”上。

(3)出现连接线。此时连接创建完成,如有需要可以通过连接线的右键菜单来修改连接类型。界面如图3-2。

连接线

右键菜单

3.2、SQL语句的列操作

在利用图形化生成SQL语句中,列的显示、排序、聚合操作等都需要通过图形化操作来完成,同时这些操作也影响到最终产生的SQL语句。

3.2.1、SQL列的显示

在图形化产生SQL语句中,列的显示与否影响到在生成的SQL中的select子语句中是否包含该列。显示则包含,不显示则不包含。

当不需要显示某些列的时候或者需要隐藏某些列的时候就可以将该列修改为不显示。

显示与不显示的操作是通过在该列所对应的“显示”行中点击右键,通过右键菜单上来进行操作的。

注意:当列被选择时,默认为显示状态。

图3-3中的状态(Status)的当前显示状态为显示,通过右键菜单可以修改为不显示。图3-4为修改后的结果。

显示与不显示在SQL语句中的具体差异可以从图3-5和图3-6中看出。状态(Status)列显示时,在SQL 的Select子句中会出现,图3-5中红色线条标注部分。状态(Status)列不显示,则在SQL的Select中不存在。

3.2.2、字段操作区中字段的顺序

当我们在图形化区中选择各个字段的时候,每选择一个字段,就会自动地把该字段添加到字段操作区,并且放置到末尾。也就是说这些字段在字段操作区中的顺序和选择时的顺序是一致的。

但大多的情况下可能会希望自己感兴趣的或者重要的字段放在前面,这时我们可以通过拖拉操作(拖动操作为window 的基本操作)来重排字段在字段操作区中的顺序,而获得我们需要的字段顺序。

如图3-7:当前字段顺序为订单编号、状态、款式ID 、季节、客户、运送日期、款式、货币、组别……。 调整后的列的次序为订单编号、客户、款式ID 、款式、季节、运送日期、组别、货币、状态……(如图3-8)。

注意:字段在字段区的顺序对后面的排序、分组次序都有影响。对于聚合函数时候的“Group ”的排序也是利用这种方法来进行调整的。

3.2.3、为SQL 添加排序

通常按照顺序排列的数据会容易进行查找,所以在SQL 语句中指定用于排序的列也是非常重要的。在图形化生成SQL 语句中指定排序需要以下几个过程:选择字段并选择排序选项、如果多字段排序时请通过调整排序字段在字段操作区中的顺序来改变字段的排序顺序。

假设我们要对上面的SQL 指定排序,需要让它按照运送日期、客户、款式来进行排序,并且要求运送日期按照升序,客户和款式按照降序来排序。具体操作步骤如下:

(1)选择运送日期列,在其下的排序行中点击右键,再弹出的右键菜单上选择“Ascending ”。

(2)选择客户列,在其下的排序列中通过右键菜单选择“Descending ”。

(3)选择款式列,在其下的排序列中通过右键菜单选择“Descending ”。

选择完成后结果如下图。

如果按照此时的顺序来产生SQL 语句,得到的SQL 语句如图3-10。可以看到它是按照客户、款式ID

和运

送日期来排序的,显然这不符合我们的需求。

下面通过拖拉移动三个排序字段的位置从而得到所需要的结果。调整后的图和SQL如图3-10。

从图中可以看到这次的结果符合我们的要求。

如果需要取消对某个字段的排序,同样通过排序的右键菜单来进行操作,只不过这次点击的是“No Sort”。

3.2.4、SQL中的聚合操作

在日常中经常要用到一些统计函数,如计算总和、平均值、最大值、最小值等,这样就需要用到SQL的聚合操作。

在Query Tool中我们提供了以下几种聚合函数:

Sum:计算总和。

Average:求平均值。

Count:统计数量。

Maximum:求最大值。

Minimum:求最小值。

所谓聚合函数顾名思义是要对一组符合相同条件的数据来进行操作,所以在进行聚合操作的时候通常要用到分组(Group)的操作。所以在介绍聚合操作的时候我们要了解分组的操作。

分组是先指定用于分组的字段,多字段分组时需要通过调整字段在字段操作区的顺序来改变它在分组中的顺序。分组的操作和排序的操作基本上是相同的。

我们继续在前面所得到的结果上操作。我们需要按照客户、款式来进行分组,然后求出每个客户每个款式的数量总和、金额总和(为了能够更好的说明在这里我调整了字段在字段操作区中的顺序,将数量和金额调整到前面来)。具体操作如下:

(1)选中“数量”列,在其下的函数行中点击右键菜单的“Sum”。

(2)对“金额”列作同样的操作。

(3)选中“客户”列,在其下的分组行中点击右键菜单,选择“Group”。

(4)对“款式列”进行相同的操作。

图3-12为操作时的操作截图(部分)。

操作完成后结果和产生的SQL语句如下图。

从产生的SQL语句中,可以看到所得到的结果是符合我们的需求的。

如果你想对一个已经选择了聚合函数的字段取消函数或者改变函数,同样通过对应的右键菜单来进行操作,可以点选你需要的函数或者点选“No Function”取消聚合函数。

对于取消分组,也是再次操作对应的右键菜单,再次点选“Group”就可以达到目的了。

注意:聚合操作所产生的结果和“分组”的内容是有关联的,尤其是有多个分组项的时候,分组的次序会影响到局和操作的结果,如果需要调整“分组”的顺序,请按照前面“3.2.3”章节的内容来完成。

3.3、包含条件和参数的SQL语句

在前面我们所产生的SQL语句会将所有的数据全部获取出来,但可能我们只是对其中的一部分感兴趣,对于其他的数据我们如何做到不获取他呢?而条件的作用就是来解决这个问题。

相关主题
文本预览
相关文档 最新文档