第62天知识点:同数据集VS跨数据集,怎样设置组件联动?
日常分析中,我们经常会通过组件间联动来丰富我们的分析维度。
有些时候,组件来自于同一个数据集,
有些时候,组件来自于不同的数据集。
对于以上两种情况,应该如何实现组件间的联动呢?
别着急,我们一个个来看一下。
当组件来自于同一个数据集时,其实组件间已经自动形成联动关系了,我们无需进行任何操作。
举个例子
使用数据集:学生成绩表,这张表记录了每位学生的语文和数学成绩。
数据集包含字段:【学号】(唯一ID)、【姓名】、【语文成绩】、【数学成绩】。
现在,用这张数据集制作了2个组件:
学生语文成绩表(以下简称A组件);
学生数学成绩表(以下简称B组件)。
可以看到,点击A中的学号为000001的学生姓名,B组件会对应显示学号为000001学生的数学成绩。
但有些时候,我们制作的组件来自于不同的数据集,但是这些数据集又有些字段是相同的。
这样的情况又该如何实现组件间的联动呢?
当组件来自于不同的数据集时,组件之间是没有联动关系的,需要我们自己设置联动关系。
举个例子
这里,我们使用了另一个数据集:学生排名表,这张表记录了每位学生的排名情况。
数据集包含字段:【学号】(唯一ID)、【姓名】、【排名】。
现在,用这张数据集制作了1个新的组件:学生排名(以下简称C组件)。
可以看到,点击A中的学号为000001的学生姓名,B组件产生了联动,但是C组件并没有发生任何变化。
虽然AC两个组件都有学号和姓名这两个相同的字段,但因为这两个组件来自于两个不同的数据集,所以不会自动产生联动关系。
这个时候,需要我们自己设置联动关系:
点击A组件--联动设置;
点击C组件--添加联动--自定义--选择联动依赖字段:学号--确定;
点击确定。
设置完毕后,我们再次点击A中的学号为000001的学生,可以发现,另外2个组件同步发生了变化。
注意事项
但需要注意以下2点:
1、单项联动不传递。
问:A、B这2个组件原本就存在联动关系,当设置了A和C这2个组件间的联动关系后,B和C之间会自动产生联动关系吗?
答:不会。
我们可以看一下实际效果:
点击B组件中的字段,只有A发生了变化,C并没有发生变化。
这也就是说,组件联动关系并不具有A=B,B=C,所以A=C的传递关系。
如果需要B和C组件之间产生联动,就需要对B和C单独设置联动关系。
2、反向联动需确认。
问:设置A和C这2个组件之间的联动关系后,点击A组件,C会发生变化,那么点击C组件,A会发生变化吗?
答:不会。
可以发现,鼠标放置在C组件上,并没有显示手指点击样式的图标。这也就是说,C组件与这张仪表板中任何组件不存在联动关系。
如果想要实现C与A的反向联动,仍然需要进行单独设置。
但因为我们在设置A联动C时,已经设置好了联动依赖关系,因此,在设置反向联动时,只需要勾选联动就可以了,无需再做其它操作。
这里,大家可以观察一下存在单项联动关系的组件间与不存在联动关系的组件间,设置联动时右上角的联动标识是不一样的。
A与C已经存在正向联动,所以再设置C与A的反向联动时,标识是向右箭头,而B与C并没有任何联动关系,因此右上角的标识是X:
好了,关于联动的内容,今天就分享就到这里。
感兴趣的小伙伴可以自己动手试试看~ |