Qlik 是经典的商业智能分析软件,其家族拥有Qlik Sense等多款BI软件。它使您能够快速开发和交付交互式指导分析应用程序和仪表板。本文为您介绍Qlik Sense Desktop如何连接 Hologres并可视化分析数据。
使用限制
已知限制
-
Qlik Sense暂不支持同步PostgreSQL中外部表的表结构,因此无法在如下页面中查询到外部表元数据。

-
该限制不影响直接使用SQL语句查询,如下图所示。

Qilk暂不支持可视化显示Hologres的外部表,但是您可以在数据加载编辑器中通过SQL语句查询外部表并可视化分析。
Qlik Sense Desktop连接Hologres
-
安装Qlik Sense Desktop
安装Qlik Sense Desktop,详情请参见Qlik官方文档。
-
连接Hologres
-
打开Qlik Sense Desktop,在页面右上方单击创建新应用程序。

-
在创建新应用程序弹框,为应用程序命名后,单击创建。

-
在弹框中单击打开应用程序,在应用程序对应页面添加数据,单击从文件和其他源添加数据。

-
在弹框中选择PostgreSQL创建新的连接,配置参数信息。

参数
描述
Host name
Hologres实例的公共网络地址。进入Hologres管理控制台的实例详情页,从网络信息区域获取网络地址。
Port
Hologres的实例端口。进入Hologres管理控制台的实例详情页,从网络信息区域获取端口。
Database
Hologres创建的数据库名称。
User Name
当前阿里云账号的AccessKey ID。获取方式请参见创建访问密钥。
Password
当前阿里云账号的AccessKey Secret。获取方式请参见创建访问密钥。
-
单击测试连接,如果提示
Connection succeeded,则表示连接成功。您可以单击弹框右下角的创建,保存新的连接信息。
-
配置PostgreSQL数据连接。

-
选择目标Owner(即Hologres中的 schema),此处您可以选择public。
-
在Tables区域选择需要分析的表。
-
-
单击下方的添加数据,添加数据执行完毕后,Qlik Sense会将数据从Hologres导入Qlik Sense,您可以在Qilk查看Hologres中的数据。
说明使用该模式Qlik Sense会将数据全部加载到Qlik Sense的引擎中,并非根据页面操作实时发送查询到数据库。
-
-
配置Direct Query模式
在日常生产场景中,数据库会包含PB级数据,建议您在Qlik Sense中使用Direct Query模式,而不用将数据导入Qlik Sense,关于Direct Query模式的详细解释,请参见Qlik官方文档。
-
打开之前创建的应用,在页面上方选择。

-
在页面右侧显示数据源连接信息,单击右下方的
图标,将连接信息插入到编辑器中。
-
在脚本编辑器中查询脚本的最前方,输入
Direct Query,即可启用 Direct Query 模式。样例数据图示和脚本如下所示:
SET ThousandSep=','; SET DecimalSep='.'; SET MoneyThousandSep=','; SET MoneyDecimalSep='.'; SET MoneyFormat='¥#,##0.00;-¥#,##0.00'; SET TimeFormat='TTh:mm:ss'; SET DateFormat='YYYY/M/D'; SET TimestampFormat='YYYY/M/D TTh:mm:ss[.fff]'; SET FirstWeekDay=6; SET BrokenWeeks=1; SET ReferenceDay=0; SET FirstMonthOfYear=1; SET CollationLocale='zh-CN'; SET CreateSearchIndexOnReload=1; SET MonthNames='1月;2月;3月;4月;5月;6月;7月;8月;9月;10月;11月;12月'; SET LongMonthNames='一月;二月;三月;四月;五月;六月;七月;八月;九月;十月;十一月;十二月'; SET DayNames='周一;周二;周三;周四;周五;周六;周日'; SET LongDayNames='星期一;星期二;星期三;星期四;星期五;星期六;星期日'; SET NumericalAbbreviation='3:k;6:M;9:G;12:T;15:P;18:E;21:Z;24:Y;-3:m;-6:μ;-9:n;-12:p;-15:f;-18:a;-21:z;-24:y'; LIB CONNECT TO 'PostgreSQL_hgpostcn-cn-st21y8nlm007-cn-hangzhou.hologres.aliyuncs.com'; --输入 Direct Query,启用 Direct Query 模式 DIRECT QUERY dimension l_shipmode, l_shipdate, o_orderstatus measure l_tax, l_quantity FROM public.lineitem INNER JOIN public.orders ON public.lineitem.l_orderkey = public.orders.o_orderkey; -
单击窗口右上方的加载数据,Qlik Sense将发送即时查询。
-
在页面上方选择,开始创建可视化。

-
在编辑工作表页面,您可以在页面左侧单击图表,选择需要的图表类型创建可视化。
说明-
直接拖动字段到画布,Qlik Sense无法生成Direct Query的查询,因此建议您单击图表创建可视化。
-
鉴于Qlik Sense的处理逻辑,建议您先添加度量项,后添加维度项,以提高响应速度。

-
更多关于Qlik Sense对数据操作和分析的介绍,请参见Qlik官方文档。
-
使用自定义ODBC对接Hologres
如果需要在Qlik Sense的表向导模式中查询到外表,可以使用自定义ODBC的方式接对Hologres。
-
前提条件
-
在Qlik Sense服务器端和客户端都需安装PostgreSQL的ODBC,您可以通过PostgreSQL的官网下载ODBC驱动。
-
由于Hologres兼容PostgreSQL 11的生态,所以请务必安装Vpsqlodbc_11_01_0000以上的版本。
-
-
配置DNS
-
你可以单击,找到并打开ODBC 数据源(64位)管理工具。
-
切换至系统 DSN 选项卡,单击添加按钮。
-
在弹出的驱动器程序中选择 PostgreSQL Unicode(x64),然后单击完成按钮。
说明用户 DSN 只有特定的用户可以调用,而系统 DSN 对该系统的所有登录用户可用。如果用户需要在 Web BI Server 通过 ODBC 访问 Hologres,应使用系统 DSN。
-
在弹出的对话框中输入 Hologres 服务器信息,参数详细说明如下所示。

参数
描述
User Name
当前阿里云账号的AccessKey ID。您可以单击AccessKey 管理,获取AccessKey ID。
Password
当前阿里云账号的AccessKey Secret。您可以单击AccessKey 管理,获取AccessKey Secret。
Server
Hologres实例的公共网络地址。进入Hologres管理控制台的实例详情页,从网络信息区域获取公共网络地址。
Port
Hologres的实例端口。进入Hologres管理控制台的实例详情页,从网络信息区域获取端口。
Database
Hologres的数据库名称。
-
单击 Test 按钮,如显示如下页面,表示连接成功。

-
单击保存,保存该 DSN。

-
-
连接Hologres
配置完本地 DSN 并成功安装 Qlik Sense 后,可执行以下步骤来连接 Hologres 与 Qlik Sense。
-
打开 Qlik Sense Desktop 应用程序。单击从文件和其他源添加数据。
-
在弹出的窗口单击 ODBC,以创建新的连接。

-
从列表中选择此前创建的DSN,并填写名称。
-
单击创建,以保存新的连接信息。之后您可以选择Owner(即 Hologres 中的 schema),例如选择 public,使用该链接方式即可读取外部表的Schema。

-
您可以选择需要分析的表,单击添加数据, Qlik Sense 会从 Hologres 将数据导入 Qlik Sense,完成后您即可进行分析。

说明使用该模式 Qlik Sense 会将数据全部加载至 Qlik Sense 的引擎中,并非根据页面操作实时发送查询至数据库。
-













