如何在Google Data Studio中按周显示数据?
数据清洗是数据可视化的前提,在用各种图表呈现数据之前,我们必须做许多准备工作将数据转化为我们需要的格式。本篇极诣将介绍常见的对以周为单位进行数据处理。我们将使用Google Search Console数据进行实例讲解。
导入Google Search Console数据源
在这里我们使用Site Impression的Web数据。你将会看到我们有5个绿色的Dimensions和4个蓝色的Metrics。显然Week不在我们的Dimensions中。我们的目的就是做好Week这个Dimension。
从Date计算Week
计算Week是最简单的,我们只要使用公式YEARWEEK()即可,注意我们没有用WEEK()是因为我们需要跨年排序。首先我们编辑我们添加了的数据源,在右上角点击ADD FIELD。
Filed Name我们就叫YEARWEEK。Formula就写YEARWEEK(Date)。保存返回。
另一种办法是我们仅显示这周开始的日期。我们可以用下面的公式实现:
CASE
WHEN WEEKDAY(Date) = 1 THEN DATETIME_SUB(Date, INTERVAL 0 DAY)
WHEN WEEKDAY(Date) = 2 THEN DATETIME_SUB(Date, INTERVAL 1 DAY)
WHEN WEEKDAY(Date) = 3 THEN DATETIME_SUB(Date, INTERVAL 2 DAY)
WHEN WEEKDAY(Date) = 4 THEN DATETIME_SUB(Date, INTERVAL 3 DAY)
WHEN WEEKDAY(Date) = 5 THEN DATETIME_SUB(Date, INTERVAL 4 DAY)
WHEN WEEKDAY(Date) = 6 THEN DATETIME_SUB(Date, INTERVAL 5 DAY)
ELSE DATETIME_SUB(Date, INTERVAL 6 DAY)
END
现在我们就可以用新建的Week作为Dimension来制作图表了,不过我们要注意的是用默认的Time series chart会出错,因此建议使用Column或者Line charts。
要想使用Time series图表你可以使用超级容易的第三种做法,方法是用Duplicate(Field旁的三个点)复制Date这个Dimension,然后将其类型改为ISO Year Week。😊
调整Week定义
至此你已经会制作Week了。但是如你所知,这个世界上至少有两种Week的定义,一种是每周以周一开始(ISO8601Week,从第1周开始记),另一种是每周以周日开始(从第0周开始记)。那么如果你的老板/老婆/老师/老表/客户老爸需要你使用以周日开始的每周定义,你该怎么做呢?(先忽略阿拉伯兄弟是周六开始一周的)显然我们需要对Week进行重新计算了。不过我们要记住一些规律:
对于ISO8601Week如果这一周的第一天在该年,那么这一周就是该年的一周。
对周日开始一星期的标准(如美国、加拿大、澳大利亚、新西兰),某一天是哪一年就是哪一年的一周里的。因此会把某一周一分为二。由此我们可以看到那些不完整的周对按周的分析没有多大比较作用,但是对于汇报有时候会很有用。
为了正确计算我们需要用EXTRACT这个函数。第一步、将Date的格式从默认改为Date。第二步、使用EXTRACT函数EXTRACT(WEEK FROM Date)。
但问题来了,这个最新的格式跨年无法正确排序。所以我们要把公式更新为:
CONCAT(EXTRACT(YEAR FROM DATE ), “WK”,EXTRACT(WEEK FROM DATE ) )
还没完由于我做出来的是字符串,在排序上依旧会遇到问题。所以在个位数周数前我们要 插入一个0。这样最终公式就是:
CONCAT(
EXTRACT(YEAR FROM Date ),
"WK",
IF(
LENGTH(EXTRACT(WEEK FROM Date ) ) < 2,
CONCAT("0", EXTRACT(WEEK FROM Date ) ),
CONCAT("", EXTRACT(WEEK FROM Date ) )
)
)
最后我们看一下效果:
以上我们介绍了在GDS中实现按周汇报的各种方法,这些方法应该能够拓宽你清洗数据的思路。欢迎读者一同探讨。