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 的引擎中,並非根據頁面操作即時發送查詢至資料庫。
-