Qlik は、定番のビジネスインテリジェンス (BI) 分析ソフトウェアです。そのプロダクトファミリーには、Qlik Sense などの複数の BI ツールが含まれており、インタラクティブなガイド付き分析アプリケーションやダッシュボードを迅速に開発・配信できます。この Topic では、Qlik Sense Desktop を Hologres に接続し、ご利用のデータに対して可視化分析を実行する方法について説明します。
制限事項
既知の制限事項
-
Qlik Sense は、PostgreSQL の外部テーブルのテーブルスキーマの同期をサポートしていません。そのため、次のページの外部テーブルのメタデータをクエリすることはできません。

-
この制限は、次の図に示すように、SQL 文を使用するクエリには影響しません。

Qlik は Hologres の外部テーブルの可視化をサポートしていません。ただし、SQL 文を使用して外部テーブルをクエリし、[データロードエディター] で可視化分析を実行することは可能です。
Qlik Sense Desktop から Hologres への接続
-
Qlik Sense Desktop のインストール
Qlik Sense Desktop をインストールします。詳細については、Qlik の公式ドキュメントをご参照ください。
-
Hologres への接続
-
Qlik Sense Desktop を開きます。ページの右上隅にある [新しいアプリの作成] をクリックします。

-
[新しいアプリの作成] ダイアログボックスで、アプリケーションの名前を入力し、Create をクリックします。

-
表示されたダイアログボックスで、[アプリを開く] をクリックします。アプリケーションページで、[ファイルおよびその他のソースからデータを追加] をクリックしてデータを追加します。

-
表示されたダイアログボックスで、PostgreSQL を選択して新しい接続を作成し、パラメーターを設定します。

パラメーター
説明
ホスト名
Hologres インスタンスのパブリックエンドポイント。Hologres コンソールでインスタンス詳細ページに移動し、Network Information セクションからエンドポイントを取得します。
ポート
Hologres インスタンスのポート番号。Hologres コンソールでインスタンス詳細ページに移動し、Network Information セクションからポート番号を取得します。
データベース
Hologres で作成したデータベースの名前。
ユーザー名
ご利用の Alibaba Cloud アカウントの AccessKey ID。AccessKey ID の取得方法の詳細については、「AccessKey ペアの作成」をご参照ください。
パスワード
ご利用の Alibaba Cloud アカウントの AccessKey Secret。AccessKey Secret の取得方法の詳細については、「AccessKey ペアの作成」をご参照ください。
-
[接続のテスト] をクリックします。メッセージ
Connection succeededが表示されたら、接続は成功です。ダイアログボックスの右下隅にある Create をクリックして、新しい接続情報を保存します。
-
PostgreSQL データ接続を設定します。

-
ターゲットの Owner (Hologres のスキーマ) を選択します。この例では、public を選択します。
-
Tables エリアで、分析したいテーブルを選択します。
-
-
下部にある [データの追加] をクリックします。データが追加されると、Qlik Sense は Hologres からデータをインポートします。その後、Qlik で Hologres のデータを表示できます。
説明このモードでは、Qlik Sense はページ操作に基づいてデータベースにリアルタイムクエリを送信するのではなく、すべてのデータをエンジンにロードします。
-
-
Direct Query モードの設定
本番シナリオでは、データベースにペタバイト (PB) 単位のデータが含まれることがあります。データをインポートする代わりに、Qlik Sense の Direct Query モードを使用することを推奨します。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='Jan;Feb;Mar;Apr;May;Jun;Jul;Aug;Sep;Oct;Nov;Dec'; SET LongMonthNames='January;February;March;April;May;June;July;August;September;October;November;December'; SET DayNames='Mon;Tue;Wed;Thu;Fri;Sat;Sun'; SET LongDayNames='Monday;Tuesday;Wednesday;Thursday;Friday;Saturday;Sunday'; 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 は即時クエリを送信します。
-
ページ上部で、 を選択して、可視化の作成を開始します。

-
シートの編集ページで、左側の Charts をクリックしてチャートの種類を選択し、可視化を作成します。
説明-
フィールドをキャンバスに直接ドラッグすると、Qlik Sense は Direct Query クエリを生成できません。そのため、Charts をクリックして可視化を作成してください。
-
Qlik Sense の処理ロジックにより、応答速度を向上させるには、ディメンションを追加する前にメジャーを追加してください。

-
Qlik Sense でのデータ操作と分析の詳細については、Qlik の公式ドキュメントをご参照ください。
-
カスタム ODBC 接続を使用した Hologres への接続
Qlik Sense のテーブルウィザードで外部テーブルをクエリするには、カスタム Open Database Connectivity (ODBC) 接続を使用して Hologres に接続します。
-
前提条件
-
PostgreSQL ODBC ドライバーは、Qlik Sense サーバーとクライアントの両方にインストールする必要があります。ODBC ドライバーは、PostgreSQL の公式 Web サイトからダウンロードできます。
-
Hologres は PostgreSQL 11 のエコシステムと互換性があるため、psqlODBC 11.01.0000 以降のバージョンをインストールしてください。
-
-
DNS の設定
-
を選択し、[ODBC データソース (64 ビット)] ツールを見つけて開きます。
-
[システム DSN] タブに切り替え、Add ボタンをクリックします。
-
表示されたダイアログボックスで、ドライバーのリストから [PostgreSQL Unicode(x64)] を選択し、Complete ボタンをクリックします。
説明ユーザー DSN は特定のユーザーのみが使用できますが、システム DSN はシステムにログインするすべてのユーザーが利用できます。ユーザーが Web BI サーバー上の ODBC を介して Hologres にアクセスする必要がある場合は、システム DSN を使用する必要があります。
-
表示されたダイアログボックスで、Hologres サーバーの情報を入力します。次の表にパラメーターを示します。

パラメーター
説明
ユーザー名
ご利用の Alibaba Cloud アカウントの AccessKey ID。[AccessKey 管理] ページに移動して AccessKey ID を取得します。
パスワード
ご利用の Alibaba Cloud アカウントの AccessKey Secret。[AccessKey 管理] ページに移動して AccessKey Secret を取得します。
サーバー
Hologres インスタンスのパブリックエンドポイント。Hologres コンソールでインスタンス詳細ページに移動し、[ネットワーク情報] セクションからパブリックエンドポイントを取得します。
ポート
Hologres インスタンスのポート番号。Hologres コンソールでインスタンス詳細ページに移動し、Network Information セクションからポート番号を取得します。
データベース
Hologres のデータベースの名前。
-
[テスト] ボタンをクリックします。次の図に示すページが表示された場合、接続は成功です。

-
保存 をクリックして DSN を保存します。

-
-
Hologres への接続
ローカル DSN を設定し、Qlik Sense をインストールした後、次の手順を実行して Hologres と Qlik Sense を接続します。
-
Qlik Sense Desktop アプリケーションを開きます。[ファイルおよびその他のソースからデータを追加] をクリックします。
-
表示されたウィンドウで、[ODBC] をクリックして新しい接続を作成します。

-
リストから作成した DSN を選択し、名前を入力します。
-
Create をクリックして、新しい接続情報を保存します。その後、Owner (Hologres のスキーマ) を選択できます。たとえば、public を選択します。この接続メソッドを使用すると、外部テーブルのスキーマを読み取ることができます。

-
分析したいテーブルを選択し、[データの追加] をクリックします。Qlik Sense は Hologres からデータをインポートします。インポートが完了したら、分析を開始できます。

説明このモードでは、Qlik Sense はページ操作に基づいてデータベースにリアルタイムクエリを送信するのではなく、すべてのデータをエンジンにロードします。
-