举个栗子~Tableau 技巧(227):购物篮分析之「计算商品类别组合购买客户数」

本文主要是介绍举个栗子~Tableau 技巧(227):购物篮分析之「计算商品类别组合购买客户数」,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

做销售数据分析时,对客户的购买偏好分析很常见。使用 Tableau,通过简单的拖拽字段,就可以很容易得到不同类别商品的购买情况(如下图)。

但是,这个呈现结果不够精确:如果同一个人购买了多个类别商品时,多个类别会重复计数;并且,也无法知道同时购买两种或多种类别商品的客户情况。

图片

想要更精准的了解客户购买偏好,例如:仅购买某一类商品的客户情况、同时购买某几类商品的客户情况(如下图),就需要多一些步骤。

图片

具体该如何实现呢?栗子方法,一睹为快吧~

在这里插入图片描述

本期《举个栗子》,我们要给大家分享的 Tableau 技巧是:购物篮分析之「计算商品类别组合购买客户数」。

为方便学习,栗子使用 Tableau 自带的“示例-超市”数据源。掌握栗子方法后,数据粉可尝试使用自己的数据。懒癌患者可通过以下链接获取栗子数据源:
https://www.dkmeco.com/cms/course/detail/590

栗子步骤实现以下需求,更多场景可参考并进一步探索:

只购买了某一类别商品的客户数
购买了其中的某两类别商品的客户数
所有类别商品都购买了的客户数

注意:由于二进制递增数量较快,本栗子方法适用范围有限,不建议在超过 5 种类别以上的场景使用。

具体步骤如下:

1、创建计算字段

打开 Tableau Desktop,连接“示例-超市”数据源,新建工作表。

首先,需要判断每个客户都购买了哪几种类别的产品,在这里巧妙的利用一下二进制,把每种类别转换成依次递增的二进制值(为了保证每种组合都有唯一值。)

单击“数据”窗格右上角 ▼ 符号,在下拉菜单中选择:创建计算字段。

➤ 创建计算字段:类别二进制识别数,键入函数
CASE [类别]
WHEN ‘办公用品’ THEN 1
WHEN ‘技术’ THEN 2
WHEN ‘家具’ THEN 4
END

图片

然后,再创建一个计算字段,对于每个客户,计算该客户的类别二进制识别数的唯一组合数。

➤ 创建计算字段:客户的唯一二进制数,键入函数
{FIXED [客户名称]:SUM({ INCLUDE[类别]:MIN([类别二进制识别数])} )}

图片

最后,再创建一个计算字段,把该二进制识别数匹配的产品类别组合匹配出来,会生产2^(n+1)-1种组合数,每种组合数都有它对应唯一的组合类型。

➤ 创建计算字段:类别组合,键入函数
CASE [对客户的唯一二进制码]
WHEN 1 THEN ‘仅购买办公用品’
WHEN 2 THEN ‘仅购买技术’
WHEN 3 THEN ‘仅购买办公用品和技术’
WHEN 4 THEN ‘仅购买家具’
WHEN 5 THEN ‘仅购买办公用品和家具’
WHEN 6 THEN ‘仅购买技术和家具’
WHEN 7 THEN ‘三种类别都有购买’
END

图片

2、创建视图

将计算字段“类别组合”拖放至行,将度量“客户名称(计数不同) ”拖放至列,视图就出现了我们想要的结果,是不是很直观呢?

图片

本期的 Tableau 技巧,你 Get 到了吗?
下一期,再见~

在这里插入图片描述

文章部分信息来源于网络,如有侵权请告知

这篇关于举个栗子~Tableau 技巧(227):购物篮分析之「计算商品类别组合购买客户数」的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/416644

相关文章

qt5cored.dll报错怎么解决? 电脑qt5cored.dll文件丢失修复技巧

《qt5cored.dll报错怎么解决?电脑qt5cored.dll文件丢失修复技巧》在进行软件安装或运行程序时,有时会遇到由于找不到qt5core.dll,无法继续执行代码,这个问题可能是由于该文... 遇到qt5cored.dll文件错误时,可能会导致基于 Qt 开发的应用程序无法正常运行或启动。这种错

mtu设置多少网速最快? 路由器MTU设置最佳网速的技巧

《mtu设置多少网速最快?路由器MTU设置最佳网速的技巧》mtu设置多少网速最快?想要通过设置路由器mtu获得最佳网速,该怎么设置呢?下面我们就来看看路由器MTU设置最佳网速的技巧... 答:1500 MTU值指的是在网络传输中数据包的最大值,合理的设置MTU 值可以让网络更快!mtu设置可以优化不同的网

Python并行处理实战之如何使用ProcessPoolExecutor加速计算

《Python并行处理实战之如何使用ProcessPoolExecutor加速计算》Python提供了多种并行处理的方式,其中concurrent.futures模块的ProcessPoolExecu... 目录简介完整代码示例代码解释1. 导入必要的模块2. 定义处理函数3. 主函数4. 生成数字列表5.

MyBatis Plus 中 update_time 字段自动填充失效的原因分析及解决方案(最新整理)

《MyBatisPlus中update_time字段自动填充失效的原因分析及解决方案(最新整理)》在使用MyBatisPlus时,通常我们会在数据库表中设置create_time和update... 目录前言一、问题现象二、原因分析三、总结:常见原因与解决方法对照表四、推荐写法前言在使用 MyBATis

Python主动抛出异常的各种用法和场景分析

《Python主动抛出异常的各种用法和场景分析》在Python中,我们不仅可以捕获和处理异常,还可以主动抛出异常,也就是以类的方式自定义错误的类型和提示信息,这在编程中非常有用,下面我将详细解释主动抛... 目录一、为什么要主动抛出异常?二、基本语法:raise关键字基本示例三、raise的多种用法1. 抛

MySQL JSON 查询中的对象与数组技巧及查询示例

《MySQLJSON查询中的对象与数组技巧及查询示例》MySQL中JSON对象和JSON数组查询的详细介绍及带有WHERE条件的查询示例,本文给大家介绍的非常详细,mysqljson查询示例相关知... 目录jsON 对象查询1. JSON_CONTAINS2. JSON_EXTRACT3. JSON_TA

github打不开的问题分析及解决

《github打不开的问题分析及解决》:本文主要介绍github打不开的问题分析及解决,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、找到github.com域名解析的ip地址二、找到github.global.ssl.fastly.net网址解析的ip地址三

Mysql的主从同步/复制的原理分析

《Mysql的主从同步/复制的原理分析》:本文主要介绍Mysql的主从同步/复制的原理分析,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录为什么要主从同步?mysql主从同步架构有哪些?Mysql主从复制的原理/整体流程级联复制架构为什么好?Mysql主从复制注意

Spring @RequestMapping 注解及使用技巧详解

《Spring@RequestMapping注解及使用技巧详解》@RequestMapping是SpringMVC中定义请求映射规则的核心注解,用于将HTTP请求映射到Controller处理方法... 目录一、核心作用二、关键参数说明三、快捷组合注解四、动态路径参数(@PathVariable)五、匹配请

java -jar命令运行 jar包时运行外部依赖jar包的场景分析

《java-jar命令运行jar包时运行外部依赖jar包的场景分析》:本文主要介绍java-jar命令运行jar包时运行外部依赖jar包的场景分析,本文给大家介绍的非常详细,对大家的学习或工作... 目录Java -jar命令运行 jar包时如何运行外部依赖jar包场景:解决:方法一、启动参数添加: -Xb