Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Qlik SenseではGUIでのウィザードベースの操作によるデータ追加や管理を行えますが、それに加えてロードスクリプトによる処理も可能です。実際のビジネスの現場では、分析する前に多岐に渡る複雑な変換処理が求められることが多いですが、ロードスクリプトによりそのような要求に対応することが出来ます。
ここでは、まずQlik Senseでのデータ管理のコンセプトをご紹介した上で、ロードスクリプトの基本をご説明したいと思います。
このエントリでは、「10分で試すQLIK SENSEでデータ分析」の手順に従って、Qlik Sense Business(SaaS版)の無料トライアルを開始、またはQlik Sense Desktopのインストールを行い、アプリの作成(「売上分析」アプリ)が完了していることを前提に作業を進めます。もし作業をまだ実施されていなければ、以下のリンク先の手順に従って作業を実施して下さい。
また今回、追加で「顧客マスタ.xlsx」のファイルを利用します。以下からダウンロードして下さい。
Qlik Senseでは、取り込むデータの管理方法としては大きく2つの方法があります。
GUIでのウィザードベースの操作でデータの追加などを行える管理方法です。技術に精通しないユーザーでも簡単にデータの取り込みなどを行うことができ、これまでのチュートリアルの作業で主に利用してきた方法となります。ファイルのドラッグ&ドロップによるデータの追加(クイックデータロード)もこの方法に含まれます。
「データマネージャー」へはナビゲーションバーの準備タブからアクセスすることが可能です。
以下の画面上でデータ追加のウィザードを呼び出したり、データの削除を行うことが可能です。
Qlik Senseでは複雑な変換処理などを実装できる強力なロードスクリプトが提供されています。ロードスクリプトはこの「データロードエディタ」で管理を行うことができます。
「データロードエディタ」はナビゲーションバーの準備タブから呼び出すことが可能です。
「データマネージャー」でデータが追加された場合には、それに対応するデータ追加のスクリプトが自動的に生成されます。これまで「データマネージャー」で行ったデータの取り込み、変換などの処理が、以下の形でスクリプトとして記述されていることが確認できます。
また、アプリ作成直後に以下の様なメニューが表示されていたかと思いますが、右側の「ファイルおよびその他のソース」が「データマネージャー」による管理、下段の「データロードエディタ」が「データロードエディタ」による管理をそれぞれ選択する形となります。「データカタログ」はクラウド版のみの機能で、ここからもデータの追加が行えます。
「データマネージャー」でデータが追加された場合には、「自動生成セクション」タブに対応するスクリプトが追加され、このタブはデータマネージャーの管理下に置かれます。この「自動生成セクション」はロックされ、編集が出来ない状態となっています。
これまでのチュートリアルでは別のタブを追加してスクリプトを追加しましたが、この「自動生成セクション」を編集しない限りでは「データマネージャー」と「データロードエディタ」の両方での管理を併存して行うことが可能です。
また、「自動生成セクション」のロックを解除して「データロードエディタ」上で編集を行うことも可能です。ただし、一旦ロックを解除するとデータマネージャーを使用してこの「自動生成セクション」に含まれていたデータの管理やこれらのデータに対するプロファイリングが出来なくなりますので注意が必要です。
ここでは、「自動生成セクション」のロック解除を行って編集をしていきたいと思います。「自動生成セクション」タブを選択し、「ロック解除」ボタンをクリックします。警告が表示されますので、再度「ロック解除」ボタンをクリックします。
ダウンロードした「顧客マスタ」を新たにクラウド上にアップロードして追加します。まず、「自動生成セクション」タブを開いて「商品マスタ」のロード文の最後尾を改行してカーソルを合わせます。
そして「データロードエディタ」右側の「データ接続」欄の DataFiles フォルダのテーブルアイコンをクリックします。
「ファイルを選択」画面の下部、「ここにファイルをドロップするか、ファイルをクリックして選択します。」欄に、「顧客マスタ」をドラッグアンドドロップします。
データがアップロードされました。
次に同じ画面で一覧から「顧客マスタ」を選択し「選択」をクリックします。
「スクリプトを挿入」をクリックします。
データロードのスクリプトが挿入されました。
追加されたスクリプトには先頭にLOAD文が含まれています。このLOAD文に変換処理を追加することで、FROM以下で定義されたファイルから取り込まれたデータに対してQlik Sense内で様々な変換処理を行うことが出来ます。
先ほど取り込んだ顧客マスタのデータ形式は以下の様になっています。
ここでは、このデータに対して以下の変換処理を行います。
これらの変換処理の実装後のスクリプトは以下になります。
顧客マスタ:
LOAD
SubField(顧客登録番号, '-', 2) AS 顧客コード,
氏名,
性別,
//生年月日,
年齢,
血液型
FROM [lib://DataFiles/顧客マスタ.xlsx]
(ooxml, embedded labels, table is 顧客マスタ);
ここでは以下の様な処理を行っています。
また、先頭に「顧客マスタ:」を追加していますが、これにより格納先のテーブル名を明示的に指定できます。(既定ではファイル名がテーブル名に設定されます。)
スクリプトの修正が完了したら右上の「データのロード」ボタンをクリックし、ロードを実行します。
ロードの完了後、「データモデルビューア」を開いて取り込まれたデータを確認します。以下の形で「顧客コード」で「売上明細」と自動的に関連付けがなされ、想定通りに変換されたデータが格納されていることがプレビューから確認できます。
ここまでロード文に変換処理を追加してきましたが、さらに先頭にロード文を追加し、下のロード文の出力データを入力として数珠つなぎでさらに変換処理を継続することができます。ここでは以下の変換処理をさらに追加したいと思います。
以下の赤字の部分が追加されたスクリプトになります。
顧客マスタ:
LOAD
*,
RowNo() AS 顧客連番,
顧客コード & '-' & 氏名 AS 顧客コード・氏名
;
LOAD
SubField(顧客登録番号, '-', 2) AS 顧客コード,
氏名,
性別,
//生年月日,
年齢,
血液型
FROM [lib://DataFiles/顧客マスタ.xlsx]
(ooxml, embedded labels, table is 顧客マスタ);
追加された部分では以下の様な処理を行っています。
再度ロード処理を実行します。実行後データを確認すると、以下の形で項目が追加されていることが確認できます。
Qlik Senseでは複雑な変換処理などを実装できる強力なロードスクリプトが提供されており、このエントリでは基本的なロードスクリプトの利用と変換処理の追加方法をご説明しました。
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.