场景:
在项目中当月报数据量大的情况下会按月抽取数据并按月份名称创建数据库表存储数据。基于这样的情况在BI报表展示工具中要同一个报表上通过切换参数浏览每月的数据,则要实现动态切换查询数据库表中的数据。
前提:数据库表的表结构是相同,只是数据库表名称不相同。如下图:
实现思路:
创建一个"年月"参数,在"年月"参数中获取年月;再创建一个"数据库表动态表"参数,在该参数中引用"年月"参数动态的接并数据库表名称;再创建原生SQL,在原生SQL中写SQL查询数据,数据表用参数代替,如:select 字段 from "数据库表动态表"参数。
再基于数据集创建月报表。效果如下:
实现步骤:
2. 创建"数据库表动态表"参数,在【定制】-》【公共设置】-》【参数】,新建参数,设置参数"数据类型:其他类型",如下图:
为在该参数中引用"年月"参数动态的接并数据库表名称,如下图:
3. 创建原生数据集,在【定制】-》 【数据集定义】-》【新建原生SQL】中创建数据集,如下图:
4. 再在excel中创建月报表,并隐藏"数据库表动态表"参数,显示"年月"参数,如下图:
5. 效果下: