图片轮播效果又叫跑马灯效果,是web前端里面常见的一种特效,几乎在各大网站都有使用。以前在Tableau中要实现这个效果是很困难的,但自从Tableau增加了集动作和参数动作以后,实现这种效果就变得异常的简单。
下面我就用2019.2中的“参数动作”这一功能来演示如何实现图片轮播效果,另外要说的是“集动作”也可以实现类似功能,大家可以自行研究。
对于“参数动作”的实现原理,请参考官方文档,或者参考吴老师的《参数动作:高级互动的新秀之作》这篇文章
官方文档:https://help.tableau.com/current/pro/desktop/zh-cn/actions_parameters.htm
吴老师博客:https://yupengwu.com/2019/05/25/parameter-action/
首先我们先建立数据集
value,right,left,mid
1,1,1,1
2,2,2,2
3,3,3,3
4,4,4,4
数据集很简单,我们演示4张图的轮播效果,所以就用1-4,value用来制作点击图片轮播,right,left用来制作点击左右箭头轮播,,mid用来制作点击圆点轮播
开始创建计算字段
- 创建参数Param_Roll,类型为整数
默认值是1-4的任意一个数都可以,表示从第几张图片开始
- 创建参数Number
配合下面的计算字段,确定显示几张图片
- display= [Param_Roll]=[value]
用来控制图片是否显示
- roll value= IIF([value]=[Number],1,[value]+1)
开始制作轮播效果
- 把[value]拖到行功能区,标记选择“形状”,再把[value]拖到“形状”上
- 把[roll value]拖到“详细信息”
- 把要展示的图片放到“我的 Tableau 存储库\形状”文件夹下,编辑“形状”,把1-4都指定好图片
- 拖动[display]到筛选器,只选择“真”
- 最重要的一步就是建立“参数动作”,在工作表菜单选择“操作”,“更改参数”,选择你建立的工作表,目标参数选择[Param_Roll],字段选择“[roll value]”,聚合为“无”。
- 如果操作都正确,那么你现在点击工作表里的图片,就会有轮播效果了。
这是演示的最简单的点击图片轮播的效果,我们先简单说一下原理,参数动作是通过多种动作从视图中拾取参数值,我这里是用“选择”这个动作,拾取到了当前的[value]值,最终影响到[display]这个字段。
比如当前值[value]=1,那么我点击一下,就取到了1这个值,[roll value]的值就取到了2,然后由于有“参数动作”,[roll value]的值又传给了[Param_Roll],所以[Param_Roll]就变成了2,[display]这个字段判断[Param_Roll]=[value]=2为“真”,所以就显示出了第2张图。
可能有点绕,大家可以参考下面这个值表,自己理解一下,[value]和[roll value]是固定的,只有[Param_Roll]和[display]受到了“参数动作”的影响。如果再点击一下,[Param_Roll]就变成了3,[display]的第3行变为“真”,以此类推。
下面就是制作点击左右箭头和圆点的轮播效果了,这里我就不详细介绍,只把公式给出,大家可以作为练习,自己研究一下。
点击左右箭头轮播,需要建立left和right两个工作表,分别制作左右两个箭头“形状”,公式如下:
- roll value (left)= IIF([left]=1,[number],[left]-1)
- roll value (right)= IIF([right]=[number],1,[right]+1)
点击圆点轮播,跟上面原理略有不同,[mid]和[roll value (mid)]都是一样的,还需要用[display]控制颜色,公式如下:
- roll value (mid)= IIF([mid]=[number],[mid],[mid])
三种方法可以共用一个图片轮播的工作表,下面就把我建好的维度给大家列出来参考。
这里还要重点提示一下,由于方法2和3,需要到仪表板里进行拼接,所以在选择“参数动作”的时候,务必要选择仪表板里的工作表,只选择单独的工作表在仪表板里是没有效果的。
大家可以到我的Public上下载已经完成的工作簿。
Public地址:https://public.tableau.com/profile/jiangbin#!/vizhome/PictureScrolling/1
此篇文章已发布到我的公众号: saodisir,有兴趣也可关注一下
网友评论