分栏报表在大众需求中已经普遍遇见,如果只通过select的这种形式进行扩展,那需要通过复杂的sql语句进行数据的抽取,润乾设计器中设计报表时为了解决这一问题,提供了分栏报表。
可是新的问题又随之出现,分栏报表有一定的局限性,对于每栏中的数据无法进行排序,如果单单使用多个select的方式展现,又会被左主格的问题所困扰,所以变相的通过主子表的方式来实现。
例如实际需求中:
一张中有三个分栏,每个分栏中的name字段是相同的,只是排序规则分别根据本分栏中的统计值进行。如下图。
如果只用简单的网格是报表第一栏很简单的能实现,可是后面就会出现被扩展导致格式上混乱的现象。这里可以通过主子表的形式来完成。将第二三栏分别做成一个1行2列的子表即可。
然后主表中使用引入式子表
这样就达到了利用主子表实现每个分栏根据各个不同的规则进行排序的效果。