【Tableau系列第(6)篇】使用Tableau Prep进行数据清理、整合(一)

使用Tableau Prep的整体过程详见:【Tableau系列第(5)篇】用Tableau Prep整理数据全流程初体验

本篇一步一步跟我一起来熟悉更多的Tableau Prep数据清理、整合的操作

示例excel数据源链接: https://pan.baidu.com/s/17nx3_LPe30oK1l1JsC6Kdw?pwd=AQWF 提取码: AQWF

合并多个表(比如不同时间段的数据)

新建连接-文本文件(.csv文件),orders_south_2015,2016,2017,2018在同一个文件夹下,所以,点击“表”,可以看到这四个文件,选择合并多个表,点应用;

添加更多个输入

Orders_East.xlsx

Orders_West.csv

Orders_Central.csv

清理订单数据

创建计算字段

点击Orders_Central,这个 数据集中没有“Region”字段,而其他数据集中有,所以,要增加这一字段,方面后续分析;

新建标志性字段

字段值输入:Region,字段值:"Central",然后保存;

合并字段

Orders_Central这个数据集中,订单年份、月、日是3个单独的字段,需要把它们合并成一个字段Order Date,格式为"MM/DD/YYYY",赋值:MAKEDATE([Order Year],[Order Month],[Order Day])

移除字段

需要移除订单年份、月、日是3个单独的字段,在搜索框中输入Order,按住Ctrl多选Order Year,Order Month,Order Day,右键——移除;

类似的,Orders_Central这个数据集中,发货年份、月、日也是3个单独的字段,需要把它们合并成一个字段Ship Date,格式为"MM/DD/YYYY",赋值:MAKEDATE([Ship Year],[Ship Month],[Ship Day])

修改字段类型

Orders_Central这个数据集中,系统给Discounts折扣字段分配的数据类型有问题,它应该是数字类型,但是系统分配的是字符串类型,这是为什么呢,原来,无折扣的情况,字段值是“None”;

直接双击None,把None改为0,按回车键完成;

再去修改Discounts的数据类型,如下图,左键单击“Abc”,选择“数字(小数)”;

在金额字段里移除货币符号

给Orders_East新增一个清理步骤,查看字段,会发现销售额“Sales”字段值中包含了货币符号,Tableau Prep将这个字段解读为了字符串类型;

下面,来快速移除所有字段值中的货币符号,点“…”-清理-移除字母:

然后将Sales的数据类型修改为数字。

添加字段值-映射原始字段值

给Orders_West新增一个清理步骤,查看字段会发现State字段值使用了缩写,如果要和其他文件合并,需要修改为完整的拼写;

点“…”-将值分组-手动选择;

双击AZ,修改为Arizona,这样就把AZ映射到了新值Arizona;

重复这个步骤,完成11个州的修改,然后点击完成;

合并数据

将“重命名State值”拖动到“更改数据类型”步骤(放在“并集”上)

将“清理日期和修改字段”拖到上面创建的并集步骤(放在“添加”上);

同样的,将orders_south输入步骤 拖动到并集步骤(放在“添加”上);

Tableau Prep会自动匹配具有相同名称和类型的字段;

还会发现,新增了一个Table Names(表名称)字段,表示该行数据来自于哪个表;

检查不匹配的字段Discount和Discounts,原来是因为字段名不同,那就可以把它们合并;

选择Discount字段,拖动到Discounts字段上进行合并;

类似的,将Product和Product Name合并;

完成了数据合并,将步骤“并集1”重命名为“所有订单”。

拆分字段值

完成了订单清理和合并,接下来处理退货数据,发现数据有一点杂乱;

新建连接,选择“Microsoft Excel”,选择return_reasons_new.xlsx

新增一个清理步骤,观察Notes(注释)的取值,发现里面包含了审批者,可以把这个信息单独拎出来,放在另一个字段中更好的利用;

首先移除额外的空格:

然后拆分注释和审批者,由于这个数据有明显的分隔符,所以可以选“自动拆分”,当然也可以手动拆分;

拆分后,双击字段给字段重命名为Return Notes和Approver(审批者)

移除原始的Notes字段:

观察到审批人取值里有点问题,相同的人名好像写法不一样:

发现Tableau Prep把相同人名的不同写法分为了一组,很不错,检查一下,完成;

联接数据

将退货数据和订单数据联结起来,想要联结两个表,它们需要有共同的字段,比如Order ID和Product ID,将退货清理步骤拖动到所有订单,放在“联接”上;

添加“联接子句”

内部联接”,仅包括两个文件中都存在的值,没有匹配退货的订单数据被排除;

