跳至正文

【Tableau Prep案例】酒店开盘、关盘移动计算统计

标签:

本文写于2021年,今天整理客户资料发现,没有客户数据,整理发布于博客。

@喜乐君  Apr 28, 2021 PM

目的:帮助客户更好地理解分析过程,问题分析、数据准备和可视化。

反馈问题:prep流程中不能删除当日的预约,理解错误; 可视化的当月关盘应该是移动计算,使用window计算,但是考虑到行级别与聚合的逻辑,还需要更改。 ——待处理

分析需求:

帮助领导查看所选参数月份及次月的房晚预约情况,及长期波动

1、数据源结构:

预订日期提前天数入住日期开盘房数8点关盘房数24点
2019/1/102019/1/1406205
2019/1/112019/1/2343157
2019/1/122019/1/3432256
2019/1/132019/1/45363
2019/1/142019/1/5481254
     
2021/8/9 2021/8/9  
     
  • 开盘房晚,对应 预约数量——相当于应收款/预约销售
  • 关盘方案,对应 入住数量——相当于确认收入

数据行级别的意义:每天有多少其他各天的预约房晚(开盘),当晚确认的入住房屋数量(关盘)

比如, 预定日期*入住日期 是唯一的。

2、分析需求:

每个日期对应的预约开盘房晚总数,及对应的关盘房晚(关盘确认)

由于 预约日期对应的开盘聚合, 和入住日期对应的 关盘聚合 需要匹配,两种方案:

  • 数据混合
  • 使用prep聚合后匹配

3、数据准备

基于上述的Excel过程,作为两个分支,分别处理预约日期(上面分支)和入住日期(下分支),分别处理。

预约日期处理:

  • 每个预约日期,聚合开盘预约房晚,入住日期按照年月聚合
  • 判断预约日期和入住年月,判断是当月预约,还是次月预约,还是其他
  • 同时要排除null,即只看当月和次月
  • 之后,转置 当日开盘sum-当月预约和 次月预约 为列度量
  • 由于转置后,两个度量在不同列,所以需要聚合来处理合并(第一行分支后第四个节点)

入住日期分支

  • 排除预约日期=入住日期的关盘
  • 查看每个入住日期,以预约日期聚合为年月,查看每天对应的总的确认关盘
  • 筛选:只查看当月的关盘聚合

最后的预约日期和入住日期的合并

预约日期和入住日期的维度都是日期,可以认为是结构相同,度量不同。

  • 方案1:并集
    • 日期并集,默认会有错行(如下),因此需要需要并集
  • 方案2:连接
    • 两侧都可能有对方没有的,所以全连接,两个不匹配的环节通过后面合并字段,这样不需要聚合

最终结果如下:

  • 每天日期(绝对日期,与预约、入住无关) 的当月预约开盘、次月预约开盘、当月确认关盘。

和excel的数据确认核实,无误。

4、可视化:

//////假设:

参数月份=3月 入住月份

坐标轴从2月1日开始~3月底 (和参数日期一致)

——————————

横轴是两个月,

2月份的部分,计算 2预约3月入住的开盘

3月的部分,计算3月的3月预约开盘+3月的关盘

关键:如何实现同比比较? 通过in函数计算。

如果日期超过了today,那么显示为空(这个需求还没有添加)

度量涉及到两种计算