
ウィザードを使わないデータの取り込み
前回はウィザードを使ったアプリケーション作成をご紹介しました。
ウィザードを使えば、データの取り込みからチャート作成まで、ごく簡単な操作で実現できますが、ウィザードには2つ以上のファイルからデータを取り込めない、データベースからデータを取り込めないなどの制限があります。ここではウィザードを使用せずに、データを取り込んでみましょう。
QlikViewはExcel、CSV、データベースなど、複数のデータソースから簡単にデータを取り込み、それらを関連付けて使用できます。これはQlikViewの大きな特長の1つですので、ぜひウィザードを使わずに手動でデータをロードする方法を習得してください。
手動といっても、GUIの画面からマウス操作だけで簡単にデータを取り込めます。
ファイルのダウンロード
ロードスクリプトの編集画面の起動
CSVファイルのロード
Excelファイルのロード
リロード
データの確認
振り返り
最後に…
ファイルのダウンロード
ここでは以下のファイルを使用しますので、ダウンロードしてください。area-state.zip
Zip形式ですので、ダウンロード後解凍してください。
地区.csvと都道府県.xlsが今回使用するデータです。

地区.csv
地区のデータが格納されたCSVファイルです。1行目が項目名(タイトル行)になっています。

都道府県.xls
都道府県のデータが格納されたExcelファイルです。おなじく1行目が項目名(タイトル行)になっています。
1つ目のシートにはごく簡単な説明が書かれています。

実際に取り込むデータは2つ目のシートに格納されています。

ロードスクリプトの編集画面の起動
ウィザードを使用せずにデータを取り込みます。ここではまず、QlikViewを起動して、データを取り込むための[ロードスクリプトの編集]画面を起動するところまでやってみましょう。
QlikViewを起動してスタートページを表示します。
[ファイル]→[新規作成]を選択します。

ウィザードが起動します。
ここでは、ウィザードは使用しないため[キャンセル]ボタンを押してウィザードを終了します。

画面左下にある[ドキュメントの新規作成時にこのウィザードを使用する]のチェックをはずすと、新規作成時にウィザードが起動しなくなります。
空のドキュメントが表示されます。
本題からはずれますが、ウィザードの設定について確認しておきましょう。”新規作成時にウィザードを使用するかどうか”などの設定は、ユーザープロパティで設定できます。
[設定]→[ユーザープロパティ]を選択します。

[ユーザープロパティ]が開きます。
“新規作成時にウィザードを使用するかどうか”の設定は、下図のチェックボックスです。チェックをはずすとウィザードが起動しなくなります。

ウィザードを使わずにデータをロードするには、ツールバーの[ロードスクリプトの編集]ボタンをクリックします。

[ロードスクリプトの編集]ウィンドウが表示されます。
ロードスクリプトはQlikView独自のプログラミング言語で、データを取り込んだり加工したりするものです。
すべてコマンドで指定することもできますが、基本的な操作であればGUIで設定できます。
はじめから設定されている「SET」で始まる文は、環境設定のためのコマンドです。月や曜日、通貨記号の表示など、日本語特有の設定がされているのですが、当面気にする必要はありません。
間違って消さないように注意してください。また、通常「SET」の下に指定を追加していきますので、そのことも覚えておいてください。

CSVファイルのロード
地区のデータをCSVファイルから取り込んでみましょう。ExcelやCSVなどのファイルからデータを取り込むには、画面右側の[テーブルファイル]ボタンを使用します。
ロードスクリプトで「SET」の下の行をクリックして、最下行にカーソルをあわせます。
この状態で画面右側の[テーブルファイル]ボタンをクリックします。

「地区.csv」を選択します。

QlikViewがファイルを読み込みます。
特に問題なければこれだけで終了なのですが、今回は1つ修正が必要です。
「地区.csv」では1行目が項目名(タイトル行)なのですが、そのことが認識されていません。

※ただしく認識される場合もありますが、データによりますので必ず確認するようにしましょう。
1行目が項目名であることを明示するために、[列見出し]を[先頭行]に変更します。

以上で設定は終了です。[終了]ボタンをクリックします。

※[次へ]ボタンを押すと、データの絞り込みなどの詳細設定が可能です。しかし、単純にデータを全件取り込むだけであればここまでで終了です。
[ロードスクリプトの編集]画面に戻ります。
「地区.csv」からデータを取り込むための指定が追加されました。

Excelファイルのロード
都道府県のデータをExcelファイルから取り込んでみましょう。ロードスクリプトで一番下の行をクリックして、最下行にカーソルをあわせます。
この状態で画面右側の[テーブルファイル]ボタンをクリックします。

※ロードスクリプトは、そのときカーソルが当たっている位置に挿入されます。コマンドの途中などにカーソルが当たってないか注意してください。
「都道府県.xls」を選択します。

QlikViewがファイルを読み込みます。
今回も1つ修正が必要です。都道府県のデータはExcelの2つ目のシートに格納されていたことを思い出してください。
なお、ウィザードでは自動的に1シート目のデータが取り込まれるため、2シート目以降のデータを取り込むことはできません。

画面上部の[テーブル]から2つ目のシートをあらわす「Sheet2$」を選択します。

以上で設定は終了です。[終了]ボタンをクリックします。

[ロードスクリプトの編集]画面に戻ります。
「都道府県.xls」からデータを取り込むための指定が追加されました。
以上でロードスクリプトの設定はすべて終了です。画面下部の[OK]ボタンをクリックしてください。

リロード
以上で設定は完了なのですが、QlikViewを使う上で1つ覚えておいて欲しいポイントがあります。それは、リロードを実行するまでデータは取り込まれないという点です。
たとえば、この段階でリストボックスを追加しようとしてみます。
ドキュメントの空白部分を右クリックして[リストボックスの追加]を選択しても、なにも項目が表示されません。


リロードを実行するには、ツールバーの[リロード]ボタンをクリックします。

リロードをする前に、ファイルを保存する必要があります。
以下の画面で[OK]ボタンを押します。

任意のファイル名で保存します。

リロードが実行されると、リロードの進捗をあらわす以下の画面が表示されます。
ただし、今回はデータ量が少ないため、この画面が一瞬開いてすぐ閉じてしまうと思います。

データの取り込み自体は完了しているはずですが、今後のためにリロードの進捗画面がすぐに閉じないように、設定しておきましょう。
設定はユーザープロパティからおこないます。
[設定]→[ユーザープロパティ]を選択します。
[リロード終了後、ダイアログを自動的に閉じない]にチェックを入れます。
[OK]ボタンをクリックしてください。

再度リロードを実行してみましょう。
ツールバーの[リロード]ボタンをクリックします。

リロードが実行されます。こんどは進捗画面が開いたままになります。
この画面では取り込んだデータと、その件数を確認できます。
今回は地区のデータを8件、都道府県のデータを47件(47都道府県)取り込んでいます。
[閉じる]ボタンをクリックしてこの画面を閉じてください。

データの確認
リストボックスを作成して、データを確認してみましょう。ドキュメントの空白部分を右クリックして[リストボックスの追加]を選択します。

「地区名」と「都道府県名」をダブルクリックして、右側の領域に追加します。
[OK]ボタンをクリックします。

リストボックスが追加されました。
ただしくデータが表示されていることが分かります。

地区と都道府県が連動することを確認します。
関東を選択すれば関東の1都6県が、近畿を選択すれば近畿の2府5県に絞り込まれます。


地区と都道府県はもともと別ファイルのデータですが、データを取り込んだ時点で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
データの関連付けについて、記事を公開しました。こちらもぜひご覧ください。データの関連付け