在Tableau中,默认筛选器的样式是这样的:
虽然Tableau也提供了一些显示方式的调整,但是总体而言还是比较死板。所以最近做了些尝试,希望起到抛砖引玉的作用。Tableau Desktop版本10.3,数据源为自带的《示例-超市》。
日期筛选器可视化:
思路:用文本表来承载年、月、星期,从而实现筛选器的可视化。下面介绍下如何开发:
1.首先新建一个工作表:年份筛选器
将维度字段“订单日期”拖到列功能区,同时拖到“标记”——“文本”,同时选择“文本表”:
右键列功能区的“订单日期”,取消勾选“显示标题”
然后设置如下格式:字体16号,白色,背景色蓝色,边框设置为白色、虚线,最终效果如下(大家可以设置任何自己喜欢的格式):
2.新建一个工作表:月份筛选器
创建计算字段:月份列数=
CASE MONTH([订单日期]) WHEN 1 THEN 1
WHEN 2 THEN 2
WHEN 3 THEN 3
WHEN 4 THEN 1
WHEN 5 THEN 2
WHEN 6 THEN 3
WHEN 7 THEN 1
WHEN 8 THEN 2
WHEN 9 THEN 3
WHEN 10 THEN 1
WHEN 11 THEN 2
WHEN 12 THEN 3
END
创建计算字段:月份行数=
CASE MONTH([订单日期]) WHEN 1 THEN 1
WHEN 2 THEN 1
WHEN 3 THEN 1
WHEN 4 THEN 2
WHEN 5 THEN 2
WHEN 6 THEN 2
WHEN 7 THEN 3
WHEN 8 THEN 3
WHEN 9 THEN 3
WHEN 10 THEN 4
WHEN 11 THEN 4
WHEN 12 THEN 4
END
将计算字段“月份列数”拖到列功能区,右键选择“度量(最大值)”及“离散”,将计算字段“月份行数”拖到行功能区,右键选择“度量(最大值)”及“离散”,将维度字段“订单日期”拖到“标记”——“文本”,右键选择“月”,“标记”选择“文本表”:
取消选择“勾选标题”,与年份一样设置格式,最终效果如下:
3.新建一个工作表:星期筛选器
创建计算字段:星期列数=
CASE DATENAME('weekday',[订单日期]) WHEN "Monday" THEN 1
WHEN "Tuesday" THEN 2
WHEN "Wednesday" THEN 3
WHEN "Thursday" THEN 4
WHEN "Friday" THEN 1
WHEN "Saturday" THEN 2
WHEN "Sunday" THEN 3
END
创建计算字段:星期行数=
CASE DATENAME('weekday',[订单日期]) WHEN "Monday" THEN 1
WHEN "Tuesday" THEN 1
WHEN "Wednesday" THEN 1
WHEN "Thursday" THEN 1
WHEN "Friday" THEN 2
WHEN "Saturday" THEN 2
WHEN "Sunday" THEN 2
END
将计算字段“星期列数”拖到列功能区,右键选择“度量(最大值)”及“离散”,将计算字段“星期行数”拖到行功能区,右键选择“度量(最大值)”及“离散”,将维度字段“订单日期”拖到“标记”——“文本”,右键选择“工作日”,“标记”选择“文本表”:
取消选择“勾选标题”,与年份一样设置格式,最终效果如下:
4.在仪表板上添加这三个工作表,并设置为“用作筛选器”,最终效果如下:
性别筛选器可视化
将维度字段“性别”拖到行功能区,“标记”选择形状,将维度字段“性别”拖到“标记”——“形状”,对男/女分别选择合适的图形,将维度字段“性别”拖到“标记”——“颜色”,对男/女分别选择合适的颜色,并调整大小:
右键行功能区的“性别”,取消勾选“显示标题”,并设置格式取消各种线条,设置居中对齐,最终效果如下:
添加到仪表板,并设置为“用作筛选器”即可:
总的思路就是利用文本表或形状等其他方式对需要筛选器的字段进行可视化设计,然后在仪表板上通过启用“用作筛选器”的功能达到筛选器可视化的效果。