ウィザードを使わないデータの取り込み

ウィザードを使わないデータの取り込み

Pocket

前回はウィザードを使ったアプリケーション作成をご紹介しました。
ウィザードを使えば、データの取り込みからチャート作成まで、ごく簡単な操作で実現できますが、ウィザードには2つ以上のファイルからデータを取り込めない、データベースからデータを取り込めないなどの制限があります。ここではウィザードを使用せずに、データを取り込んでみましょう。

QlikViewはExcel、CSV、データベースなど、複数のデータソースから簡単にデータを取り込み、それらを関連付けて使用できます。これはQlikViewの大きな特長の1つですので、ぜひウィザードを使わずに手動でデータをロードする方法を習得してください。
手動といっても、GUIの画面からマウス操作だけで簡単にデータを取り込めます。

ファイルのダウンロード
ロードスクリプトの編集画面の起動
CSVファイルのロード
Excelファイルのロード
リロード
データの確認
振り返り
最後に…

ファイルのダウンロード

ここでは以下のファイルを使用しますので、ダウンロードしてください。
area-state.zip

Zip形式ですので、ダウンロード後解凍してください。
地区.csvと都道府県.xlsが今回使用するデータです。
dataload-101
地区.csv
地区のデータが格納されたCSVファイルです。1行目が項目名(タイトル行)になっています。
dataload-102
都道府県.xls
都道府県のデータが格納されたExcelファイルです。おなじく1行目が項目名(タイトル行)になっています。
1つ目のシートにはごく簡単な説明が書かれています。
dataload-103
実際に取り込むデータは2つ目のシートに格納されています。
dataload-104


ロードスクリプトの編集画面の起動

ウィザードを使用せずにデータを取り込みます。
ここではまず、QlikViewを起動して、データを取り込むための[ロードスクリプトの編集]画面を起動するところまでやってみましょう。

QlikViewを起動してスタートページを表示します。
[ファイル]→[新規作成]を選択します。
dataload-201
ウィザードが起動します。
ここでは、ウィザードは使用しないため[キャンセル]ボタンを押してウィザードを終了します。
dataload-202
画面左下にある[ドキュメントの新規作成時にこのウィザードを使用する]のチェックをはずすと、新規作成時にウィザードが起動しなくなります。


空のドキュメントが表示されます。
本題からはずれますが、ウィザードの設定について確認しておきましょう。”新規作成時にウィザードを使用するかどうか”などの設定は、ユーザープロパティで設定できます。
[設定]→[ユーザープロパティ]を選択します。
dataload-205
[ユーザープロパティ]が開きます。
“新規作成時にウィザードを使用するかどうか”の設定は、下図のチェックボックスです。チェックをはずすとウィザードが起動しなくなります。
dataload-206
ウィザードを使わずにデータをロードするには、ツールバーの[ロードスクリプトの編集]ボタンをクリックします。
dataload-203
[ロードスクリプトの編集]ウィンドウが表示されます。
ロードスクリプトはQlikView独自のプログラミング言語で、データを取り込んだり加工したりするものです。
すべてコマンドで指定することもできますが、基本的な操作であればGUIで設定できます。

はじめから設定されている「SET」で始まる文は、環境設定のためのコマンドです。月や曜日、通貨記号の表示など、日本語特有の設定がされているのですが、当面気にする必要はありません。
間違って消さないように注意してください。また、通常「SET」の下に指定を追加していきますので、そのことも覚えておいてください。
dataload-204


CSVファイルのロード

地区のデータをCSVファイルから取り込んでみましょう。
ExcelやCSVなどのファイルからデータを取り込むには、画面右側の[テーブルファイル]ボタンを使用します。

ロードスクリプトで「SET」の下の行をクリックして、最下行にカーソルをあわせます。
この状態で画面右側の[テーブルファイル]ボタンをクリックします。
dataload301
「地区.csv」を選択します。
dataload302
QlikViewがファイルを読み込みます。
特に問題なければこれだけで終了なのですが、今回は1つ修正が必要です。
「地区.csv」では1行目が項目名(タイトル行)なのですが、そのことが認識されていません。
dataload303
※ただしく認識される場合もありますが、データによりますので必ず確認するようにしましょう。

1行目が項目名であることを明示するために、[列見出し]を[先頭行]に変更します。
dataload304
以上で設定は終了です。[終了]ボタンをクリックします。
dataload305
※[次へ]ボタンを押すと、データの絞り込みなどの詳細設定が可能です。しかし、単純にデータを全件取り込むだけであればここまでで終了です。

[ロードスクリプトの編集]画面に戻ります。
「地区.csv」からデータを取り込むための指定が追加されました。
dataload306


Excelファイルのロード

都道府県のデータをExcelファイルから取り込んでみましょう。
ロードスクリプトで一番下の行をクリックして、最下行にカーソルをあわせます。
この状態で画面右側の[テーブルファイル]ボタンをクリックします。
dataload-401
※ロードスクリプトは、そのときカーソルが当たっている位置に挿入されます。コマンドの途中などにカーソルが当たってないか注意してください。

「都道府県.xls」を選択します。
dataload-402
QlikViewがファイルを読み込みます。
今回も1つ修正が必要です。都道府県のデータはExcelの2つ目のシートに格納されていたことを思い出してください。
なお、ウィザードでは自動的に1シート目のデータが取り込まれるため、2シート目以降のデータを取り込むことはできません。
dataload-403
画面上部の[テーブル]から2つ目のシートをあらわす「Sheet2$」を選択します。
dataload-404
以上で設定は終了です。[終了]ボタンをクリックします。
dataload-405
[ロードスクリプトの編集]画面に戻ります。
「都道府県.xls」からデータを取り込むための指定が追加されました。
以上でロードスクリプトの設定はすべて終了です。画面下部の[OK]ボタンをクリックしてください。
dataload-406


リロード

以上で設定は完了なのですが、QlikViewを使う上で1つ覚えておいて欲しいポイントがあります。
それは、リロードを実行するまでデータは取り込まれないという点です。

たとえば、この段階でリストボックスを追加しようとしてみます。
ドキュメントの空白部分を右クリックして[リストボックスの追加]を選択しても、なにも項目が表示されません。
dataload-501dataload-502
リロードを実行するには、ツールバーの[リロード]ボタンをクリックします。
dataload-503
リロードをする前に、ファイルを保存する必要があります。
以下の画面で[OK]ボタンを押します。
dataload-504
任意のファイル名で保存します。
dataload-505
リロードが実行されると、リロードの進捗をあらわす以下の画面が表示されます。
ただし、今回はデータ量が少ないため、この画面が一瞬開いてすぐ閉じてしまうと思います。
dataload-506
データの取り込み自体は完了しているはずですが、今後のためにリロードの進捗画面がすぐに閉じないように、設定しておきましょう。
設定はユーザープロパティからおこないます。
[設定]→[ユーザープロパティ]を選択します。
[リロード終了後、ダイアログを自動的に閉じない]にチェックを入れます。
[OK]ボタンをクリックしてください。
dataload-507
再度リロードを実行してみましょう。
ツールバーの[リロード]ボタンをクリックします。
dataload-508
リロードが実行されます。こんどは進捗画面が開いたままになります。
この画面では取り込んだデータと、その件数を確認できます。
今回は地区のデータを8件、都道府県のデータを47件(47都道府県)取り込んでいます。
[閉じる]ボタンをクリックしてこの画面を閉じてください。
dataload-509


データの確認

リストボックスを作成して、データを確認してみましょう。
ドキュメントの空白部分を右クリックして[リストボックスの追加]を選択します。
dataload-601
「地区名」と「都道府県名」をダブルクリックして、右側の領域に追加します。
[OK]ボタンをクリックします。
dataload-602
リストボックスが追加されました。
ただしくデータが表示されていることが分かります。
dataload-603
地区と都道府県が連動することを確認します。
関東を選択すれば関東の1都6県が、近畿を選択すれば近畿の2府5県に絞り込まれます。
dataload-604dataload-605
地区と都道府県はもともと別ファイルのデータですが、データを取り込んだ時点でQlikViewが自動的に2つのデータを関連付けてくれます。
あまり目立たない部分ですが、これにより複数のデータソースからデータを取り込むのが非常に簡単になりますので、QlikViewの重要な特長の1つと言えるでしょう。

以上で今回のチュートリアルは終了です。


振り返り

ここではQlikViewのデータロードについてご覧いただきましたが、短いチュートリアルの中にいくつか重要なポイントがあったと思います。
  • 先頭行がタイトルの場合は、[列見出し]の指定に注意する。
  • Excelからどのシートを取り込むかは、[テーブル]の箇所で選択する。
  • ロードスクリプトを設定しただけでは、データは取り込まれない。
    データを取り込むにはリロードを実行する。
  • 複数のデータを取り込むと、QlikViewが自動的にデータ同士を関連付ける。

今回作成したロードスクリプトは以下のとおりです。
※前半の「SET」文は省略しています。
※このスクリプトをコピーして使用する場合は、ファイルのパスを環境にあわせて変更してください。
LOAD 地区番号, 
     地区名
FROM
[C:\Users\qlikview\Desktop\area-state\地区.csv]
(txt, codepage is 932, embedded labels, delimiter is ',', msq);

LOAD 都道府県番号, 
     都道府県名, 
     地区番号
FROM
[C:\Users\qlikview\Desktop\area-state\都道府県.xls]
(biff, embedded labels, table is [Sheet2$]);


最後に…

後半で述べましたが、QlikViewは複数のデータを自動的に関連付けます。この自動での関連付けがどのように実現されているかというと、非常に単純な話で、QlikViewは項目名が同じものを、同じ項目とみなして自動的に関連付けています。
そのため、項目名が適切でない場合は適宜修正する必要があります。(同じデータはかならず同じ項目名に、違うデータはかならず違う項目名にしなければなりません。)
ロードスクリプトで項目名を変更するには「as」というコマンドを使うのですが、詳細はまた後日別の記事にまとめようと思います。

また、テーブル名の変更方法や、データベースからデータを取り込む方法(今回はExcelとCSVの”ファイル”だけでした)についても、また別の記事で紹介する予定です。

お疲れ様でした。

追記 2013年7月25日 15:50

データベースからのデータの取り込みについて、記事を公開しました。こちらもぜひご覧ください。
データベースからのデータの取り込み

追記 2013年8月16日 17:00

データの関連付けについて、記事を公開しました。こちらもぜひご覧ください。
データの関連付け