tableau prep处理数据简介

2023-11-05 02:00

本文主要是介绍tableau prep处理数据简介,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、何时使用Tableau Prep

可以说,Tableau Desktop中的数据整理功能,Prep全部都能完成,而且往往效果会更好;反之则不行。在以下的情形下,推荐优先甚至只能使用Tableau Prep整理:

1、数据整理过程,需要对数据做深度处理,比如非常多的错误值需要清理,大量的0值或者null需要排除——关键是,所需要清理的数据量非常大时。

这些功能desktop亦能完成,但是Prep更有效率,可以避免大量的清理运算对desktop可视化造成的性能压力,体现到Server端就是提高了数据访问者的流畅性。昨天在客户那里,500M的Excel表格,12列转置后相当于增加了11倍数据,然后清除0值,输出的hyper文件却只有80M,输出耗时大约5分钟。如果同样的操作放在desktop中完成,再发布到Server中提供共享访问,因为数据清理所带来的时间浪费,随着访问用户的增加,可以理解为是倍数级别的。

谨记:从效率和性能方面看,区分数据整理和数据可视化两个环节,几乎总是有意义的。

2、为了提高可视化的性能,需要大幅度调整数据源的聚合级别并选择部分数据字段

在这里,Prep担当了搭建临时的数据仓库(或者理解为数据缓存)的作用。我们知道数据是有详细级别的,不是每次数据聚合(比如过去各月各区域贡献的销售额)都要从最细的数据粒度来计算求和,这样会影响数据加载和分析性能。

比如我们要做零售终端的贡献分析,我们的很多报表都可以从一个临时表来生成——各零售终端在每个月在每个商品的贡献,我们可以把这个详细级别标记为:终端*月份*商品。为此,我们可以使用prep的聚合功能,提前创建一个临时聚合表,把最细的数据详细级别数据(比如:终端*精确时间*商品*批次*会员)提前聚合到想要的级别(精确时间——> 月份,不保留会员和批次信息)。这样每个月的数据量很可能压缩到之前的1/10,并且可以删除不用的无关字段,这样的数据会非常显著地提高数据可视化过程中的效率。

3、涉及到多次数据连接,并且是在不同阶段做数据连接

数据联结是数据整理必备的技能,简单的联结可以直接在desktop中完成,但是如果要多个数据源多次联结,特别是在一个数据源整理的不同阶段做联结,desktop就束手无策了,这正是Prep大放光彩的时刻。

Prep在此方面有几个地方绝对让人过目不让:

  • 直观查看连接结果,包括各部分的连接记录数和连接明细;并可基于结果立刻整理;
  • 通过拖拽轻松实现多次连接,更有效率。
  • 连接和整理过程通过流程保存,过程可以重复使用。

4、需要使用行转列功能,或者列转行两次及以上(嵌套表头)

数据整理阶段总会遇到很多不符合“数据库范式”的数据,这需要结构上的整理,比如把很多的列转为行显示——特别是所谓的“宽表”,经常用一列代表一个月份或者一个同类的主题。

而在少数情况下,我们还需要行转为列——主要是报表展示的需要。Desktop在数据源的层面仅能执行一次列转行操作,而多次转置和行转列是Prep独有的功能,加上Prep可以在一个流程的多个地方执行转置,在转置方面就更加强大。

二、如何优雅的使用Tableau Prep

作为Prep最早的一批粉丝和深度用户,说明一下几个关键点。

1、 把筛选操作尽可能提前

在任何时候,减少数据的大小都是有意义的。在新版本的Tableau Prep中,进一步增加了“数据筛选”的功能,可以直接通过计算字段保留数据,或者通过多选轻松清除数据。(Tableau Prep Builder 2019.2.3超级棒新功能 )

不过这里提供一个预防性的建议:尽可能不要在数据源的层面隐藏数据字段,而是放到下一次清理环节中使用“移除”字段来代替。为什么呢?我和我的客户都遇到过类似的情境:可能是bug或者数据源支持的问题,当你的数据源字段增加时,Prep往往不能自动加入这些新字段,相当于只在原来的框架中增量更新,不会自动扩展字段的多少。这种情况下,刷新数据源无效果,只能重建数据源连接,重建的代价就是第一个环节的设置会消失,此前手动隐藏的字段就会重现天日,不得不重新点击一遍。

2、多使用数据聚合,分层看需求,分层准备数据,养成建立数据仓库的习惯

数据聚合是提高性能的核心操作,养成根据分析需要建立数据仓库的概念,会帮助分析师理清数据的层次性、提高可视化过程的效率、减少可视化过程中的复杂运算(LODs)。这也是tableau Prep数据整理的核心落脚点。

“数据是有层次性的”,每个层次代表的是一种视角、一种高度和一种业务场景。数据可视化帮助我们建立全览视角,数据聚合帮助我们从数据层面清晰化。完美搭配~

3、建议:每个流程只做一种操作及其相关操作

