网上看了很多帖子,要实现同比和环比都是用lookup函数,但是如果数据并没有顺序或者一个月有很多行数据操作起来就比较麻烦了。
现在用一个比较简单的fixed函数来实现这个功能。看看fixed函数的用法:
这是个超级强大的函数,可以跨层级固定住指定的维度,甚至做得比较SQL还简便,例如超市里面想看顾客买牛奶的同时又购买了什么,对于结构化数据如果写SQL需要先计算出含有牛奶的订单号再查看这些订单明细一共需要扫描两次,这只是看一个产品而已,如果看N个产品呢?计算量是非常大的,但是用fixed函数一次就可以同时查看N个产品的情况。
,再例如想看到明细的同时又看到汇总信息 ,会员的RFM求出每个会员最后消费日期等等,更多fixed函数的应用推荐这个链接,里面有各种LOD表达式的用法。
下面举例,要看某城市昨天相比上周同一天的销售增长。
首先,计算昨天的销售额,我把门店固定住,找昨天的销售额,创建计算函数
{FIXED [StoreID] : SUM(if [SalesDate]=TODAY()-1 then [netsales] end)}
这里利用tableau实现了sumif效果
然后把门店固定住,计算上周同一天的销售额
最后计算环比上周,搞定
我们可以把负增长的数据表示出来
效果如下: