举个栗子~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

相关文章

Python中的Walrus运算符分析示例详解

《Python中的Walrus运算符分析示例详解》Python中的Walrus运算符(:=)是Python3.8引入的一个新特性,允许在表达式中同时赋值和返回值,它的核心作用是减少重复计算,提升代码简... 目录1. 在循环中避免重复计算2. 在条件判断中同时赋值变量3. 在列表推导式或字典推导式中简化逻辑

快速修复一个Panic的Linux内核的技巧

《快速修复一个Panic的Linux内核的技巧》Linux系统中运行了不当的mkinitcpio操作导致内核文件不能正常工作,重启的时候,内核启动中止于Panic状态,该怎么解决这个问题呢?下面我们就... 感谢China编程(www.chinasem.cn)网友 鸢一雨音 的投稿写这篇文章是有原因的。为了配置完

Python ZIP文件操作技巧详解

《PythonZIP文件操作技巧详解》在数据处理和系统开发中,ZIP文件操作是开发者必须掌握的核心技能,Python标准库提供的zipfile模块以简洁的API和跨平台特性,成为处理ZIP文件的首选... 目录一、ZIP文件操作基础三板斧1.1 创建压缩包1.2 解压操作1.3 文件遍历与信息获取二、进阶技

Java程序进程起来了但是不打印日志的原因分析

《Java程序进程起来了但是不打印日志的原因分析》:本文主要介绍Java程序进程起来了但是不打印日志的原因分析,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Java程序进程起来了但是不打印日志的原因1、日志配置问题2、日志文件权限问题3、日志文件路径问题4、程序

Java字符串操作技巧之语法、示例与应用场景分析

《Java字符串操作技巧之语法、示例与应用场景分析》在Java算法题和日常开发中,字符串处理是必备的核心技能,本文全面梳理Java中字符串的常用操作语法,结合代码示例、应用场景和避坑指南,可快速掌握字... 目录引言1. 基础操作1.1 创建字符串1.2 获取长度1.3 访问字符2. 字符串处理2.1 子字

Java Optional的使用技巧与最佳实践

《JavaOptional的使用技巧与最佳实践》在Java中,Optional是用于优雅处理null的容器类,其核心目标是显式提醒开发者处理空值场景,避免NullPointerExce... 目录一、Optional 的核心用途二、使用技巧与最佳实践三、常见误区与反模式四、替代方案与扩展五、总结在 Java

Python 迭代器和生成器概念及场景分析

《Python迭代器和生成器概念及场景分析》yield是Python中实现惰性计算和协程的核心工具,结合send()、throw()、close()等方法,能够构建高效、灵活的数据流和控制流模型,这... 目录迭代器的介绍自定义迭代器省略的迭代器生产器的介绍yield的普通用法yield的高级用法yidle

C++ Sort函数使用场景分析

《C++Sort函数使用场景分析》sort函数是algorithm库下的一个函数,sort函数是不稳定的,即大小相同的元素在排序后相对顺序可能发生改变,如果某些场景需要保持相同元素间的相对顺序,可使... 目录C++ Sort函数详解一、sort函数调用的两种方式二、sort函数使用场景三、sort函数排序

Python通过模块化开发优化代码的技巧分享

《Python通过模块化开发优化代码的技巧分享》模块化开发就是把代码拆成一个个“零件”,该封装封装,该拆分拆分,下面小编就来和大家简单聊聊python如何用模块化开发进行代码优化吧... 目录什么是模块化开发如何拆分代码改进版:拆分成模块让模块更强大:使用 __init__.py你一定会遇到的问题模www.

kotlin中const 和val的区别及使用场景分析

《kotlin中const和val的区别及使用场景分析》在Kotlin中,const和val都是用来声明常量的,但它们的使用场景和功能有所不同,下面给大家介绍kotlin中const和val的区别,... 目录kotlin中const 和val的区别1. val:2. const:二 代码示例1 Java