可能有点跑偏,但是使用工具就是没办法,会有更多的工具需要学习和使用,而且如果真的掌握哪怕只是一小部分的功能,使用起来会非常方便的。
Tableau连接Oracle数据库,如果不了解数据库的同学也没关系,只需要从管理数据的部门获得服务器地址、用户名、密码、服务名即可。
数据库连接好之后,可以进行指定表的数据提取了~
我个人是经常会用到先写sql语句汇总,再提取数据。
举一个例子,作为眼界本来很有限的人,我真的不想看着十几列表格,再想我要找的列到底是哪一列。如果我最开始导入表格的时候,只从数据库导指定的列呢?
Bingo!新自定义SQL可以轻松帮到你~
比如我的数据库的列名是日期,店名,商品号,商品名,销售额 , 销售数量 , 商品售卖标识,商品状态,商品价格,商品包装规格,库存状态,是否会员,会员号。
现在我只想看日期,店名,商品名,销售额,销售数量。
那我的SQL最简单的应该怎么写:
Select 日期,店名,商品名,销售额,销售数量
From 表名
即可。
如果只是需求短期的数据,可以先在SQL截断时间,比如只需要查看2018-6-30之前的数据,再增加一条语句即可。
Select 日期,店名,商品名,销售额,销售数量
From 表名
Where 日期<=to_date(‘2018-6-30’,’yyyy-mm-dd’)
很多同学其实是不需要明细数据的,我们可以先把数据汇总,这样就会节省空间。
Select 商品名,sum(销售额) 销售额,sum(销售数量) 销售数量
From 表名
Group by 商品名
Where 日期>=to_date(‘2018-6-30’,’yyyy-mm-dd’)
Order by sum(销售额) desc
连接其他数据库的同学sql写法可能会稍有不同,请注意调整~
所有语句只是简单的复制粘贴,等于在Tableau里增加了一个Oracle的查询窗口。
Tips:另外有可能遇到的一个BUG是,oracle从两个表查询同样的列名时,会自动重命名其中一列,但是tableau好像不支持这样的情况,会报错“未有明确定义”,发生这种情况后,只需要把查询列名的其中一个重命名即可。
试试吧~
更新的分割线
连接impala的话通过Cloudera/其他ODBC的选项就可以。
需要指导的同学可以留言,我可以晚点写一个详细的指引。