跳到主要内容

按用户分配账套合并数据

【应用场景】

有多个表结构一致的数据库。例如:A库、B库,他们之间除了数据库命名的区别之外,库内的数据表及表结构、视图等完全一致

基于上述特点,有时客户会要求能一张报表**【实时】** 查询展示多个库的结果合并拼接显示。例如下图:

以上需求场景就需要使用到FASTBI的功能:数据库循环数据表和用户属性功能。

【实现步骤】

1.创建用户属性

用户属性界面创建一个用户属性,如下图:

image
Preview

2.给相关用户赋予属性值

用户名yh01可以看到数据库范围:AIS20121019142414和AIS20181024115131 ,则添加上一步创建的属性,然后给赋予值:AIS20121019142414,AIS20181024115131;

用户名yh02可以看到数据库范围:AIS20181024115131和AIS20141108144739,则添加上一步创建的属性,然后给赋予值:AIS20181024115131,AIS20141108144739;

image
Preview

3.创建一个参数

在参数管理模块,创建一个数据库查询范围的参数,配置如下图。

image
Preview

4.建立数据库连接

在数据源管理模块,创建一个数据库连接,连接测试成功后,点击【高级】。

image
Preview

在【高级设置】界面,选择【系统参数值】后,选择上一步创建的参数。之后点击确认,保存数据库连接。

image
Preview

5.创建一个数据库数据表

在数据表管理模块,创建一个数据库数据表模块,配置如下图。

注意:要开启【循环取数】。

---//下图为金蝶的软件示例
select *
from
(
select top 10 DB_NAME() as 数据库名, fyear as 年度,fperiod as 期间,FAccountID as 科目ID
from dbo.t_balance
group by fyear,fperiod,FAccountID
) as tt
where 1=1
and 数据库名 in ($(数据库范围))

image
Preview

6.做一张报表

在BI分析模块,创建一张报表,配置如下图。

关键点:

1.开启参数面板,参数的关联数据表,选择【用户属性表】,选择【数据库范围】。

image
Preview

7.查看效果

用户yh01可以看到权限范围内的2个账套数据。

image
Preview