时间序列之客户数量分析

昨天小编跟一位客户沟通的时候,客户拿出他们一份report给我看,他说:“我们这份表格的数据目前是用sql去写程序,事务处理,各种循环来实现的,还挺复杂的,不知道你们tableau能不能做到?”

对于这样的问题,真的只有用行动去证明了。

他跟我重点指出了其中比较复杂的一个场景,小编在这里要啰嗦描述了。

老板每个月都要看到截止到到当月的所有客户数量的不重复汇总。这句话有点长,跟大家解释一下,我们每个月的订单都由不同的客户去购买产生的,假设一月份是我们起始月份,在一月份的时候,客户A购买了(无论买了多少单),在一月份的时候要把这个客户算1个客户,但是当二月份的时候,该客户A又会产生购买记录,那么在二月份对客户数量进行汇总的时候,实际是对一月份与二月份的所有客户进行不重复计数。以此类推。

总的来说,就是下面这样这张表格:

20T

那么小编拿到这样一份所谓的需要用sql进行复杂逻辑运算的表格是怎么处理的呢,首先还是讲一下思路:我们需要对每个月的客户数量进行汇总计算,但是汇总的时候我们只对在当月进行第一次购买的客户进行汇总。那么这里问题的难点就在于要排除那些不是首次购买的客户。(PS:如果对表计算和LOD详细级别表达式没有概念的同学可以先看看白皮书进行学习哦,否则本帖可能看起来会稍显困难,对于已经学习过表计算和LOD的同学,现在正是你们复习巩固的时候啦 计算的白皮书链接: http://onlinehelp.tableau.com/current/pro/online/mac/zh-cn/help.html#calculations.html%3FTocPath%3D%25E9%25AB%2598%25E7%25BA%25A7%25E5%2588%2586%25E6%259E %2590%7C%25E8%25AE%25A1%25E7%25AE%2597%7C_____0) 我们接下来用3个步骤一一化解。 Step 1对客户进行不重复计数 将我们的订单时间放置在列上,将客户名称放置行上,给客户名称加上countd函数。这样我们就能够知道每个月的客户数量啦。

21T

Step 2用fixed筛选第一次购买的客户

创建一个计算字段,命名为是否第一次购买,内容为{ FIXED [客户名称]:MIN([订单日期])}=[订单日期]

22T

将这个计算字段放置筛选器,选择“TRUE”,得到如下图,留下来的部分客户就是在当月第一次购买的客户

23T

Step 3对客户数量进行汇总:

右键单击行上的计数(客户名称),选择快速表计算-汇总。

24T

最后再调整标记方式为柱状图,小编喜欢比较商务的深蓝色,OK,这个客户数量的汇总分析就做好啦!