【FineBI学习打卡】DAY56 自定义展示行列维度,灵活应对报表多样需求!

楼主
我是社区第1095980位番薯,欢迎点我头像关注我哦~

第56天知识点:自定义展示行列维度,灵活应对报表多样需求!

 

一般情况下,我们展示的报表结构都是写死的。

什么是写死的?

就是表头展示的行列维度是固定不动的。

举个例子。

比如下面这张常见的学生成绩表。

我们在添加过滤组件后,无论怎么去组合筛选条件,一般也只能做到展示某个班级,或某个学生或排名在前几的数据。

但表格展示的字段始终都是【班级】、【学生】、【分数】和【年级排名】,没有发生任何变化。

这就是前面提到的报表结构是写死的,其实也就是表格的行维度与列维度都是固定的,无法实现自定义展示。

但有些时候,我们需要灵活一点的展示方式来适应不同的场景需要,比如:

在展示班级成绩信息时,只展示【班级】、【分数】两个字段;

在展示学生成绩信息时,展示【学生】、【分数】、【年级排名】三个字段。

就像下面这样。

这样的效果该怎么实现呢?

答案就是参数。

接下来,我们就通过一份模拟数据来演示一下如何在FineBI中实现自定义展示行维度与列维度的效果。

首先,我们来看一下如何实现自定义展示行维度。

01
准备数据

首先,上传我们准备好的模拟数据。

结果如下:

02
新建组件-添加参数

--> 添加参数

--> 参数名称输入:【控制行】

--> 参数类型选择:文本

--> 默认值:为空

--> 点击确定

为什么要添加参数呢?

这一步是为了与后面仪表板中的过滤组件做绑定,进行数据传递

可以简单理解为:

后面我们过滤组件选择什么值,这里的参数就会等于什么值。

即过滤组件的值=参数的值。

03
添加计算字段【展示行维度】

这个公示的含义就是如果我们的参数等于班级,那么就展示【班级】字段,否则就展示【学生】字段。

这一步的目的是什么呢?

就是为了实现参数控制展示的行维度

第2步中我们提到了参数的值=过滤组件的值。

所以,这里就相当于将我们的过滤组件值与需要展示的行维度进行了绑定。

如果不太理解的话,可以简单理解为:

A=B,B=C,所以A=C。

也就是过滤组件控制参数,参数控制展示的行维度,所以最后我们可以通过过滤组件控制展示的行维度。

04
制作图表

-->图表类型选择分组表

-->将【展示行维度】放入维度栏,【分数】、【年级排名】字段放入指标栏

结果如下:

05
制作仪表板

-->添加过滤组件—文本过滤组件—文本下拉

-->过滤方式:单选

-->自定义值列表:输入:班级、学生

-->绑定参数:绑定第2步添加的参数值【控制行】

结果如下:

这样我们就实现了行维度只展示【班级】或【学生】了。

但列维度仍然无法实现自定义,只能通过组件中去掉某一指标来实现。

这和我们的目标还相差甚远。

那如何实现列维度自定义显示呢?

其实很简单。

我们只需要对数据集进行一步【列转行】的预处理。

06
数据集预处理

【列转行】:列转行字段选择:【分数】、【年级排名】

结果如下:

07
修改图表

-->图表类型修改为交叉表

-->行维度放入【展示行字段】,列维度放入【列字段】,指标栏放入【值字段】

结果如下:

08
修改仪表板

-->添加过滤组件—文本过滤组件—文本下拉

-->将数据集中的【列字段】拖入【字段】栏中,与过滤组件绑定

-->其它默认设置,不做修改

最终结果如下:

这样就可以实现我们前面提到的效果:

在展示班级成绩信息时,只展示【班级】、【分数】两个字段;

在展示学生成绩信息时,展示【学生】、【分数】、【年级排名】三个字段。

小结

自定义展示行维度与列维度,看似很难实现,但是只要理解其中的逻辑,也能达到我们想要的效果。

比如,如何控制显示【班级】还是【学生】?

这就需要我们把【班级】与【学生】与过滤组件绑定,过滤组件选择哪个就展示哪个?

但怎么让过滤组件选择哪个就展示哪个呢?

中间需要一个媒介,就是添加一个动态参数

通过将参数与过滤组件绑定

但参数绑定后,又怎么实现展示字段的动态变化呢?

需要一个新的随参数变化的字段。

所以需要添加计算字段来实现新字段与参数的绑定

这样一步一步理下来,制作思路自然也就清晰了。

自定义展示【分数】、【年级排名】也是一样的道理。

既然【分数】、【年级排名】2个值字段是固定的,只能通过拖入或拖出指标栏来控制字段的展示,那么我们就可以想一个方式,让其变成可以控制展示的文本字段,那【列转行】自然就是最高效的一种解决办法。

然后,再通过过滤组件去绑定我们的文本字段,这样就能解决不同场景下选择展示【分数】还是【年级排名】的问题了。

 

但目前【展示行字段】表头的名称无法实现跟随过滤组件的筛选值而动态变化,比如,当【选择需要展示的行维度】过滤组件选择【班级】时,表格中的【展示行字段】会变成【班级】,过滤组件选择【学生】时,会同步变成【学生】。

如果大家有什么好的方法去实现自定义展示行列维度,欢迎评论区留言分享。

感兴趣的小伙伴可以自己动手试试看~

分享扩散:
参与人数 +1 F币 +50 理由
Nancy.Gu + 50 24原创内容激励计划

查看全部评分

沙发
发表于 2024-7-22 10:55:20
您好,感谢您的投稿。您此篇文章内容基于参数设置实现自定义展示BI行维度与列维度,并详细描述具体制作过程,满足报表多样场景应用需求。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

返回顶部 返回列表