美文网首页
数据分析师如何应对数据库取数后的离线分析

数据分析师如何应对数据库取数后的离线分析

作者: 心宇gxy | 来源:发表于2020-07-15 14:05 被阅读0次

因为缺乏好用工具的支持,数据分析人员的离线分析动作总是先由一个事先写好的复杂查询或经多步骤处理后临时表导出的数据,之后在 Excel 中用 vlookup(),过滤器等来完成,当数据更新或范围扩大后又要重新取数,重新在 Excel 中操作。如果能有一个桌面工具每次会实时读取单表数据,既能完成上述复杂查询和多步骤处理到临时表的计算,又能取代在 Excel 中的计算动作,免除重复劳动,将会是很多数据分析人员的福音。

如果你会写 SQL 或 VBA,非常在意获取数据后能够灵活的多次计算,而不是想用一个图形界面工具完成有限的计算,又不想花费很多时间去学习 Python,集算器或许是一个不错的选择。

比如,数据库里有以下 3 张表:

SQL Query 1 result: (T1)

Col1 Col2

A    1

B    2

Col1Col2 A1B2

Query 2 result: (T2)

Col3 Col4

1    #

2    *

Col3Col41#2*

Query 3 result: (T3)

Col5 

1   

3

Col513

需要对上面 T1,T2,T3 三张表,完成类似下面 SQL 的关联操作:

Select T1.col1,T2.col4

        from T1,T2

        where T1.col2=T2.col3

        and T1.col2 in (Select T3.col5 from T3)

SelectT1.col1,T2.col4fromT1,T2whereT1.col2=T2.col3andT1.col2in(SelectT3.col5fromT3)

结果是:

Col1  Col4

A    #

Col1Col4A#

如果数据量不大,直接内存计算,集算器 SPL 代码如下:

T1=DB.query("select Col1,Col2 from T1")

T2=DB.query("select Col3,Col4 from T2")

T3=DB.query("select Col5 from T3")

Result=T1.join@i(Col2,T2:Col3,Col1,Col4).select(T3.(Col5).contain(Col2)).new(Col1,Col4)

T1=DB.query("select Col1,Col2 from T1")

T2=DB.query("select Col3,Col4 from T2")

T3=DB.query("select Col5 from T3")

Result=T1.join@i(Col2,T2:Col3,Col1,Col4).select(T3.(Col5).contain(Col2)).new(Col1,Col4)

T1,T2,T3 也可以分别来自不同的数据库或者数据文件

如果数据量比较大,可以用集算器的游标,和数据库游标类似,代码如下:

CS1=DB.cursor("select Col1,Col2 from T1 orderby Col2")

CS2=DB.cursor("select Col3,Col4 from T2 orderby Col3")

S3=DB.query@i("select Col5 from T3")

Result=joinx(CS1,Col2;CS2,Col3).select(S3.contain(#1.Col2)).new(#1.Col1,#2.Col4).fetch()

CS1=DB.cursor("select Col1,Col2 from T1 orderby Col2")

CS2=DB.cursor("select Col3,Col4 from T2 orderby Col3")

S3=DB.query@i("select Col5 from T3")

Result=joinx(CS1,Col2;CS2,Col3).select(S3.contain(#1.Col2)).new(#1.Col1,#2.Col4).fetch()

如果想利用最终计算后的结果在 Excel 中做图表,导出到 Excel 也很方便

file("Result.xlsx").xlsexport(Result)

file("Result.xlsx").xlsexport(Result)

集算器即装即用,应对上述问题非常得心应手。集算器也支持先将大数据保存成本地文件,然后读取这些类型已确定、已压缩的数据做高效计算,这样可以减轻数据库的负载,也能让本地计算效率更高。

相关文章

  • 数据分析师如何应对数据库取数后的离线分析

    因为缺乏好用工具的支持,数据分析人员的离线分析动作总是先由一个事先写好的复杂查询或经多步骤处理后临时表导出的数据,...

  • 数据分析常用函数

    作为数据分析师,SQL是必备技能,因为数据分析第一步是从数据库中获取数据,而SQL是方便的取数工具。那如何学...

  • python--MySQL数据库读写

    数据分析师需要经常从数据库中取数据进行分析,MySQL数据库是较为常用的关系型数据库,python是目前火热的数据...

  • 【2020-06-16】sqlite3和sqlitebrowse

    SQL取数重要性 数据分析是数据科学家基础 SQL取数是数据分析基础 数据科学家、模型开发人员、数据分析师80%的...

  • 如何提高取数的效率

    所谓取数需求,就是业务团队根据业务需要,提出的希望分析师能从数据库中提取的数据内容。在一些业务快速发展的企业,数据...

  • 我所理解的互联网数据分析师

    本文目录: 数据分析师的工作内容数据分析师的能力要求数据分析与数据挖掘数据分析师的困境数据分析师的推荐资料总结 数...

  • 复盘:项目管理周贴士(八月中)

    1. 项目需要数据分析师取数,要什么样的数据需要有人定义口径,需要有人提供数据宽边,分析师会给出结论,结论肯定是需...

  • Presto数据分析学习笔记(1)

    一、前言 数据分析师在工作中会频道的接触数据库,因此写SQL成为了每一个数据分析师必须具备的能力。但是,市面上的数...

  • 一个取数工人的基本素养

    sql 大法好而且很重要 要做分析,首先要有数据。数据分析师要分析的数据一般来自于数据库(不管是业务库还是数仓中间...

  • 大数据技术简介

    数据采集技术 数据存储技术 离线数据分析技术 实时数据分析技术 数据可视化技术 数据采集技术 离线采集数据库数据s...

网友评论

      本文标题:数据分析师如何应对数据库取数后的离线分析

      本文链接:https://www.haomeiwen.com/subject/ahwdhktx.html