温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

数据分析师怎么应对数据库取数后的离线分析

发布时间:2021-12-02 10:23:14 来源:亿速云 阅读:147 作者:iii 栏目:互联网科技

本篇内容主要讲解“数据分析师怎么应对数据库取数后的离线分析”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“数据分析师怎么应对数据库取数后的离线分析”吧!

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

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

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

SQL Query 1 result: (T1)

Col1 Col2 
A    1
B    2

Query 2 result: (T2)

Col3 Col4 
1    #
2    *

Query 3 result: (T3)

Col5   
1     
3

需要对上面 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)

结果是:

Col1  Col4
A    #

如果数据量不大,直接内存计算,集算器 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,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()

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

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

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

到此,相信大家对“数据分析师怎么应对数据库取数后的离线分析”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI