tableau 实战练习数据源分享_小白入行数据分析师3年-工作内容复盘分享含代码(二)-数据库及Tableau篇介绍...

前言

本文是对使用的数据库以及Tableau的内容进行介绍,方便学习者了解数据库方向有哪些内容是需要有所了解以及可以注意的,分享内容基于个人对这些技能的理解,如有错误请及时指出,我会立马改进。

数据库篇

数据库这边,我的公司使用了两种一个是mysql,另一个是redshift,两者有着不同的机制,对不同语句的支持效率也有区别,所以我会在分享的时候碰到不同的句子,也单独拿出来说一下。话说,现在在使用久了redshift之后,真是很喜欢它的高效率了。

  • 工具:Navicat,这是我使用最久的操作工具,有界面,使用起来也很方便,感觉做分析,直接抓重点,利用好已有的工具迅速开始学习重要部分是最好的。

1c8561782bcb523e56297e514be0b10e.png
公司隐私就不泄露了,大致操作界面如图
  • 常规增删改查语句:查询是最大的一部分内容,因为这个涉及到取出来的数据是否准确,而且只有取出数据才能谈更改插入,修改等。我的分享会更多涉及到查询中容易出现的一些问题,如何查询对自己的思路有所梳理,更容易清晰明白的取出需要的数据。列举一些我认为比较有用的语句:

redshift:

  1. 创建临时表语句
drop table if exists Table;
create table Table interleaved sortkey(columns) as ();

2.with语句

with t1 as (
select * from table)
select * from t1

3.窗口语句

sum(1) over (partition by columns1 order by columns2 desc rows unbounded preceding

4.查进程,杀进程

SELECTTRIM(pid) AS pid,TRIM(user_name) AS user_name,TRIM(db_name) AS db_name,(starttime + INTERVAL '8 HOUR') AS starttime,datediff(MINUTE,starttime,SYSDATE) AS run_second,TRIM(query) AS query
FROM stv_recents
WHERE status = 'Running'
ORDER BY user_name, run_second DESC;cancel pid;

5.exists:专门介绍这个是因为这个相比较于in和not in有很大提升

select name from t1 
where not exists (select name from t2 where t1.name=t2.name);

6.时间转换,时间差以及当前时间:对时间进行统计可以说是使用相当多了。

time1 + interval '8 hour'
datediff(day,time1,time2)
current_date

mysql:

1.创建排序

select 
(@i:=@i+1) number,
date(completed_at + interval 8 hour) dt,
sum()
from wms_packages wp,(select @i:=0) Num
order by 3 

2.查进程、杀进程:

show processlist;
kill pid;

3.时间转换,时间差以及当前时间:跟redshift的语句不同

time1 + interval 8 hour
timestampdiff(day, time1,time2) 或者 datediff(time1,time2)
now()
  • 表维护及优化语句:如何查看自己的sql执行效率,并对语句进行优化。优化方向可以从表的方向入手,也可以从语句入手,还可以从存储的数据库入手,由于不同数据库的机制不同,对不同语句的资源占用和效率有所不同。大致几种,建分区,分表,索引,改sql语句等。
  • 指标的定义查询方法:涉及到如何使用sql直接查询指标的部分,工作中也有过通过数据库中的表直接清洗数据,用到了正则匹配以及窗口函数,实现过程也比较有趣,会在之后的分享中给大家看下。

Tableau篇

Tableau是一个专注于做可视化的工具,图表展示,字体等都比较美观,而且可视化分析作为一种分析方法,是很有效率很直接的体现数据特征的一种方式,所以在对一些数据内容作判断的时候,我会先拿到tableau上尝试按照我的思路分析下,再根据图表去对代码中的参数进行修改。另外就是报表是需要业务方进行查看的,所以这个工具也是我们用来展示给业务方查看数据的平台,tableau支持的交互操作也是十分方便。

一些图表:

e24c9f64fe2801bffd786b4d0d5d9c1e.png
排名变化图

edff8dcf041e58bfc06cb0233b365195.png
盒须图

61e74d9b17e4182b25f4bd0912780595.png
差值图

aef62bd8954b80879626f6d6b29bdc11.png
内外集图

29597412adcac00c707d405934e6ec4d.png
空间分析图
  • 数据源连接:

1.包含数据源的实时,还是数据提取,实时在操作数据量较少的数据时足以满足需求,但遇到大数量的数据,每次更改图表,哪怕是改个筛选器,都要等很久,所以引用了数据提取方式,官方的介绍是在5亿以内的数据还是可以保证效率的。数据提取还涉及到数据刷新,刷新方式等。

2.tableau支持的数据源非常之多,可以直连数据库,也可以分析excel,另有tableau prep可以帮助进行数据清理,也是很好用的清理工具。

  • 需要了解的名词以及需要操作的:

1.基础:维度、度量、计算字段、参数、集、函数

了解以上内容就可以制作出基础的图来了。

2.中级:页面、工作表、看板、分析等。

了解中级内容后,可以作出仪表板,故事等有分析过程的内容,也可以对分析的数据做一个提前的分析,提供更多的分析思路,尤其是了解页面这个位置放置时间字段后,可以作出图表根据时间进行的动图,已经是可以发b站的水平了。

efa6917a9db729d19a1c326e1f4e66e6.png
使用参数的图

3.高级:lod表达式

include:include新增维度。

exclude:exclude是排除指定维度。

fix:fix是指定维度。

最重要的也是最难的部分,相当于tableau自己的一套计算函数,有点类似于数据库中的窗口函数,理解这个之后,就可以随心所欲的作出tableau的图了。

4.tableau的优化:

这里就主要针对于数据量大,加载慢的情况了,我这边主要做了数据处理,也会对加载的数据做参数字段筛选,当然还有很多其他方式可供选择。

  • 分析的图表及实现方式:其实tableau能实现的图表还是比较多的,也有很多高大上的作品在官方论坛里,但是作图不一定非要高大上,而是要合适,所以我们对一些图的具体使用场景都需要有所了解,所以我也会分享下我是如何选择图表的,而且也有一些图表的制作方法,比如桑基图的实现方式(说实话我更喜欢python的实现方法,简单高效哈哈哈)。

总结

  • 本文对我常使用的数据库以及tableau进行了简要介绍,也稍微说了下平常经常会用的部分,这些都会在我的分享中逐步都把详细过程介绍出来。
  • excel,linux以及git篇涉及到的部分实际上不是作为数据分析师的重点,只需要有所了解即可,所以我计划先将前三部分内容分享完之后,再看大家的意愿进行分享后面的部分。不过说实话,光python就有很多的内容可说了,所以先慢慢来吧。
  • 接下来我会先开始写python部分的知识分享,有感兴趣的同学可以持续关注哦。
  • 还是那句话,希望大家有什么意见和建议都私聊我,我会努力继续输出高质量的东西给大家。感恩~

相关链接:

https://zhuanlan.zhihu.com/p/156716425​zhuanlan.zhihu.com
https://zhuanlan.zhihu.com/p/157135461​zhuanlan.zhihu.com

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

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

相关文章

php隐藏webshell_PHP 安全的十个必备技巧

在这篇文章中,我将尝试为你提供一些可以提高 PHP 应用程序安全性的具体步骤。我关注的是 PHP 配置本身,所以我们不会讨论 SQL 注入、HTTPS 或其他与 PHP 无关的问题。我将使用我的 docker-entrypoint.sh 脚本中的 bash 行来说明示例,但当然你…

【转】WebSocket协议:5分钟从入门到精通

一、内容概览 由于WebSocket的出现,使得浏览器也具备了实时双向通信的能力。本文由浅入深,介绍了WebSocket建立连接、交换数据的细节,以及数据帧的格式。此外,还简要介绍了针对WebSocket的安全攻击,以及协议是如何抵御…

Qt填坑

Q_ASSERT里面不要放需要执行的语句,否则release下此语句不会被执行。父类中含Q_OBJECT,子类并不能使用信号槽机制,子类也需要加Q_OBJECT。QStringLiteral只能在Qt 5及以上版本中使用,低版本不支持。如果需要Qt 5及以上版本的代码放…

aop实现原理_Java:由浅入深揭开 AOP 实现原理

点击上方“Java专栏”,选择“置顶或者星标”第一时间阅读精彩文章!1、☞ 程序员进阶必备资源免费送「21种技术方向!」 点击查看☜2、☞ 《Java面试手册》.PDF 点击查看作者:马佩juejin.im/post/5bf4fc84f265da611b57f906概述&a…

Git学习资料

Git使用简易指南官方手册Git北京Git工作流

【转】C#进阶系列——WebApi 接口参数不再困惑:传参详解

阅读目录 一、get请求 1、基础类型参数2、实体作为参数3、数组作为参数4、“怪异”的get请求二、post请求 1、基础类型参数2、实体作为参数3、数组作为参数4、后台发送请求参数的传递三、put请求 1、基础类型参数2、实体作为参数3、数组作为参数四、delete请求五、总结正文 前…

python代码实例sicket_Python socket聊天脚本代码实例

这篇文章主要介绍了Python socket聊天脚本代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 没有前端,多开了一条线程用于接收信息。 服务器端: # -*- coding:utf-8 -*- import so…

【转】01Teams的前世今生

说到Teams,这到底是一个什么产品?有人说它是团队协作工具,有人说它是云视频系统,有人说它是Hub,还有人说它是微软有史以来发展最快的一个产品,还有人说它完全是一个高效办公神器。其实都是对的。 Teams集成…

编辑器推荐:Visual Studio Code(VSCode/VSC)

简介 Visual Studio Code(以下简称vscode),是微软的一款轻量且强大的编辑器,支持Windows,OS X和Linux。内置JavaScript、TypeScript和Node.js支持,而且拥有丰富的插件生态系统,可通过安装插件来…

oracle insert 当前时间_Oracle知识点总结

目录1、Oracle的安装与下载2、基础查询3、条件查询 1)对比运算符 2)逻辑运算符 3)模糊查询 4)排序4、函数 1)数值函数 2)字符函数 3)时间日期函数 4)转换函数 5)通用函数5、聚合函数6、分组查询在学习Oracle之前,需要先有一定的数据库基…

