Alteryx ServerのData Connectionを入力ソースとして利用する
こんにちは、小澤です。
Alteryx Serverの管理者機能紹介(Data Connection管理編)にて、ユーザやStudioごとに共有して使えるデータソースの設定ができることを解説しました。 今回はそれを利用したWorkflowの作り方を紹介したいと思います。
準備
RDB環境
まず最初に準備として、Microsoft SQL Serverの立ち上げと、Alteryx Serverからの設定を行っておきます。 今回は動作確認環境として、RDSのSQL Server Express Editionを利用し、 エンジンのバージョンはSQL Server 2016 13.0.2164.0.v1を選択しています。 ドライバなどはバージョンによって異なる場合があると思いますので適宜必要なものに置き換えてください。
データの投入
今回もiris datasetを利用します。 SQL Server Management Studioを利用して、データベース、スキーマ、テーブルの作成を行いirisのcsvファイルをインポートしました。
以下はテーブル定義とインポートしたデータの一部です。
Alteryx Serverの設定
次にAlteryx ServerのData Connectionから接続できる状態にします。
まず、Alteryx Serverが動作している環境にMicrosoft SQL Server 2012 Native Client - QFE をインストールします。
次にAlteryx Serverの管理者画面の「Data Connection」から接続の設定を行います。 「TEST CONNECTION」を押して接続できるていることが確認できればOKです。
Designerから接続設定
Alteryx DesignerからGalleryへ接続するための設定をします。
メニューのFileから、 Open Workflow > Add a Gallery または、 Save As > Add a Gallery でAlteryx Serverへの接続の設定を行います。
Alteryx Serverの接続先(http://<server hostname>/gallery/)とGalleryで作成したユーザで接続の設定を行います。
設定ができたら、 Options > Advanced Option > Manage Data Connections にAlteryx Serverへの接続情報があるか確認します。
Workflowからデータの取得
Workflowでデータを取得するにはBrowse Toolの入力として Saved Data Connections > My Company's Gallery > alteryx(Gallery) を選択します。
※ 「My Company's Gallery」および、「alteryx(Gallery)」はAlteryx Server上でのタイトル設定およびDesignerでの接続先の設定によって異なっている場合があります
選択すると下のような画面が表示されるので、ここでSQLを記述するなどして必要なデータを取得します。
Workflowを実行した際、データソースへアクセスする権限が与えられている場合は実行でき、与えられていない場合は失敗します。
Data Connectionの使いどころ
Data Connectionを利用することで、社内のデータを一元管理することができます。 これによって、Alteryxを利用した分析が誰でも行えるようになるとともに、結果の再現性も担保しやすくなるでしょう。 また、データは日々蓄積されていくものですので、Alteryx Serverのスケジュール実行と併せて利用するのもいいかもしれません。
また、データソースに権限を与えた人のみアクセスできるようにしたいといった場合にも、RDB上での各テーブルなどに対するアクセス権を持ったユーザと、AlteryxでのユーザをこのData Connectionで対応付けて、「このデータは誰が見れて誰は見れない」といった設定も可能になります。
これは、RDB上にデータの性質によってREAD権限をどこまで持つかを分けたユーザを用意しておき、 Alteryxではそれらに対して複数のData Connectionを用意しておきます。 AlteryxのユーザはどのData Connectionを利用できるかによって、どのデータに可能かが決定します。
終わりに
今回はAlteryx ServerのData Connectionを実際に利用する方法を解説しました。 Alteryxを利用した分析において、「データの民主化(参考:データを一箇所に集めることでデータ活用の民主化が進んだ話」 も実現できます。