最近一段时间学习了表计算的相关知识,重点在快速表计算与特定维度的使用,不过学习过程中,感觉要用好表计算,实践是非常重要的,只有将表计算不断运用到实际业务中,才能持续强化对表计算的认识和理解。

这里使用tableau自带的超市数据源,构建了一个年度订单日期、季度订单日期以及销售额的交叉表,用来测试和实践表计算的特定维度方式。

图:时间与销售额交叉表示例

对于视图中时间和销售额的分析,这里假设需要计算这几个数据:

销售额季度同比增长率

销售额季度环比增长率

地区季度销售额占季度销售总额比重

地区季度销售额占全年总销售额比重

销售额季度同比增长率

根据视图结构,要计算销售额季度同比增长率,需要表计算按“订单日期 年”自上而下依次读取,每个年度对应一次读取,四个年度对应四次读取。

图:销售额同比增长率的视图结构

用数字方向来观察,2015年对应第“1”次读取,2016年对应第“2”次读取,2017年对应第“3”次读取,2018年对应第“4”次读取。尽管视图中的年度又进一步细分为了季度,还对应着6个地区,但“订单日期 个季度”和“地区”将作为分区字段,视为一个整体,与每一个年度匹配。

图:销售额同比增长率数字方向

计算类型选择“百分比差异”,特定维度选择“订单日期 年”,具体结果如下图所示。

图:销售额季度同比增长率结果示例

销售额季度环比增长率(跨年)

根据视图结构,要计算销售额季度环比增长率(跨年),需要表计算自上而下依次读取每一个季度数据。

图:销售额同比增长率的视图结构

如果使用“订单日期 个季度”作为唯一的寻址字段,则自上而下读完四个季度即一个完整周期后,会在“订单日期 年”触碰到“虚拟墙”,然后又重新开始新的读取周期。如果只是计算每个年度内各季度的环比增长情况,“虚拟墙”可以帮我们将各个年度有序分开,但这里需要跨年度的环比比较,因此必须拆掉“虚拟墙”的阻挡。

图:订单日期(年)"虚拟墙"示例

要让tableau对“订单日期 个季度”的读取跨过虚拟墙,实现自上而下的贯通,只需将“订单日期 年”也列为寻址字段,并把读取顺序放在订单日期(季度)的后面即可。此时tableau的读取逻辑为:

先在2015对应的季度从上往下读取,即1季开始到4季结束,然后接着从2016对应的季度从上往下读取,1季开始到4季结束,一直读完2018,至此完成一个完整的读取周期。

图:销售额环比增长率(跨年)数字方向

计算类型选择“百分比差异”,特定维度选择“订单日期 年”、“订单日期 个季度”,具体结果如下图所示。

图:销售额季度环比(跨年)增长率结果示例

地区季度销售额占季度销售总额比重

根据视图结构,要计算地区季度销售额占季度销售总额比重,需要表计算自左往右依次读取每一个地区的数据。

图:地区季度销售额占季度销售总额比重的视图结构

所需计算的数据是以每个季度作为一个完整的读取周期,因此只需要将“地区”作为寻址字段即可,tableau就会依次读取东北到华北共6个地区,然后接着下一行又重新读取。

图:地区季度销售额占季度销售总额比重数字方向

计算类型选择“合计百分比”,特定维度选择“地区”,具体结果如下图所示。

图:地区季度销售额占季度销售总额比重结果示例

地区季度销售额占全年总销售额比重

根据视图结构,要计算地区季度销售额占年度销售总额比重,需要表计算以“订单日期 年”作为分区字段,依次读取分区内的每一个数据。

图:地区季度销售额占年度销售总额比重的视图结构

所需计算的数据是以每个年度作为一个完整的读取周期,因此需要将“地区”和“订单日期 个季度”作为寻址字段,tableau就会依次读取东北到华北共六个地区以及1季到4季共四个季度的数据,然后接着下一行又重新读取。这里需要注意的是,由于“合计百分比”不用考虑读取顺序,因此“地区”和“订单日期 个季度”两个寻址字段的先后顺序对最终结果没有影响。

图:地区季度销售额占年度销售总额比重数字方向

计算类型选择“合计百分比”,特定维度选择“地区”、“订单日期 个季度”,具体结果如下图所示。

图:地区季度销售额占年度销售总额比重结果示例

