一、功能介绍

维度控件:实现参数值的过滤
指标:实现按哪些维度聚合以及展示哪些指标(动态聚合:例如数据有字段A、B、C、D列,但是只想按A、B列聚合展示结果)
效果图如下:

最终效果图:
在这里插入图片描述
指标筛选器效果:
在这里插入图片描述
指标筛选器效果
在这里插入图片描述

二、实现逻辑

1、数据表结构

CREATE TABLE test_table_1 (
date date DEFAULT NULL,
region varchar(100) DEFAULT NULL,
work_group varchar(100) DEFAULT NULL,
user_no varchar(100) DEFAULT NULL,
user_name varchar(100) DEFAULT NULL,
work_time bigint DEFAULT NULL COMMENT ‘工作时长(分钟)’,
customer_num bigint DEFAULT NULL COMMENT ‘客户数’
)

2、FineReport数据集:

SELECT
${if(FIND(“日期”,colname) != 0,‘a.date AS 日期,’,‘’)}
${if(FIND(“地区”,colname) != 0,‘a.region AS 地区,’,‘’)}
${if(FIND(“班组”,colname) != 0,‘a.work_group AS 班组,’,‘’)}
${if(FIND(“工号”,colname) != 0,‘a.user_no AS 工号,’,‘’)}
${if(FIND(“姓名”,colname) != 0,‘a.user_name AS 姓名,’,‘’)}
${if(FIND(“工作时长”,colname) != 0,‘sum(work_time) as 工作时长,’,‘’)}
${if(FIND(“客户数”,colname) != 0,‘sum(customer_num) as 客户数,’,‘’)}
null
FROM test_table_1 a
where
1=1
${if(len(dimension) == 0,“”,“or a.region in ('” + dimension + “')”)}
${if(len(dimension) == 0,“”,“or a.work_group in ('” + dimension + “')”)}
${if(len(dimension) == 0,“”,“or a.user_no in ('” + dimension + “')”)}
${if(len(dimension) == 0,“”,“or a.user_name in ('” + dimension + “')”)}
group by null
${if(FIND(“日期”,colname) != 0,‘,a.date’,‘’)}
${if(FIND(“地区”,colname) != 0,‘,a.region’,‘’)}
${if(FIND(“班组”,colname) != 0,‘,a.work_group’,‘’)}
${if(FIND(“工号”,colname) != 0,‘,a.user_no’,‘’)}
if(FIND("姓名",colname)!=0,′,a.username′,′′)其中参数colname对应指标筛选器dimension对应维度筛选器释义:{if(FIND("姓名",colname) != 0,',a.user_name','')} 其中参数colname对应指标筛选器 dimension对应维度筛选器 释义:if(FIND("姓名",colname)!=0,,a.username,′′)其中参数colname对应指标筛选器dimension对应维度筛选器释义:{if(FIND(“日期”,colname) != 0,‘a.date AS 日期,’,‘’)}表示,指标筛选中能找到日期,则表示筛选了日期维度,则数据中包含日期列,否则为空
${if(len(dimension) == 0,“”,“or a.region in ('” + dimension + “')”)} 表示,维度中筛选器中选择的值进行过滤,因为是同一个筛选器,此处所有的过滤用或条件

3、维度控件:

配置如下
在这里插入图片描述

数据字典对应的数据集(构造如下数据):
在这里插入图片描述

数据字典配置
在这里插入图片描述

指标筛选器配置同上
指标筛选器数据集如下:
在这里插入图片描述

4、表格配置:
表头配置如下:释义:按’,’分隔后形成array中的第一个(分隔符与上面控件中配置的分隔符保持一致),第二个及后面的最后的数字依次变换为2,3,4,5等
公式文本:INDEXOFARRAY(split($colname,“‘,’”),1)
在这里插入图片描述

字段值配置如下:#1代表第一列,数字以次变化配置后面的列
在这里插入图片描述

至次配置变成。预览效果实现。

注:主要参考https://help.fanruan.com/finereport/doc-view-1289.html 这个文档,做了变形,更适配企业中使用。

Logo

永洪科技,致力于打造全球领先的数据技术厂商,具备从数据应用方案咨询、BI、AIGC智能分析、数字孪生、数据资产、数据治理、数据实施的端到端大数据价值服务能力。

更多推荐