虽然Tableau倡导“在任何步骤中应用清理操作”,但是我想同时给出的建议是“不要滥用Tableau软件的易用性”,否则只会增加混乱。从设计的角度看,从使用的经验总结看,尽可能只在一个环节执行一种操作及其紧密关联的整理。比如数据转置环节,那就仅仅做转置和转置后的字段重命名;数据聚合环节,仅仅做数据聚合,除非是聚合的需要,不要在这个环节更改字段名称。

Prep的功能只有几大类:数据整理、数据连接Join、数据并集Union、数据聚合、数据转置,努力让每个环节都具有实质性的意义。

4、使用颜色和说明,记录流程,便于复盘

在prep中,有几个特别主要的指示牌:流程标题、说明和颜色。在数据连接、数据并集中,颜色是最好的指示牌,我们甚至不需要记住两侧数据的名字了。

这篇关于tableau prep处理数据简介的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

Python获取中国节假日数据记录入JSON文件

《Python获取中国节假日数据记录入JSON文件》项目系统内置的日历应用为了提升用户体验,特别设置了在调休日期显示“休”的UI图标功能,那么问题是这些调休数据从哪里来呢?我尝试一种更为智能的方法:P... 目录节假日数据获取存入jsON文件节假日数据读取封装完整代码项目系统内置的日历应用为了提升用户体验,

Python FastAPI+Celery+RabbitMQ实现分布式图片水印处理系统

《PythonFastAPI+Celery+RabbitMQ实现分布式图片水印处理系统》这篇文章主要为大家详细介绍了PythonFastAPI如何结合Celery以及RabbitMQ实现简单的分布式... 实现思路FastAPI 服务器Celery 任务队列RabbitMQ 作为消息代理定时任务处理完整

C#使用SQLite进行大数据量高效处理的代码示例

《C#使用SQLite进行大数据量高效处理的代码示例》在软件开发中,高效处理大数据量是一个常见且具有挑战性的任务,SQLite因其零配置、嵌入式、跨平台的特性,成为许多开发者的首选数据库,本文将深入探... 目录前言准备工作数据实体核心技术批量插入:从乌龟到猎豹的蜕变分页查询:加载百万数据异步处理:拒绝界面

Springboot处理跨域的实现方式(附Demo)

《Springboot处理跨域的实现方式(附Demo)》:本文主要介绍Springboot处理跨域的实现方式(附Demo),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不... 目录Springboot处理跨域的方式1. 基本知识2. @CrossOrigin3. 全局跨域设置4.

Java利用JSONPath操作JSON数据的技术指南

《Java利用JSONPath操作JSON数据的技术指南》JSONPath是一种强大的工具,用于查询和操作JSON数据,类似于SQL的语法,它为处理复杂的JSON数据结构提供了简单且高效... 目录1、简述2、什么是 jsONPath?3、Java 示例3.1 基本查询3.2 过滤查询3.3 递归搜索3.4

MySQL大表数据的分区与分库分表的实现

《MySQL大表数据的分区与分库分表的实现》数据库的分区和分库分表是两种常用的技术方案,本文主要介绍了MySQL大表数据的分区与分库分表的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有... 目录1. mysql大表数据的分区1.1 什么是分区?1.2 分区的类型1.3 分区的优点1.4 分

Mysql删除几亿条数据表中的部分数据的方法实现

《Mysql删除几亿条数据表中的部分数据的方法实现》在MySQL中删除一个大表中的数据时,需要特别注意操作的性能和对系统的影响,本文主要介绍了Mysql删除几亿条数据表中的部分数据的方法实现,具有一定... 目录1、需求2、方案1. 使用 DELETE 语句分批删除2. 使用 INPLACE ALTER T

python+opencv处理颜色之将目标颜色转换实例代码

《python+opencv处理颜色之将目标颜色转换实例代码》OpenCV是一个的跨平台计算机视觉库,可以运行在Linux、Windows和MacOS操作系统上,:本文主要介绍python+ope... 目录下面是代码+ 效果 + 解释转HSV: 关于颜色总是要转HSV的掩膜再标注总结 目标:将红色的部分滤

Python Dash框架在数据可视化仪表板中的应用与实践记录

《PythonDash框架在数据可视化仪表板中的应用与实践记录》Python的PlotlyDash库提供了一种简便且强大的方式来构建和展示互动式数据仪表板,本篇文章将深入探讨如何使用Dash设计一... 目录python Dash框架在数据可视化仪表板中的应用与实践1. 什么是Plotly Dash?1.1

Python实现自动化接收与处理手机验证码

《Python实现自动化接收与处理手机验证码》在移动互联网时代,短信验证码已成为身份验证、账号注册等环节的重要安全手段,本文将介绍如何利用Python实现验证码的自动接收,识别与转发,需要的可以参考下... 目录引言一、准备工作1.1 硬件与软件需求1.2 环境配置二、核心功能实现2.1 短信监听与获取2.