近期一个SAP客户,计划使用Tableau搭建“轻开发”、“敏捷分析”的可视化分析平台,Tableau从众多产品中脱颖而出,特别是SAP Sac,赢得了客户的信赖。总结近期与此前一些客户遇到的类似问题,说明如下,帮助更多的Sap客户通过Tableau开展业务分析转型。

1、SAP的多租户管理

SAP HANA 1.0从SPS10开始就推出了多租户库,从SAP HANA 2.0 SPS01开始多租户成为了默认选项。有点类似于Tableau server支持一个服务器多个站点,站点之间相当于物理隔离,独立的项目、用户、群组、数据源和配置,从而可以满足统一组织内对同一个系统的差异化需求。

yua68znudc

借助 SAP HANA 多租户数据库容器,你能够统一管理多个数据库。尽管所有租户数据库都共用一个内存和处理器,但是这些数据库相互独立以确保安全性,并且每个数据库有自己的用户、目录、存储库、数据和日志文件以及服务。因此,通过为每个租户分配专有资源,你能优化数据库性能。此外,你还能一次性对所有数据库进行备份、打补丁和恢复,从而节约成本。——SAP
注意有时候默认的租户数据库不是我们想要的!因此就不能使用默认的端口30015,而应该切换到其他租户的端口上去,只需要在直连SAP HANA的连接中更改端口就好。

2、使用官方的直连驱动,而非ODBC

虽然可以用ODBC配置后连接SAP,但是这不是推荐的方法,SAP官方驱动中的HANA Client支持Tableau第三方认证连接,因此只需要按照SAP HANA的说明正确安装HANA Client,即可通过数据库HANA直连,而非ODBC方式。

即便是Linux服务器,依然有SAP官方的配置方案,从Linux的的SAP HANA 驱动中,找到ODBC的压缩包,解压后复制到指定的位置:/usr/sap/hdbclient/ 。

压缩包:SAP HANA CLIENT /Client/ODBC.tgz

然后,将以下部分追加到 /etc/odbcinst.ini 文件:
[HDBODBC]
Description = SAP HANA Driver
Driver = /usr/sap/hdbclient/libodbcHDB.so
FileUsage = 1

特别注意,使用Linux的vim编辑器时,默认会提示本文件只读不能更改,因此必须使用强制写入的方式,常见的vim命令是 “ :wq! ” 。

确认是否成功配置Linux驱动的方式是,发布一个desktop的HANA直连和工作表到Tableau server,然后在浏览器访问确认这个页面能否刷新即可。

 

3、SQL查询与Tableau连接相结合

SAP因为设计的原因,往往会在一个表中有几百个字段,我们想要提高性能,就需要做筛选,有几种推荐的方式:

  • 使用Desktop做分析,完成之后,使用“隐藏未使用的字段”统一隐藏,这样相当于一次性隐藏了所有字段,减少了desktop的查询过程。
  • 在建立连接时,世界插入SQL查询,而非先查询全表,然后在筛选,这个特别适用于Prep builder。特别是,英文的字符我们还想要同时更改为中文,可以直接在sql中使用as别名。

未命名图片.png

未命名图片2

用sql实现查询,用Tableau实现连接,这样可以在简单灵活和直观易用之间保持平衡。

4、日期字符串

有时候我们把一个做好的HANA连接发布到Tableau server供其他人访问,但是经常又受限于数据库不能数据类型,这时候要么把数据转化为提取,要么使用不依赖于提取的计算字段,比如dateparse函数。

使用dateparse函数,我们可以指定数据库的日期样式,比如 yyyyMMdd是系统的日期样式,新字段就改为了标准日期格式。

new date = dateparse(‘yyyyMMdd’, [date field] )

 

 

Jan 8, 2020