需要改为“左”联接,数据要包括“所有订单”合并步骤中所有数据、以及“退货订单(清理注释)”中的匹配数据;

清理联接结果

移除多余字段

将字段Order ID-1重命名为Order ID;

添加一个值为"Yes"和"No"的字段来表示是否已退货;

创建计算字段 Return?

赋值If ISNULL([Return Reason])=FALSE THEN "Yes" ELSE "No" END

可能为了分析,还想要知道下单到发货间隔天数,

看一下订单日期和发货日期,有点问题:

修正一下:

新建字段“Days to Ship”,赋值为:

DATEDIFF('day',[Order Date],[Ship Date]),完成之后:

处理完之后,可以输出数据。

基本操作见:【Tableau系列第(5)篇】用Tableau Prep整理数据全流程初体验

最后,给你一个完整的Tableau Prep帮助文档,更多的操作问题可以根据需要从中查找答案;

链接: 百度网盘 请输入提取码 提取码: AQWF

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/856183.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

04. Java 多线程的创建

1. 前言 本节内容重点需要掌握 Java 多线程的三种创建方式,具体内容如下: Java 线程类 Thread 继承结构,这是 JDK Thread 源码的类结构,是了解 Thread 类的第一步;掌握多线程的三种创建方式,这是本节的重…

记录:[android] SSLHandshakeException: Handshake failed 问题;已解决!

1、问题描述:在使用Retrofit2 时在安卓老设备上(安卓6.0)网络无法请求、安卓 10 、 11 未出现此问题?what? 原因:服务端 TLS 版本过高 2、废话不多说、解决方案A 、添加依赖:implementation org.conscrypt…

国产MCU芯片(3):小华半导体

前言: 微控制芯片(MCU)作为现代电子化、信息化智能控制的核心元器件之一,是将中央处理器、存储器、定时器/计时器、模拟信号采集模块以及通信接口等集成在一块芯片上的微型控制器。 家电与消费市场端仍是国内的MCU厂家下游最大的应用市场和主战场,最近两年正在发力车规级市…

ATA-4052C高压功率放大器在新能源汽车安全测试中的应用

新能源汽车的崛起已经改变了汽车行业的格局,为环境友好型交通方式提供了更多的选择。为了确保这些新型汽车的安全性和可靠性,进行全面的安全测试是至关重要的。高压功率放大器在新能源汽车的安全测试中发挥着重要的作用,本文将介绍其应用以及…

(2024)豆瓣电影TOP250爬虫详细讲解和代码

(2024)豆瓣电影TOP250爬虫详细讲解和代码 爬虫目的 获取 https://movie.douban.com/top250 电影列表的所有电影的属性。并存储起来。说起来很简单就两步。 第一步爬取数据第二步存储 爬虫思路 总体流程图 由于是分页的,要先观察分页的规…

力扣1901.寻找峰值II