【转】C#各类控件的输入输出(思维导图、知识点分析、案例解析)

第六周学习笔记—C#各类控件的输入输出 1.思维导图 知识点汇总: 着重介绍几个常用控件: 数据显示控件 DataGridView控件 列设置 a)、列的宽度铺满这个控件 设置如下:把AutoSizeColumnsModeFill;//可以在属性窗口中设置 b)、列名居中 代…

Windows下创建软硬链接

定义 硬链接:只要文件本身或者任意一个硬链接存在,则文件始终存在。 软链接:只要源文件存在,则符号链接有效;源文件不存在,符号链接无效。软链接,用符号S表示,可以代表Soft&#x…

sqlserver连接字符串_10分钟使用EF Core连接MSSQL数据库

(给DotNet加星标,提升.Net技能)转自:Ron.liangcnblogs.com/viter/p/10243577.html前言在 .NET Core 2.2中Microsoft.AspNetCore.App 默认内置了EntityFramework Core 包,所以在使用过程中,我们无需再从NuGet仓库单独应用 EFCore 包…

【转】ADO.Net之SqlConnection、 Sqlcommand的应用学习心得(思维导图,知识解析,案例分析)

ADO.Net之SqlConnection、 Sqlcommand的应用 一、思维导图: ADO.NET与SQL连接: 二、知识点介绍: SqlConnection和Sqlcommand都是组成数据提供程序的类。 SqlConnection使用它来建立和数据库的连接,Sqlcommand使用它执行SQL命令…

进度类应用程序设计

任务管理 待续 进度实现设计 如常见的下载进度,上传进度。 以Qt为例,至少需要实现三个信号: sigTaskStarted(const struct TaskInfo &) sigTaskProgress(const struct TaskInfo &, int progress) sigTaskFinished(const struct T…

professional中文_Microsoft office 2007 简体中文版

点击蓝字 关注小白软件名称:Microsoft office 2007软件语言:简体中文软件大小:0.67GB安装环境:Win10/8/7下载链接:https://pan.baidu.com/s/1DybozQ-rn-t2s2EC7FrvFw 提取码:zoa0安装步骤1、解压安装包&…

【转】设计模式 ( 十七) 状态模式State(对象行为型)

设计模式 ( 十七) 状态模式State(对象行为型) 1.概述 在软件开发过程中,应用程序可能会根据不同的情况作出不同的处理。最直接的解决方案是将这些所有可能发生的情况全都考虑到。然后使用if... ellse语句来做状态判断来进行不同情况的处理。…

python操作hive数据库代码_Python连接Hive操作数据库

前言 客户端连接Hive需要使用HiveServer2。HiveServer2是HiveServer的重写版本,HiveServer不支持多个客户端的并发请求。当前HiveServer2是基于Thrift RPC实现的。它被设计用于为像JDBC、ODBC这样的开发API客户端提供更好的支持。Hive 0.11版本引入的HiveServer2。 …

【OSG学习】准备开发调试环境

环境 本人当前使用的环境是VS2013 Ultimate Update5 WIN10。 OSG编译安装 下载编译OSG源码不要克隆github上的源码,而是下载稳定版本的OSG源码进行编译。因为github上的源码处于开发阶段,我们应该优先选择稳定版本,我使用的是OpenSceneGr…

【转】多线程之有状态对象和无状态对象

有状态对象和无状态对象 参考:https://www.cnblogs.com/xubiao/p/6567349.html 一. 基本概念 1. 什么是有状态对象 有状态对象指的是有数据存储功能的类的对象。(就是类含有字段或属性,他的对象含有实例变量,可以保存数据&…