主题:如何关联数据集
情形一:一张模板定义了两个数据集ds1和ds2,分别是从oracle和sqlserver中取数,想通过参数控制报表数据是从ds1取的还是ds2取的;
情形二:有一张模板,里面的样式都是一样的,但是数据都是取自最终客户各个子公司自身的数据库,要求各子公司访问的是各子公司自己的数据;
情形三:数据集ds1、ds2来自不同的数据源,结构相同,需要将量表中的数据合并起来。
以上情形都可以使用关联数据集来实现,下面我们就以情形一为例说明关联数据集的使用方法。
定义数据集ds1和ds2,分别来自数据库oracle及sqlserver。
在数据集面板中新建>关联数据集:
此时将会列出该报表所有可用的报表数据集、服务器数据集和存储过程,勾选需要的数据集,如这里的ds1、ds2;
并且添加条件,如ds1对应的条件是$db="oracle",即当参数db为oracle的时候就用ds1;
同样可以给ds2添加条件$db="sqlserver",当参数db为sqlserver的时候就用ds2。
注:同一时间有多个数据集满足条件时,最终的结果就是所有满足条件的数据集合并后的结果,合并规则如下:
如果几个字段名不完全相同的数据集进行合并时,从第一个数据集自上而下合并,相同的字段的内容匹配到同一个字段中,出现不同字段名的,新增字段名,合并前没有此字段的数据集,合并后字段值用空值代替,如下图:
该关联数据集定义界面为7.0.1版本,7.0版本的关联数据集分为合并及依条件选择。
其中数据集的合并兼容,而依条件选择不兼容,需要重新定义。