本篇内容主要讲解“数据分析师怎么应对数据库取数后的离线分析”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“数据分析师怎么应对数据库取数后的离线分析”吧!
创新互联公司专注骨干网络服务器租用十年,服务更有保障!服务器租用,服务器机柜租赁 成都服务器租用,成都服务器托管,骨干网络带宽,享受低延迟,高速访问。灵活、实现低成本的共享或公网数据中心高速带宽的专属高性能服务器。因为缺乏好用工具的支持,数据分析人员的离线分析动作总是先由一个事先写好的复杂查询或经多步骤处理后临时表导出的数据,之后在 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)
集算器即装即用,应对上述问题非常得心应手。集算器也支持先将大数据保存成本地文件,然后读取这些类型已确定、已压缩的数据做高效计算,这样可以减轻数据库的负载,也能让本地计算效率更高。
到此,相信大家对“数据分析师怎么应对数据库取数后的离线分析”有了更深的了解,不妨来实际操作一番吧!这里是创新互联网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!