在Tableau中创建日历图创建日历图是个很简单的过程,网上文章很多,基本不需要什么高深的知识,只要拖拽就可以解决。以前刚开始接触日历图的时候,觉得有些难,现在想起来其实是对Tableau中的日期,维度中的离散和连续理解不深。zd
先推荐两篇:
https://www.thedataschool.co.uk/anuka-teggart/how-to-create-a-calendar-in-tableau/
https://www.jianshu.com/p/fca126f3dc2a
下面简单说一下步骤和我个人的一些理解(数据源用自带的超市数据)
1.将【订单日期】拖拽到列功能区,右键选择工作日(这里一定是蓝色,离散数据)
当然也可以按住右键拖拽,会有惊喜哦
2.再将【订单日期】拖拽到行功能区,右键选择周数(这里也一定是蓝色,离散数据)
3.下面可以将【订单日期】拖拽到标记区的标签类型,右键选择天(这里也一定是蓝色,离散数据),顺便编辑一下标签位置,顶部右侧
4.根据需求添加日期筛选器,这个没有一定之规。根据需要,可以直接把日期拖拽进去,也可以年、月分别处理(我这里选择年、月分别作为筛选器)等等。
现在日历有那么点雏形了,记得所有字段都是蓝色的。下面一般的教程会教你如何添加背景颜色做成热力图。过程是这样的将标记改为方形,比如拖拽一个【销售额】字段到颜色,立马感觉高大上了。一般教程就完了。
但是这个对我来说基本没什么用,我做日历图有些时候就是为了做个提醒,比如今天该还多少银行利息了,颜色对我来说没用,我只需要知道数值即可,就像个备忘录一样。
所以需要修改一下。
5.比如把【销售额】、【利润】放到标签,编辑一下标签格式,数据就可以显示到日历上了。
6.下面就要构造一个计算字段
【today】=
if TODAY()-[订单日期]=0 then 0
ELSEIF TODAY()-[订单日期]>0 then -1
ELSEIF TODAY()-[订单日期]<0 then -1
END
按照正常的,将标记改为方形,拖拽【today】字段到颜色,并选择为连续(绿色),然后编辑颜色
这里要着重说一下,【today】这个字段是区分了今天和非几天,今天用0表示,非今天用-1表示,你也可以区分今天、过去和将来,这样颜色可以用3阶渐变,根据需求了。但then后面的必须是数字,不能是字符串。为什么?因为如果是字符串,就不能选择连续(变不了绿色)方形不会自动填充满格,不信你就自己试试。
本来要说完了,后来发现图里面没有星期四,正好2018年12月整个周四都没有销售数据,这个还要到分析,表布局,显示空列里选择一下。
这里还要再提一个问题,如果日期没有数据,日期标签也是空的,想要把没数据的日期也标上日期标签,我单独建立一个日期表,然后编辑数据关系,用日期连接两张表,日期使用日期表的,只有数据用数据表的,就做好了一个完整的日历。(点击进入public的例子)
此篇文章已发布到我的公众号:saodisir,有兴趣也可关注一下