tableau关于增长率、占比的表计算实践应用相关推荐

  1. Tableau基础-第三章(快速表计算)

    从头开始学Tableau-第三章(快速表计算) 第一章 第二章 数据源 这一章主要介绍一下快速表计算,在前面的2章中我们基础的了解了一下Tableau的函数,有时候并不希望每一个指标值都用函数去构造, ...

  2. tableau计算之(三)表计算——分区/寻址——手动计算/快速计算

    一.表计算是什么? 表计算是指不通过数据源进行直接计算,而是借助中间表计算得出结果的计算,其基本特征是基于视图中聚合数据的二次聚合计算. 二.分区与寻址的概念 要了解表计算,必须先了解--分区与寻址 ...

  3. 创建交叉表_【零售】Tableau LOD+表计算做交叉购买分析

    今天客户咨询我一个问题,忙完了细细思考,非常值得写一篇小文章梳理其中的逻辑.此类的问题经常被人问及,之前也零散地分享过,终归不够系统,此次尝试说一下相关的业务需求和背后的技术逻辑.本文阐述一种角度-- ...

  4. Tableau中的表计算

      Tableau中的普通计算是把数据发送给数据源端进行计算,而表计算是在已经取得的查询结果基础上由Tableau做的进一步计算,即在结果表格里进行计算.Tableau中常见的表计算类型主要有:差异. ...

  5. tableau函数与计算之二(表计算)

    tableau函数与计算的最后一个知识点:表计算 表计算是一个转化,基于详细级别的维度将该转换应用于视图中单一度量的值. 表计算类型分为: 以x,y例举:设x为当前值,y为另一值 1.差异计算:计算表 ...

  6. Tableau表计算(1):计算类型

    1.表计算 表计算可以应用于整个表中的值的计算,通常依赖于表结构本身,这些计算的独特之处在于使用数据库中的多行值数据计算一个值.创建表计算时需要指定"计算类型"和"计算依 ...

  7. tableau 如何选择tableau计算类型?基本计算 / LOD计算 / 表计算

    一.计算在数据源和分析中的位置 基本计算和LOD表达式是数据源查询的计算,返回的是一个结果集.统称为custom calculation,生成的结果是custom filed 自定义字段,字段在哪里? ...

  8. tableau度量值计算_Tableau 基础 | 表计算函数

    才发现,一不小心写了这么多篇表计算主题的文章了: 但是呢,表计算博大精深,还会持续研究下去的. 开始研究表计算(Table Calc)的内容了,总觉得官方的help稍微有些不符合学习理解的规律 表计算 ...

  9. tableau表计算--柏拉图曲线

    各个领域都存在着二八定律:比如零售行业,80%的利润可能来自其中20%的用户.今天学到了怎么用tableau来做一个这样的柏拉图曲线. 成果图: 开始吧 把利润.客户名称分别拖到行.列:客户名称拖到标 ...

最新文章

  1. 高并发BUG排查,警惕高权限又不受监管的运维行为
  2. 【c语言】蓝桥杯入门训练 圆的面积
  3. 数据中心怎么关机?光有UPS还不够
  4. ubuntu12.04.5安装openssh-server所引发的血案
  5. Chrome浏览器12px问题-webkit-text-size-adjust: none 已失效的解决方案
  6. 分享适合程序员使用17 张壁纸
  7. nssl1460-逛机房【bfs】
  8. 与时间赛跑:微盟的数据恢复为什么需要这么长时间
  9. ping 工具开发日记(1)
  10. 数据科学和人工智能技术笔记 二、数据准备
  11. auto.js停止所有线程_使用多线程处理输入的数据
  12. python数字保留两位_Python 鲜为人知的数值格式化
  13. Flink SQL 系列 | 5 个 TableEnvironment 我该用哪个?
  14. adboost,随机森林,gbdt,xgboost,lightgbm区别
  15. [bzoj 4066]简单题
  16. oracle merge into where,Oracle merge into语法简介
  17. appcan与java_APPCAN学习笔记004---AppCan与Hybrid,appcan概述
  18. 选票统计 SDUT
  19. 数据结构C语言版(答案)
  20. Windows远程桌面出现CredSSP加密数据修正问题解决方案

热门文章

  1. 如何解决玩cf(穿越火线)带来的code blocks64位不兼容问题
  2. 推荐几个9月爆火的 GitHub 电商项目
  3. python量化金融下单接口特点
  4. MVP模式网络请求购物车
  5. 图书预约管理系统的设计与实现
  6. 如何解决服务器证书不受信任,pycharm 如何跳出服务器证书不受信任的提示
  7. PMP|一文带你正确认识产品经理和项目经理的区别
  8. java计算机毕业设计商场VIP管理系统源码+系统+数据库+lw文档+mybatis+运行部署
  9. PS图层混合模式详解
  10. 如何知道php是32位还是64位,怎么看电脑是32位还是64位详细介绍