在Tableau中使用参数动作,通常状况下只能传递单一值,这是参数与集在底层逻辑上的不同所导致的。但是可以通过创建计算字段的方式,让参数动作模拟传递多个值的效果,从而达到与集操作相似的效果。在WOW2024年第7周的案例中,Donna Coles就提供了一种可行性的解决方案。地址:https://workout-wednesday.com/2024w07tab/。 点击左侧圆点,可以实现增加筛选条件的目的,可以单选也可以多选。
实现图中效果需要创建三个工作表,实现难度有点大。本文只讨论最左侧圆点图的实现步骤,并简化了部分操作,因为原案例为了保证对齐,使用了一些特殊的小技术。
建立一个参数被选中的州。
创建一个计算字段增减参数中的州
IF CONTAINS([被选中的州], [State/Province]) THEN
//如果已经被选中,就从参数中清除
REPLACE([被选中的州],[State/Province]+ '/','')
ELSE
//如果没被选中,就加入到参数中
[被选中的州] + [State/Province] + '/'
END
增加参数动作(通常让参数动作作用在仪表板)
依照下图创建点状图形(这里有简化),原案例为了与条形图对齐,使用了双轴和透明图片来实现,没有经验的同学可能会不太理解。
然后通过点击圆点就可以实现在参数中增加多个州的目的,同时选中和未被选中的州通过图形来达到区分的目的。
其他两个图形通过一个筛选器字段州是否被选中来达到增减州的效果。这里就不演示了。
CONTAINS([被选中的州],[State/Province])
整理来说,这个案例实现的难度较高,不太适合用文字和图片的形式来介绍,如果有时间,我争取录个视频,发在我B站的Tableau专栏中。