如何制作Master-Detail主从报表,加快数据查询&减少数据冗余

在电子报告中,最常见的文档类型是一个简单的列表。然后,有复杂的列表。复杂列表可以有许多变体,但主要的是“Main” – “subordinate”类型的报告。这种类型的本质是在一对多方案中数据实体之间存在依赖关系。也就是说,主表中的一条记录可以对应于下级中的几条记录。本文就为大家展示如何使用FastReport制作Master-Detail主从报表,加快数据查询和减少数据冗余。

各种电子文档有时似乎是无限的。然而,在实践中,通常不能使用过多类型的文档。

在电子报告中,最常见的文档类型是一个简单的列表。然后,有复杂的列表。复杂列表可以有许多变体,但主要的是“Main” – “subordinate”类型的报告。这种类型的本质是在一对多方案中数据实体之间存在依赖关系。也就是说,主表中的一条记录可以对应于下级中的几条记录。在实践中,它看起来像这样:

如何制作Master-Detail主从报表,加快数据查询&减少数据冗余

主表中的条目包含类别的名称、简要说明和图片。每个类别都包含特定产品。此示例仅显示一个依赖项“Main” – “subordinate”。但是从属表也可以有它的从属表,然后它已经是第二个连接的主要表。这种分层依赖性可以是任意多个。现在,在实践中,让我们考虑如何创建这样的报告。

首先,我们需要一个数据源,其中将有两个逻辑相关的表,如上例所示。

将数据源添加到报表中。在我们的例子中,将有两个相关的表:

客户和订单。

在数据“Data”窗口中,它看起来像这样:

如何制作Master-Detail主从报表,加快数据查询&减少数据冗余

现在我们需要链接这些表。为此,请单击数据窗口中的操作“Actions”按钮。下拉列表将打开:

如何制作Master-Detail主从报表,加快数据查询&减少数据冗余

您需要选择新关系“New Relation”项。在关系编辑表单中,我们需要定义主表和从属表,以及它们应该链接的字段:

如何制作Master-Detail主从报表,加快数据查询&减少数据冗余

主表是“customer”,其主键是CustNo。从属表是“orders1”,它的外键CustNo。成功创建连接后,我们将在数据窗口中看到它:

如何制作Master-Detail主从报表,加快数据查询&减少数据冗余

如您所见,orders1表中显示了一条指向客户的链接。如果您打开它,我们将看到customer表中的所有相同字段。

我们已经准备好了数据,现在您需要创建一个报告模板。

默认情况下,空白报告中提供单个波段数据。让我们从客户表中添加一些字段:customer.Company、customer.Addr1、customer.Phone、customer.Contact。我们将放置这些字段,以便获得某张公司名片卡:

如何制作Master-Detail主从报表,加快数据查询&减少数据冗余

右键单击波段标题数据“Data”:

如何制作Master-Detail主从报表,加快数据查询&减少数据冗余

并选择添加详细数据段“Add detailed data band”选项。单击配置数据段Configure bands…链接

如何制作Master-Detail主从报表,加快数据查询&减少数据冗余

并为Data2频段添加标题区。为此,请使用鼠标选择Data2波段,然后单击添加“Add”按钮。在下拉列表中,选择标题Header。

之后,您可以将orders1表中的字段添加到详细的数据“Data”区域:orders1.OrderNo、orders1.SaleDate、orders1.AmountPaid。同时将自动添加列标题。格式化标题,我们的模板几乎准备就绪:

如何制作Master-Detail主从报表,加快数据查询&减少数据冗余

双击“Data”频段的标题:

如何制作Master-Detail主从报表,加快数据查询&减少数据冗余

我们选择客户表作为数据源。现在让我们对详细的数据“Data”频段做同样的事情:

如何制作Master-Detail主从报表,加快数据查询&减少数据冗余

现在我们的报告已准备就绪。让我们看看我们得到了什么:

如何制作Master-Detail主从报表,加快数据查询&减少数据冗余

产品介绍 | 下载试用 | 优惠活动 | 在线客服

标签:

来源:慧都

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2019年8月15日
下一篇 2019年8月15日

相关推荐

发表回复

登录后才能评论