力扣1901.寻找峰值II 二分每一行 并用函数找出每一行中最大值的下标若最大值比其下面相邻的元素大 则上方一定存在峰值若最大值比其下面相邻的元素小 则下方一定存在峰值 class Solution {int indexmax(vector<int> &a){return max_element(a.begin(),a.end()) - …

【计算机网络仿真】b站湖科大教书匠思科Packet Tracer——实验一 Packet Tracer的简单使用和访问Web服务器

一、实验目的 1.掌握Packet Tracer的简单使用方式&#xff1b; 2.加深对网络体系结构的理解。 二、实验要求 1.搭建Cisco Packet Tracer仿真平台使用环境&#xff1b; 2.观看B站湖科大教书匠仿真实验视频&#xff0c;完成对应实验。 三、实验内容 第一部分:Packet Tracer的…

最实战的GLM4微调入门:从文本分类开始

GLM4是清华智谱团队最近开源的大语言模型。 以GLM4作为基座大模型&#xff0c;通过指令微调的方式做高精度文本分类&#xff0c;是学习LLM微调的入门任务。 使用的9B模型&#xff0c;显存要求相对较高&#xff0c;需要40GB左右。 在本文中&#xff0c;我们会使用 GLM4-9b-Chat…

全志 Android 11:实现响应全局按键

一、篇头 最近实现热键想功能&#xff0c;简单总结了下全志平台Android 11 的响应全局热键的方法。 二、需求 实现全局热键&#xff0c;响应F-、AF、F三个按键&#xff0c;AF只用于启动调焦界面&#xff0c;F-和F除了可以启动调焦界面外&#xff0c;还用于调整镜头的焦距&…

Go web框架|Beego、Gin、Echo、Iris等干货教程

Go 是一门正在快速增长的编程语言&#xff0c;专为构建简单、快速且可靠的软件而设计。golang提供的net/http库已经很好了&#xff0c;对于http的协议的实现非常好&#xff0c;基于此再造框架&#xff0c;也不会是难事&#xff0c;因此生态中出现了很多框架。 本篇文章主要介绍…

使用node把任意网站封装为可执行文件

直接上步骤&#xff1a; 1. node.js 环境准备 下载地址 那个版本都行&#xff0c;下一步->下一步 安装即可 2. windows 系统下&#xff0c; 快捷键 winr ->输入 cmd -> 回车 3. 执行第一个命令&#xff0c;安装 nativefier 等一段时间 npm install nativefier -g 4…

全面赋能,永久免费!讯飞星火API能力正式免费开放

2023年5月&#xff0c;讯飞星火正式发布&#xff0c;迅速成为千万用户获取知识、学习知识的“超级助手”&#xff0c;成为解放生产力、释放想象力的“超级杠杆”。 2024年5月&#xff0c;讯飞星火API能力正式免费开放&#xff0c;携手生态开发者加快大模型赋能刚需场景。 领…

【考研408计算机组成原理】存储系统之Cache考点

苏泽 “弃工从研”的路上很孤独&#xff0c;于是我记下了些许笔记相伴&#xff0c;希望能够帮助到大家 另外&#xff0c;利用了工作之余的一点点时间&#xff0c;整理了一套考研408的知识图谱&#xff0c; 我根据这一套知识图谱打造了这样一个408知识图谱问答系统 里面的每一…

【C++题解】1324 - 扩建鱼塘问题

问题&#xff1a;1324 - 扩建鱼塘问题 类型&#xff1a;分支问题 题目描述&#xff1a; 有一个尺寸为 mn 的矩形鱼塘&#xff0c;请问如果要把该鱼塘扩建为正方形&#xff0c;那么它的面积至少增加了多少平方米&#xff1f; 输入&#xff1a; 两个整数 m 和 n 。 输出&…

LeetCode 54.螺旋矩阵

1.题目要求如图所示: 各位看官们&#xff0c;大家好呀&#xff0c;今天小编用的方法比较麻烦&#xff0c;就是按顺时针遍历&#xff0c;但也挺好理解的&#xff0c;因为就是迭代法循环&#xff0c;所以就不给大家讲步骤了&#xff0c;直接就发代码了: /*** Note: The returne…

深入浅出Netty:高性能网络应用框架的原理与实践

深入浅出Netty&#xff1a;高性能网络应用框架的原理与实践 1. Netty简介 Netty是一个基于Java的异步事件驱动的网络应用框架&#xff0c;广泛用于构建高性能、高可扩展性的网络服务器和客户端。它提供对多种协议&#xff08;如TCP、UDP、SSL等&#xff09;的支持&#xff0c;…

【计算机网络篇】数据链路层(11)在数据链路层扩展以太网

文章目录 &#x1f354;使用网桥在数据链路层扩展以太网&#x1f95a;网桥的主要结构和基本工作原理&#x1f388;网桥的主要结构&#x1f50e;网桥转发帧的例子&#x1f50e;网桥丢弃帧的例子&#x1f50e;网桥转发广播帧的例子 &#x1f95a;透明网桥&#x1f50e;透明网桥的…

网络基础篇:网络模型

目录 一、初识网络 二、网络的分层 OSI七层模型 TCP/IP四层模型 网络与系统的关系 网络传输基本流程 数据包封装和分用 三、IP地址与MAC地址 认识IP地址 认识MAC地址 IP与MAC的关系 一、初识网络 同一台设备上的进程间通信有很多种方式 &#xff1a; 管道&#xff08…

需求虽小但是问题很多,浅谈JavaScript导出excel文件

最近我在进行一些前端小开发&#xff0c;遇到了一个小需求&#xff1a;我想要将数据导出到 Excel 文件&#xff0c;并希望能够封装成一个函数来实现。这个函数需要接收一个二维数组作为参数&#xff0c;数组的第一行是表头。在导出的过程中&#xff0c;要能够确保避免出现中文乱…

二叉树(数据结构篇)

数据结构之二叉树 二叉树 概念&#xff1a; 二叉树(binary tree)是一颗每个节点都不能多于两个子节点的树&#xff0c;左边的子树称为左子树&#xff0c;右边的子树称为右子树 性质&#xff1a; 二叉树实际上是图&#xff0c;二叉树相对于树更常用。 平衡二叉树的深度要比…