Qlik SenseからのWebサービスの呼び出し
QlikViewからのWebサービスの呼び出しもご覧ください。
このガイドは、Qlik Senseの環境からRapidMiner AI HubのWebサービスの設定方法と呼び出し方法について説明します。
1.Qlik Senseを開き、Create new appをクリックします。ポップアップ画面で名前を設定し、Createをクリックし、アプリを作成します。
2.ポップアップ画面でOpen Appボタンをクリックします。
3.左側にあるNavigationボタンをクリックし、Data load editorメニューを選択します。
4.Data load editorでは、Create new connectionをクリックし、Web fileを選択します。URLと名前を設定します。
注意:webサービスが認証を必要とする場合は、このように(http://username:password@web-service-url)URLがユーザーの認証情報を含むように設定する必要があります。
例: http://admin:pass123@dev.rapidminer.com:8080/api/rest/process/QlikSenseService?
5.右側にあるデータセットをクリックして選択します。接続を分析すると、プレビューが表示されます。File typeにHtmlを選択し、(データに基づいた)適切なField namesとCharacter setを選択します。Field namesを選択・非選択してQlik Senseに列名を探す場所を伝えます。最初の行が列の名前を含んでいるなら、Embedded field names設定が選択されるはずです。データが列名を含んでない場合は、No field namesが選択されるはずです。RapidMinerは常に最初の行に列名を送信します。そのため、Embedded Labelsが使用すべき設定です。
6.Insert scriptを押すと、メインデータマネジメントページにスクリプトが置かれます。Qlik Senseは自動的にデータロードスクリプトを作成します。
7.右側にData load button is clickedが表示されたら、Qlik SenseはRapidMinerのwebサービスを呼び出し、RapidMiner AI Hubはwebサービスの後ろにあるプロセスを実行します。プロセスの複雑さやデータ量によっては、このステップに時間がかかる場合があります。RapidMiner AI Hubがプロセスを実行し、Qlik Senseが全てのデータを受け取れば、新しい画面が開きます。
8.データがQlik Sense内にあり、すぐに使えるようになっています。再びNavigationボタンをクリックし、App overviewを選択します。ここでは、新しいシートを追加し、ダッシュボードを作成できます。
9.今、二つのツールが接続され、RapidMiner AI HubからQlik Senseへデータが送信され、ダッシュボードの作成に使用できるようになりました。また、左側のNavigationボタンからData load editorメニューを選択することで、オンデマンドでデータを更新することができます。エディタが開けば、右上にあるLoad Dataをクリックします。データがリロードされると、スクリプトは再びRapidMinerのwebサービスを呼び出し、新しいデータを受け取ります。
パラメータ化されたWebサービスの呼び出し
URLのクエリパラメータを受け取るようRapidMiner AI Hubのwebサービスを設定することが可能です。Qlik Senseはパラメータ化されたwebサービスを呼び出す二つの方法を提供しています。
これらの機能を利用するには、Qlik Senseでいくつか初期設定を行う必要があります。
Qlik Senseの設定
動的なパラメータを用いて外部のwebサービスを呼び出すには、Qlik Senseでデータロードスクリプトのlib referenceを実際のURLと置換し、二つのエクステンションをインストールする必要があります。
URLリファレンスの使用
デフォルトでは、Qlik Senseはデータ接続が設定されたURLをデータロードスクリプトのlib referenceに置換します。
この動きを変更するには、Settings.iniファイルを変更し、Legacy Modeを有効にする必要があります。これはStandardReload変数の値を0に設定することで行われます。 Settings.iniファイルは通常、二つの場所にあります。
- C:\Users\{user-name}\Documents\Qlik\Sense
- C:\Users\{user-name}\AppData\Local\Programs\Qlik\Sense\
ファイルが両方の場所にある場合は、それぞれの場所で更新する必要があります。
Qlik Senseのエクステンション
Qlik Senseのエクステンションは、C:\Users\{user-name}\Documents\Qlik\Sense\ExtensionsフォルダにコピーすることでQlik Senseに追加されます。このガイドでインストールする必要があるエクステンションは以下です。
- Variable extension: https://github.com/erikwett/qsVariable
- Sense Navigation: https://github.com/stefanwalther/sense-navigation
- Reload Button (Optional): https://github.com/mhamano/Qlik-Sense-Reload-Button
データロードスクリプトの使用
パラメータはwebサービスのURLから渡されます。パラメータを通すには、データロードスクリプトを編集する必要があります。
1.NavigationメニューからData load editorページを開きます。
2.Edit Connectionオプションをクリックするか、URLを直接スクリプトへコピーし、“lib://“文を書き換え、スクリプトを編集して、webサービスのURLを設定し、URLにパラメータを追加します。
角括弧内のURLを追加してください。もしそれらを削除すると、データロードスクリプトが失敗します。
パラメータはwebサービスのURLの終わりにクエスチョンマーク(?)を付けて追加されます。
構文: http://username:password@web-service-url?param-name=value
例: http://admin:pass123@dev.rapidminer.com:8080/api/rest/process/QlikService?p0=1
3.CTRL + Sを押すか、File > Saveよりスクリプトを保存できます。
4.Load Dataを押すと、スクリプトをリロードします。
Qlik Sense変数の使用
Qlik Sense変数をパラメータとしてRapidMinerのwebサービスへ渡すには、変数はQlik Sense内で定義され、データロードスクリプトがそれらを使用するよう設定する必要があります。
1.Qlik Sense変数を作成するには、ダッシュボードのシート上でEditに行き、左下にあるVariablesボタンを選択します。以下の画面が表示されます。
2.Create newボタンをクリックし、設定して右上にあるsaveボタンをクリックします。
3.新しい変数がVariables画面に表示されます。
4.Qlik Senseのダッシュボード上に新しいVariableオブジェクトを作成します(または既存のものを使用します)。VariableエクステンションがQlik Senseにインストールされていれば、オブジェクトは作成可能です。
5.オブジェクトを選択すると、右側にAppearanceパネルがあります
6.Variableメニューで変数の名前やスタイルなどを設定します。
7.値を追加するには、Add Alternativeをクリックし、値と使用したいラベルを追加します。
8.ダッシュボード上にSheet Navigation & Actionオブジェクトを作成します。Sense NavigationエクステンションがQlik Senseにインストールされていれば、オブジェクトは作成可能です。
9.右側のプロパティ画面にあるActionsメニューで、Actions before Navigationオプションを有効にします。
10.First ActionのドロップダウンリストからSet Variable Valueを選択し、Variable Nameを追加します。
11.左側のNavigationボタンをクリックし、Data load editorメニューを選択します。
12.webサービスのURLを設定し、URLにパラメータを追加します。パラメータはwebサービスのURLの終わりにクエスチョンマーク(?)を付けて追加されます。
パラメータはwebサービスのURLの終わりにクエスチョンマーク(?)を付けて追加されます。
URLの構文: http://username:password@web-service-url?param-name=value
Qlik Sense variables can be referenced with the following syntax: $(variable-name)
例: http://admin:pass123@dev.rapidminer.com:8080/api/rest/process/QlikSenseService?p0=$(Variable1)
13.CTRL + Sを押すか、Saveボタンよりスクリプトを保存できます。
14.Load Dataボタンを押すと、スクリプトをリロードします。
15.パラメータの値と変数の値が等しい状態でデータはリロードされます。
16.また、ダッシュボードに直接Reloadボタンを追加でき、ユーザーはより簡単にデータの読み込みができるようになります。
17.Qlik Sense Reload Buttonエクステンションを適切なディレクトリ(Documents/Qlik/Sense/Extensions)に追加した後、Reload Btnオブジェクトをダッシュボードに追加します。