Qlikview-quick-guide
QlikView-概要
QlikViewは、主要なビジネスディスカバリプラットフォームです。 従来のBIプラットフォームと比較して、多くの点でユニークです。 データ分析ツールとして、データ間の関係を常に維持し、この関係は色を使用して視覚的に見ることができます。 また、関連のないデータも表示されます。 リストボックスの個々の検索を使用して、直接検索と間接検索の両方を提供します。
QlikViewのコアおよび特許技術には、メモリ内データ処理の機能があり、ユーザーに超高速の結果をもたらします。 その場で集計を計算し、データを元のサイズの10%に圧縮します。 QlikViewアプリケーションのユーザーも開発者も、データ間の関係を管理しません。 自動的に管理されます。
QlikViewの機能
QlikViewには特許技術があり、複数のデータソースから高度なレポートをすばやく作成するのに役立つ多くの機能を使用できます。 以下は、QlikViewを非常にユニークにする機能のリストです。
- データの関連付けは自動的に維持されます-QlikViewは、データセットに存在する各データ間の関係を自動的に認識します。 ユーザーは、異なるデータエンティティ間の関係を事前に構成する必要はありません。
- 超高速のユーザーエクスペリエンスのために、データは複数のユーザーのメモリに保持されます-レポートの構造、データ、および計算はすべてサーバーのメモリ(RAM)に保持されます。
- 必要に応じて集計がオンザフライで計算されます-データがメモリに保持されているため、計算はオンザフライで実行されます。 事前に計算された集計値を保存する必要はありません。
- データは元のサイズの10%に圧縮されます-QlikViewはデータを頻繁に使用します 辞書。 分析には、メモリ内のデータの必須ビットのみが必要です。 したがって、元のデータを非常に小さなサイズに圧縮します。
- 色を使用した視覚的関係-データ間の関係は矢印や線ではなく色で表示されます。 データの一部を選択すると、関連データに特定の色が、関連しないデータに別の色が与えられます。
- 直接および間接検索-ユーザーが見ている直接的な価値を与える代わりに なぜなら、彼らはいくつかの関連データを入力し、データの関連付けのために正確な結果を得ることができるからです。 もちろん、値を直接検索することもできます。
QlikView-インストール
QlikViewをダウンロードする
QlikViewの無料のパーソナル版はhttps://www.qlik.com/try-or-buy/download-qlikview[QlikView Personal Edition]からダウンロードできます。ダウンロードするには、詳細を登録する必要があります。
ダウンロード後、インストールは非常に簡単なプロセスであり、ライセンス契約に同意し、インストールのターゲットフォルダーを指定する必要があります。 以下のスクリーンショットは、セットアッププロセス全体を説明しています。
インストールウィザードを開始する
*QlikViewDesktop_x64Setup.exe* をダブルクリックすると、選択した言語を選択する画面が表示されます。 英語を選択すると、次の画面が表示されます。 次に、[次へ]をクリックします。
ライセンス契約に同意する
使用許諾契約を読み、同意する場合は、「使用許諾契約の条項に同意します」オプションを選択します。 次に「次へ」をクリックしてください。
詳細を入力してください
名前と組織の詳細を入力します。 次に、「次へ」をクリックします。
宛先フォルダーを選択してください
デフォルトのインストール先を受け入れるか、変更することができます。 次に「次へ」をクリックしてください。
セットアップタイプを選択する
セットアップの種類として「完全」を選択します。 次に「次へ」をクリックしてください。
インストールを開始
この画面で、最終的にインストールを実際に開始することにします。 必要に応じて、戻っていくつかのオプションを変更できます。 これまでのところすべてが順調であると仮定して、「インストール」をクリックします。
インストールが完了
インストールが正常に完了すると、インストール完了画面が表示されます。 「完了」をクリックします。
インストールを確認する
Windowsの[スタート]メニューに移動し、QlikViewアイコンをクリックして、インストールを確認できます。 以下の画面が表示されます。
これでQlikViewを学習する準備が整いました。
QlikView-アーキテクチャ
主要なビジネスディスカバリプラットフォームとして、QlikViewは他の従来のプラットフォームとは異なるデータディスカバリへのアプローチで構築されています。 QlikViewは最初にクエリを作成してから、クエリに基づいて結果を取得しません。 むしろ、ロードされるとすぐに異なるデータオブジェクト間の関連付けを形成し、何らかの方法でデータを探索するようユーザーに促します。 事前定義されたデータドリルダウンパスはありません。 データが利用可能で関連付けられている限り、データのドリルダウンパスは任意の方向に発生します。
もちろん、ユーザーは、QlikViewで利用可能なデータモデリングアプローチを使用して、データ要素間の関連付けを作成する役割も果たすことができます。
アーキテクチャの概要
QlikViewのアーキテクチャは、処理されたデータを視覚化するフロントエンドと、QlikViewユーザードキュメントのセキュリティおよび公開メカニズムを提供するバックエンドで構成されています。 以下の図は、QlikViewの内部動作を示しています。 アーキテクチャについては、図の下で詳しく説明します。
フロントエンド
QlikViewのフロントエンドは、QlikViewドキュメントを表示するためのブラウザーベースのアクセスポイントです。 これには QlikView Server が含まれています。これは、主にビジネスユーザーがインターネットまたはイントラネットURL経由で作成済みのBIレポートにアクセスするために使用します。
ビジネスユーザーは、このフロントエンドを使用してデータを探索および操作し、データに関する結論を導き出します。 また、洞察を共有し、リアルタイムまたはオフラインでデータを調査することにより、特定のレポートセットで他のユーザーと共同作業します。 これらのユーザードキュメントは.qvw形式で、Windows OSにスタンドアロンドキュメントとして保存することもできます。
フロントエンドのQlikViewサーバーは、ユーザーとQlikViewバックエンドシステム間のクライアントサーバー通信を管理します。
バックエンド
QlikViewバックエンドは、* QlikViewデスクトップ*および* QlikViewパブリッシャー*で構成されています。
- QlikViewデスクトップ*は、ソースからデータを読み込んで変換する機能を備えたウィザード駆動型のWindows環境です。 ドラッグアンドドロップ機能を使用して、フロントエンドで表示されるレポートのGUIレイアウトを作成します。 QlikViewデスクトップによって作成されるファイルタイプは、。qvw。*の拡張子で保存されます。これらは、これらのファイルをユーザーに提供するフロントエンドのQlikViewサーバーに渡されるファイルです。 また、。qvw ファイルを変更して、。qvd *ファイルと呼ばれるデータ内ファイルを保存することもできます。 これらはバイナリファイルであり、GUIコンポーネントではなくデータのみが含まれています。
- QlikViewパブリッシャーは、さまざまなQlikViewサーバーとユーザー間で.qvwドキュメントを配布する配布サービスとして使用されます。 認可およびアクセス権限を処理します。 また、*。qvw *ファイルで定義された接続文字列を使用して、データソースからデータを直接ロードします。
QlikView-ナビゲーション
この章では、さまざまな操作を行うためにユーザーが使用できる画面について説明します。 基本的なナビゲーションを学び、QlikViewで利用可能なアイコンによって実行されるさまざまな機能を理解します。
開始画面
この画面は、QlikViewをナビゲートするための優しい紹介です。 この画面は、QlikViewを起動し、[QlikViewの起動時に開始ページを表示する]オプションをオンにすると表示されます。 左の例のセクションを下にスクロールすると、- Movies Database 、 Data Visualization などの例のいずれかをクリックできます。 起動して、QlikViewの動作を確認します。 自由にクリックしてください! 右に移動すると、 Recent および Favourites リンクがあり、最近アクセスしたすべてのQlikViewドキュメントと頻繁にアクセスしたいドキュメントが表示されます。
メニューコマンド
「はじめに」ウィンドウを閉じると、使用可能なすべてのメニューコマンドを含むメインインターフェイスが表示されます。 これらは、QlikViewで利用可能な機能のセット全体を表します。 以下は、メニューコマンドの各セクションの概要です。
ファイルメニュー
このメニューを使用して、新しいQlikViewファイルを作成し、ローカルシステムとQlikViewサーバーの両方から既存のファイルを開きます。 このメニューの重要な機能は次のとおりです-
- *添付ファイルとしてメール*現在開いているドキュメントを添付ファイルとしてメールで送信します。
- *データを削減*データなしでレポートレイアウトとデータベース構造のみを表示します。
- Table Viewer オプションを使用して、グラフィカルビューでテーブル、フィールド、およびそれらの関連付けの構造を確認します。
編集メニュー
このメニューは、コピー、貼り付け、切り取り、書式ペインタの使用などの編集オプションを実行するために使用されます。 このメニューの重要な機能は次のとおりです-
- *すべてアクティブ*オプションは、開いたシートに存在するすべてのシートオブジェクトをアクティブにします。
- 削除アクティブなウィンドウからシートを削除します。
- *高度な検索*オプションは、マルチボックスを使用して高度な検索式で検索を行うために使用されます。
メニューを見る
このメニューは、標準ツールバーを表示し、機能を拡大/縮小するために使用します。 また、すべてのアクティブなシートをカスケードメニューとして表示します。 このメニューの重要な機能は次のとおりです-
- * WebViewモードのオン/オフ*は、WebViewモードとローカルビューモードを切り替えます。
- *現在の選択*には、選択したシートオブジェクトのフィールド名とファイル値が表示されます。
- Design Grid は、アクティブなオブジェクトのシートオブジェクトプレースホルダーと、レイアウト内のオブジェクトのサイズ変更および移動のためのグリッドへのスナップを切り替えるために使用されます。
選択メニュー
このメニューは、シートオブジェクトの値の選択を選択およびクリアするために使用されます。 また、作業中のシートのさまざまな論理ステートメントを前後に移動する機能も提供します。 このメニューの重要な機能は次のとおりです-
- *ロック*は、現在の選択範囲のすべての値をロックします。
- *ロック解除*は、現在の選択でロックされているすべての値をロック解除します。
レイアウトメニュー
レイアウトメニューは、タブ付きシートの追加、さまざまなシートの選択、シートオブジェクトの再配置に使用されます。 このメニューの重要な機能は次のとおりです-
- *シートの昇格*は、現在のシートまたはタブを1ステップ先に移動します。
- *デモシート*は、現在のシートまたはタブを1ステップ後方に移動します。
- *シートの削除*は、アクティブなシートとその中のすべてを削除します。
設定メニュー
設定メニューは、ユーザー設定、ドキュメントプロパティ、およびシートプロパティを設定するために使用されます。 このメニューの重要な機能は次のとおりです-
- *変数の概要*すべての非表示ではない変数とその値が単一のリストに表示されます。
- Expression Overview は、ドキュメント、シート、シートオブジェクトの式を単一のリストとして表示します。
ブックマークメニュー
このメニューを使用して、異なるドキュメントへのブックマークを作成し、検索を高速化します。
レポートメニュー
[レポート]メニューを使用して、新しいレポートを作成し、既存のレポートを編集します。 レイアウトを編集したり、レポートにページを追加したり、レポートを削除したりできます。
ツールメニュー
[ツール]メニューは非常に目立つメニューで、チャートの作成やQlikView管理コンソールを開くために頻繁に使用されます。 このメニューの重要な機能は次のとおりです-
- *クイックチャートウィザード*は、利用可能なさまざまな設定やオプションを使用せずにシンプルなチャートを作成します。
- *タイムチャートウィザード*は、時系列チャートを作成します。
- Statistics Chart Wizard は、データに一般的な統計テストを適用するために使用されます。
[ツールメニュー]
オブジェクトメニュー
このメニューを使用して、新しいシートオブジェクトを作成し、既存のオブジェクトを変更します。 シートプロパティオプションは、シートを定義するパラメーターを設定するページを開きます。 このメニューの重要な機能は次のとおりです-
- シートのコピー-すべてのシートオブジェクトとともにシートのコピーを作成します。
- 画像をクリップボードにコピー-シート領域のビットマップ画像をクリップボードにコピーします。
- Remove -シートオブジェクトとともにシートを完全に削除します。
*Window* および *Help* メニューは、QlikViewアプリケーションのさまざまなウィンドウを整理し、ヘルプドキュメントを提供するために使用されます。
QlikView-Excelファイル
QlikViewは、単純なドラッグアンドドロップアクションによるデータ分析のためにExcelスプレッドシートを受け入れます。 QlikViewメインウィンドウを開き、Excelファイルをインターフェイスにドラッグアンドドロップする必要があります。 Excelデータを表示するシートが自動的に作成されます。
Excelファイルを選択します
QlikViewのメインウィンドウを開いたままにして、使用するExcelファイルを参照します。
データソースを選択
Excelファイルをメインウィンドウにドロップすると、ファイルウィザードが表示されます。 ファイルタイプはすでにExcelとして選択されています。 Labels の下で、 Embedded Labels を選択します。 [次のステップ]をクリックして続行します。
スクリプトをロード
データをQlikViewドキュメントにロードするコマンドを示すロードスクリプトが表示されます。 このコマンドは編集できます。
これで、Excelウィザードは、。qvwファイル拡張子の形式でファイルを保存するようプロンプトを出します。 ファイルを保存する必要がある場所を選択するように求められます。 [次のステップ]をクリックして続行します。 次に、Excelファイルからロードされたデータを確認します。 このデータを表示するには、 *Table Box シートオブジェクトを使用します。
テーブルボックスを作成
*Table Box* は、利用可能なデータを表として表示するシートオブジェクトです。 メニューの[レイアウト]→[新しいシートオブジェクト]→[テーブルボックス] *から起動します。
[次へ]をクリックすると、テーブルボックスからフィールドを選択するオプションが表示されます。 PromoteまたはDemote ボタンを使用して、フィールドを再配置できます。
テーブルボックスデータ
上記の手順を完了すると、Excelファイルから読み取られたデータを示すテーブルボックスシートオブジェクトが表示されます。
QlikView-区切りファイル
QlikViewは、フィールドがコンマ、タブ、セミコロンなどの文字で区切られているプレーンテキストファイルのデータを使用できます。 ここでは、例としてCSVを取り上げます。 データの各列がコンマで区切られているファイルは、CSVファイルと呼ばれます。 これは、プレーンテキストデータを列と行として編成するために非常に広く使用されているファイル形式です。
QlikViewは、[ファイル]メニューの[スクリプトエディター]で使用できる[ Data from files ]オプションを使用してcsvファイルを読み込みます。 または、新しいQlikViewドキュメントを開き、 control + E を押して、以下に示すようなスクリプトエディターウィンドウを表示することもできます。 適切なパスからProduct_details.csvファイルを選択します。
ファイルヘッダーを選択する
選択したCSVファイルを開くと、次のようなウィンドウが表示されます。 Labels の下で、 Embedded Labels を選択します。これは、ファイルの最初の行にヘッダー行があるためです。 *完了*をクリックします。
スクリプトをロード
QlikViewへのファイルのロードは、ロードスクリプトを介して行われます。ロードスクリプトは、以下のスクリーンショットで確認できます。 したがって、区切りファイルを使用する場合は、ファイル形式に従って以下のスクリプトを調整できます。
これで、スクリプトウィザードは、。qvwファイル拡張子の形式でファイルを保存するように要求します。 ファイルを保存する必要がある場所を選択するように求められます。 [次のステップ]をクリックして続行します。 次に、区切りファイルからロードされたデータを確認します。 このデータを表示するには、 *Table Box シートオブジェクトを使用します。
テーブルボックスを作成
*Table Box* は、利用可能なデータを表として表示するシートオブジェクトです。 メニューの[レイアウト]→[新しいシートオブジェクト]→[テーブルボックス] *から起動します。
[次へ]をクリックすると、テーブルボックスからフィールドを選択するオプションが表示されます。 PromoteまたはDemote ボタンを使用して、フィールドを再配置できます。
テーブルボックスデータ
上記の手順を完了すると、Excelファイルから読み取られたデータを示すテーブルボックスシートオブジェクトが表示されます。
QlikView-XMLファイル
XMLはファイル形式であり、World Wide Web、イントラネット、および標準ASCIIテキストを使用する他の場所でファイル形式とデータの両方を共有します。 Extensible Markup Language(XML)の略です。 HTMLと同様に、マークアップタグが含まれています。 ただし、マークアップタグがページの構造を記述するHTMLとは異なり、XMLでは、マークアップタグはファイルに含まれるデータの意味を記述します。 QlikViewはXMLファイルのデータを使用できます。
XMLファイルからデータをロードするプロセスは、以前に見た区切りファイルのロードに似ています。 スクリプトエディターを開きます。 メニュー* [挿入]→[ステートメントの読み込み]→[ファイルから読み込み]をクリックします。 ロードするXMLファイルを参照します。 この例では、employee_dat.xmlファイルを選択しています。
XMLファイル構造を選択する
選択したXMLファイルを開くと、次のようなウィンドウが表示されます。 左側の[ファイルの種類]セクションで、[XML]を選択します。 これで、XMLファイルのコンテンツがヘッダー列とともに表として表示されます。 完了をクリックします。
ファイルローダースクリプト
XMLファイルのQlikViewへのロードは、以下に示すロードスクリプトを介して行われます。 したがって、XMLファイルを使用する場合は、以下の指定されたスクリプトを調整して、列の名前を変更したり、ファイルの場所を変更したりできます。
これで、スクリプトウィザードは、。qvwファイル拡張子の形式でファイルを保存するように求めます。 ファイルを保存する必要がある場所を選択するように求められます。 [次のステップ]をクリックして続行します。 ここで、XMLファイルからロードされたデータを確認します。 このデータを表示するには、 *Table Box シートオブジェクトを使用します。
テーブルボックスを作成
*Table Box* は、利用可能なデータを表として表示するシートオブジェクトです。 メニューの[レイアウト]→[新しいシートオブジェクト]→[テーブルボックス] *から起動します。
[次へ]をクリックすると、テーブルボックスからフィールドを選択するオプションが表示されます。 PromoteまたはDemote ボタンを使用して、フィールドを再配置できます。
テーブルボックスデータ
上記の手順を完了すると、Excelファイルから読み取られたデータを示すテーブルボックスシートオブジェクトが表示されます。
QlikView-Webファイル
QlikViewは、HTML形式のWebからのファイルを処理できます。 HTMLテーブルからデータを抽出できます。 処理されるWebファイルのURLは入力として提供され、QlikViewはファイルの構造とコンテンツの両方を取得します。 次に、ページの構造を分析し、ページに存在するHTMLテーブルから関連データを抽出します。 スクリプトエディターの[データ]タブにある[ファイルからのデータ]セクションから[Webファイル]オプションを選択します。
入力としてURLを指定します
Webファイルオプションを選択すると、入力としてURLを指定する新しいウィンドウが表示されます。 この例では、ウィキペディアからの入力ページとして、アジアの主権国家と従属地域のリストを選択しています。 URLに言及して、[次へ]をクリックします。
Webファイルからテーブルを選択します
選択したWebファイルを開くと、次のウィンドウが表示されます。 ここでは、@ 1、@ 1、@ 3などのラベルが付いたWebページに存在するさまざまなテーブルを見ることができます。 最初のテーブルを選択し、[次へ]を2回クリックします。
テーブルの列を選択
上記の表から、クロス記号を使用して不要な列を削除することにより、必要な列のみを選択できます。
スクリプトをロード
QlikViewへのファイルのロードは、以下のスクリーンショットで確認できるロードスクリプトを介して行われます。 したがって、デリミタ付きファイルを使用する場合、ファイル形式に従って以下のスクリプトを微調整できます。
これで、スクリプトウィザードは、。qvwファイル拡張子の形式でファイルを保存するように要求します。 ファイルを保存する必要がある場所を選択するように求められます。 [次のステップ]をクリックして続行します。 次に、Webファイルからロードされたデータを確認します。 このデータを表示するには、 *Table Box シートオブジェクトを使用します。
テーブルボックスを作成
*Table Box* は、利用可能なデータを表として表示するシートオブジェクトです。 メニューの[レイアウト]→[新しいシートオブジェクト]→[テーブルボックス] *から起動します。 image:/qlikview/table_box_option.JPG[table_box_option]
[次へ]をクリックすると、テーブルボックスからフィールドを選択するオプションが表示されます。 PromoteまたはDemote ボタンを使用して、フィールドを再配置できます。
テーブルボックスデータ
上記の手順を完了すると、Webボックスから読み取られたデータを示すテーブルボックスシートオブジェクトが表示されます。 *英語以外の文字をマークしてください!!
QlikView-データベース接続
QlikViewは、MySQL、SQL Server、Oracle、Postgressなどの一般的なデータベースのほとんどに接続できます。 データとテーブル構造をQlikView環境にフェッチし、結果をメモリに保存してさらに分析することができます。 これらのデータベースのいずれかに接続する手順には、DSNを使用してODBC接続を作成し、このDSNを使用してデータをフェッチすることが含まれます。
このチュートリアルでは、MySQLデータベースに接続します。 このチュートリアルでは、MySQL環境が利用可能であることを前提としています。 次の手順に従って、MySQLのODBC DSN(データソース名)を作成します-https://dev.mysql.com/doc/connector-odbc/en/connector-odbc-configuration-dsn-windowsl[to DSN。] Name DSNを mysqluserdsn として使用するか、MySqlのDSNをすでに作成している場合は既存のDSNを使用することをお勧めします。
データベースへの接続
この章では、 sakila という名前のMySql組み込みデータベースを使用します。 新しいQlikViewドキュメントを作成し、スクリプトエディターを開きます(Control + Eを押します)。 Data タブの下に、Databaseという名前のセクションがあります。 ドロップダウンリストから[ODBC]を選択し、[接続]をクリックします。 次のウィンドウが開きます。 mysqluserdns という名前のDSNを選択し、[接続のテスト]をクリックします。 「接続テストに成功しました」というメッセージが表示されます。
データベースへの接続の確認
接続に成功すると、次の画面が表示され、スクリプトエディタのメインウィンドウにDBへの接続が表示されます。
データベーステーブルの選択
上記のウィンドウで[選択]をクリックして、テーブルと列のリストを取得します。 ここで、デフォルトのデータベースとして sakila を使用してDSNを作成したため、このデータベースからテーブルと列のリストを取得します。 以下のスクリーンショットに示すように、データベースドロップダウンリストから別のデータベースを選択できます。 この章では、sakilaデータベースを引き続き使用します。
テーブルローダースクリプト
上記のウィンドウで[OK]をクリックすると、メインスクリプトエディターに戻り、 actor という名前のテーブルを使用するためのスクリプトが表示されます。
qvdファイルでの結果の表示
QlikViewドキュメントにロードされたデータは、さらに分析するために永続的に保存する必要があります。 このため、スクリプトを編集して、データをqvdファイルの形式で保存します。 Control + E を押して編集スクリプトウィンドウを開き、次のコードを記述します。
コードでは、列に適切な名前を付け、loadステートメントの上にテーブル名を記載しています。 さらに、生成されたqvdファイルが保存されるパスを指定します。 このファイルを QV_mysql.qvw として保存します
qvdファイルの使用
qvdファイルをメインドキュメントにロードし、さらに分析するためにグラフと表を作成するために使用できます。 Control + R を押して QV_mysql.qvw ファイルを再ロードし、チャートウィザードで[次へ]をクリックします。 ディメンションとしてactor_id、first_name、last_name、および式としてactor_idのカウントを使用して作成するストレートテーブルを選択します。 以下のチャートが表示されます。
QlikView-インラインデータ
データを直接入力または貼り付けることで、QlikViewドキュメントに入力できます。 この機能は、クリップボードからQlikViewにデータを取得する簡単な方法です。 スクリプトエディタは、[挿入]タブでこの機能を提供します。
スクリプトエディタ
インラインデータの読み込みオプションを開くには、スクリプトエディターを開き、[挿入]→[ステートメントの読み込み]→[インラインの読み込み]に移動します。
データの挿入
上記の画面を開くと、スプレッドシートのようなドキュメントが表示され、値を入力できます。 クリップボードに既にある値を貼り付けることもできます。 列ヘッダーは自動的に作成されることに注意してください。 完了をクリックします。
スクリプトをロード
データをロードするコマンドは、スクリプトエディターで確認できるバックグラウンドで作成されます。
テーブルボックスデータ
テーブルボックスシートオブジェクトを作成すると、インラインデータロードオプションから読み取られたデータが表示されます。
QlikView-常駐負荷
QlikViewは、RAMに既に存在するテーブルからデータをロードできます。このテーブルは、スクリプトによって既に処理されています。 この要件は、同じスクリプト内の既存のテーブルからデータを派生するテーブルを作成するときに発生します。 新しいテーブルと既存のテーブルの両方が同じスクリプトにあることに注意してください。
ロードスクリプトの作成
スクリプトエディタを開き(またはControl + Eを使用して)、次のスクリプトに言及します。 ここでは、さまざまな地域の販売データを含む Regions という名前のインラインテーブルを作成します。 次に、 Total という名前の別のテーブルを作成して、地域名ごとの総売上を計算します。 最後に、この.qvwファイルのように、データ分析には Total という名前のテーブルのみが必要なので、テーブルRegionsを削除します。
テーブルボックスデータ
テーブルボックスシートオブジェクトを作成すると、常駐データロードオプションから読み取られたデータが表示されます。
QlikView-先行負荷
QlikView Precedingロードは、同じスクリプト内に存在する別のロードステートメントの列を取得するロードステートメントを使用するロードタイプです。 スクリプトエディタウィンドウの下部にある最初のLoadステートメントによって読み取られ、その上のloadステートメントによって使用されるデータ。
スクリプトをロード
以下のスクリーンショットは、 Inline data としてロードされたデータのスクリプトを示しています。その後、max関数がいずれかの列に適用されます。 一番下のloadステートメントは、QlikViewのメモリでデータを利用可能にします。これは、最初のloadステートメントの上の2番目のloadステートメントで使用されます。 2番目のloadステートメントは、group by句を使用してmax関数を適用します。
テーブルボックスデータ
テーブルボックスシートオブジェクトを作成すると、インラインデータロードオプションから読み取られたデータが表示されます。
QlikView-増分負荷
QlikViewドキュメントのデータソースのデータ量が増加すると、ファイルの読み込みにかかる時間が増加し、分析プロセスが遅くなります。 データのロードにかかるこの時間を最小限に抑える方法の1つは、ソースまたは更新されたレコードで新しいレコードのみをロードすることです。 ソースからQlikViewドキュメントに新規または変更されたレコードのみをロードするというこの概念は、 Incremental Load と呼ばれます。
ソースから新しいレコードを識別するために、各行にシーケンシャルな一意キーまたは日付タイムスタンプを使用します。 一意のキーまたはデータ時間フィールドのこれらの値は、ソースファイルからQlikViewドキュメントに流れる必要があります。
小売店での製品の詳細を含む次のソースファイルを考えてみましょう。 これを、QlikViewからアクセス可能なローカルシステムに.csvファイルとして保存します。 一定の期間にわたって、いくつかの製品が追加され、いくつかの製品の説明が変更されます。
Product_Id,Product_Line,Product_category,Product_Subcategory
1,Sporting Goods,Outdoor Recreation,Winter Sports & Activities
2,"Food, Beverages & Tobacco",Food Items,Fruits & Vegetables
3,Apparel & Accessories,Clothing,Uniforms
4,Sporting Goods,Athletics,Rugby
5,Health & Beauty,Personal Care
6,Arts & Entertainment,Hobbies & Creative Arts,Musical Instruments
7,Arts & Entertainment,Hobbies & Creative Arts,Orchestra Accessories
8,Arts & Entertainment,Hobbies & Creative Arts,Crafting Materials
9,Hardware,Tool Accessories,Power Tool Batteries
10,Home & Garden,Bathroom Accessories,Bath Caddies
11,"Food, Beverages & Tobacco",Food Items,Frozen Vegetables
12,Home & Garden,Lawn & Garden,Power Equipment
QlikViewへのデータの読み込み
以下に示すように、[テーブルファイル]オプションを選択して、スクリプトエディター(Control + E)を使用して上記のCSVファイルを読み込みます。 ここで、データをローカルシステムのQVDファイルに保存します。 QlikViewドキュメントを.qvwファイルとして保存します。
ロードされたデータの検証。
*Table Box* というシートオブジェクトを作成することにより、QlikViewドキュメントにロードされたデータを確認できます。 これは、[レイアウト]メニューと[新しいシートオブジェクト]サブメニューで使用できます。
テーブルレイアウトの作成
*Table Box* シートオブジェクトを選択すると、次の画面が表示されます。この画面を使用して、作成するテーブル内の列とその位置を選択します。 次の列とその位置を選択して、[完了]をクリックします。
既存のデータを表示する
前の手順でレイアウトされたデータを示す次のチャートが表示されます。
ソースデータの更新
次の3つのレコードをソースデータに追加します。 ここで、製品IDは一意の番号であり、新しいレコードを表します。
13,Office Supplies,Presentation Supplies,Display
14,Hardware,Tool Accessories,Jigs
15,Baby & Toddler,Diapering,Baby Wipes
増分ロードスクリプト
次に、ソースから新しいレコードのみをプルするスクリプトを作成します。
//Load the data from the stored qvd.
Stored_Products:
LOAD Product_Id,
Product_Line,
Product_category,
Product_Subcategory
FROM
[E:\Qlikview\data\products.qvd]
(qvd);
//Select the maximum value of Product ID.
Max_Product_ID:
Load max(Product_Id) as MaxId
resident Stored_Products;
//Store the Maximum value of product Id in a variable.
Let MaxId = peek('MaxId',-1);
drop table Stored_Products;
//Pull the rows that are new.
NewProducts:
LOAD Product_Id,Product_Line, Product_category,Product_Subcategory
from [E:\Qlikview\data\product_categories.csv]
(txt, codepage is 1252, embedded labels, delimiter is ',', msq)
where Product_Id > $(MaxId);
//Concatenate the new values with existing qvd.
Concatenate
LOAD Product_Id,Product_Line, Product_category,
Product_Subcategory
FROM [E:\Qlikview\data\products.qvd](qvd);
//Store the values in qvd.
store NewProducts into [E:\Qlikview\data\products.qvd](qvd);
上記のスクリプトは、qvdファイルにロードおよび保存される新しいレコードのみを取得します。 新しい製品ID 13、14、15のレコードを確認します。
QlikView-データファイル(QVD)
QlikViewを非常に際立たせる重要な機能の1つは、非常に大量のデータを非常に圧縮されたサイズで保存し、QlikViewドキュメントとともに保存できることです。 したがって、ドキュメントが作成されると、データソースに接続する必要はありません。データは既にドキュメントのレイアウトと共に保存されているからです。 これは、拡張子が.qvdのフラットファイルであるQVDファイルによって実現されます。 QVDファイルは1つのQlikViewドキュメントのデータを保存し、QlikViewドキュメントで利用可能なスクリプトエディターを使用して作成されます。
QVDファイルを使用する利点
QlikViewでQVDファイルを使用する利点は次のとおりです-
- データの高速ロード
- データ量の増加に応じてスケールアップを適切にサポート
- 増分ロードで使用
- 複数のソースからのデータを1つのデータセットにまとめることができます *並行してデータを抽出する
QVDファイルの作成
QVDファイルは、QlikViewファイルの読み込み中にSTOREステートメントを使用して作成されます。 このステートメントは、単一のqvdファイルを作成し、指定された場所にファイルとして保存します。作成されたQVWファイルとは別です。
以下は、ソースファイルを読み込んでデータをQlikViewドキュメントにロードした後、qvdファイルを保存する例です。
QVDファイルの使用
QVDファイルは、CSV、Excel、区切りファイルなどの他のファイルが使用されるのと同様の方法でQlikViewドキュメントにロードされます。* File メニューの下にある *Open オプションを使用して、前に作成したQVDファイルを参照します。 開くと、データを表示し、列ヘッダーを選択し、必要なデータ変換を行うウィンドウが表示されます
QVDファイルローダースクリプト
[完了]をクリックすると、スクリプトスクリプトウィンドウが表示され、QVDファイルの読み込みに使用されるコードが表示されます。 このコードをさらに編集できます。 たとえば、表示する列の一部のみを取得したり、組み込み関数を適用するなど。 [完了]をクリックして、ファイルを現在のQlikViewドキュメントに読み込みます。 QlikViewドキュメントを use_qvd.qvw として保存します。
QVDファイルからのデータの表示
*Control + R* を使用してドキュメントをリロードし、メニューオプション *Layout→New Sheet Objects→Table Box* を選択します。 QVDファイルにあるテーブルのすべての列を示すウィンドウが表示されます。 *「すべて追加」*を選択して、表示テーブルにすべての列を追加します。 *"Promote/Demote"* オプションを使用して、列の順序を変更します。 「完了」をクリックします。 QVDファイルの内容を示す次の画面が表示されます。
QlikView-シートとオブジェクト
すべてのQlikViewドキュメントは、 Main と呼ばれる少なくとも1つのワークシートで構成されています。 同じQlikViewドキュメントの多くのページのようなシートを追加できます。 シートは、複数のチャートや複数の表など、複数のデータ形式を表示するのに役立ちます。 各シートには、さまざまなシートオブジェクトを含めることができます。 さらに、 Promote Sheet/Demote Sheet オプションを使用してシートを再配置でき、 Remove Sheet オプションを使用してQlikViewドキュメントから削除できます。
シートのプロパティ
シートにはさまざまなプロパティがあり、これらを設定してシートをカスタマイズできます。 たとえば、シートの名前とその色を設定できます。 シートの任意の場所を右クリックして、[プロパティ]オプションを選択します。 次に、次のプロパティを選択します。
- シート設定→色-これはシートの背景色を設定します。
- タブ設定→カスタムカラー-これは、シート名が表示されるタブの色を設定します。
- * Title。*-これにより、シートの名前が設定されます。
シートオブジェクトの作成
シートオブジェクトは、シートに埋め込まれたQlikViewデータ要素です。 QlikViewのメモリにロードされたデータを表示します。 各シートオブジェクトは、データソースと1つ以上の列に関連付けられています。 下に示すように、シートオブジェクトは layout メニューから作成されます。
シートオブジェクトの使用
シートオブジェクトはデータソースからのデータを表示し、シート内のすべてのオブジェクトは相互に関連付けられます。 リストボックスとマルチボックスを作成して、アクションでこの関連付けを見てみましょう。
リストボックスの作成
リストボックスには、QlikViewメモリで利用可能なテーブルの列のデータが表示されます。 [シートオブジェクトの追加]オプションから*リストボックス*オプションを選択し、以下のようにプロパティを設定します。
マルチボックスの作成
マルチボックスは、テーブルの複数の列のデータを表します。 [シートオブジェクトの追加]オプションから[マルチボックス]オプションを選択し、以下に示すようにプロパティを設定します。
上記の手順を完了すると、次のウィンドウが表示され、両方のシートオブジェクトが表示されます。
シートオブジェクト間の関連付け
リストボックス内の関連する行を強調表示するマルチボックスから1つのオプションを選択すると、シートオブジェクトが互いにリンクされている方法を確認できます。 Multi BoxのProduct Categoryドロップダウンリストで「Diapering」を選択しましょう。 以下に示すウィンドウが表示されます。
QlikView-スクリプト
スクリプティングはQlikViewの非常に強力な機能であり、データロードオプションとデータ変換の制御を可能にします。 QlikViewで利用可能な多くの組み込み関数の使用を可能にし、QlikViewdocument内の複数のスクリプトで使用されるサブルーチンを作成します。
スクリプトエディタを使用してスクリプトを作成します。 [ファイル]メニューから*スクリプトエディター*を使用してアクセスします。 Control + E を押して、スクリプトエディターウィンドウを開くこともできます。 処理対象のデータのデフォルト形式として設定されている一部のデータ形式が事前入力されます。 たとえば、千の区切り文字はコンマであり、日付は月日年形式です。 これらは、必要に応じて着信データに合わせて変更できます。
スクリプトエディターの機能
スクリプトエディターには多くの機能があり、メインメニューとは異なるメニューであるスクリプトエディターウィンドウのメニューからアクセスできます。 以下に重要な機能のリストを示します。
ファイルメニュー
- Reload -スクリプトをリロードし、新しいデータを取得します。
- 大文字/小文字-QlikViewは大文字と小文字を区別するため、単語の大文字と小文字を変換します。
- コメント-コードのブロックをコメントするために使用されます。
編集メニュー
- スクリプト全体をクリア-アクティブなスクリプトタブをクリアします。
- スクリプトファイルを開く-保存したスクリプトファイルを開きます。
- Table Viewer -ロードされるデータの表形式ビューを表示するために使用されます。
挿入メニュー
- 環境変数-環境変数の標準リストを挿入します。
- スクリプトファイル-スクリプトファイルを参照して挿入できます。
- 接続/切断ステートメント-外部データベースとの接続または切断に使用されます。
タブメニュー
- タブの挿入-現在のカーソル位置にタブを挿入します。
- Promote/Demote Tab -タブを左から右へ、またはその逆に移動できます。
- 前とマージ-アクティブなタグのコンテンツを前のタブとマージするために使用します。
ツールメニュー
- * ODBC Administrator 64ビット/ODBC Administrator 32ビット*-データソースの正しいDSN情報を設定できます。
- エディタの設定-テキストのフォントとサイズ、ヘルプ機能、ショートカット、デフォルトのスクリプトエンジンなどを設定できます。
- 構文チェック-スクリプトコードの構文を検証するために使用されます。
QlikView-関数
QlikViewには多くの組み込み関数があり、既にメモリで利用可能なデータに適用できます。 これらの関数は多くのカテゴリに分類され、関数の構文は選択されるとすぐに表示されます。 [貼り付け]ボタンをクリックして、エディターに式を取得し、引数を指定できます。
テーブルボックスを作成
以下のスクリーンショットに示すように、メニューに従ってテーブルボックスを作成します。
上記の手順を完了すると、左下に計算条件を表示するウィンドウが表示されます。
3_functions_calculation_fields。
機能一覧
計算条件の横にあるボタンをクリックして、関数タブに移動します。 使用可能な機能のリストが表示されます。
関数カテゴリから String を選択すると、引数として文字列をとる関数がいくつかしか表示されません。
次の章では、多くの重要な機能の使用について説明します。
QlikView-IntervalMatch
QlikView IntervalMatchは、個別の数値を数値間隔に一致させるために使用される強力な機能です。 イベントが実際に発生した方法と計画されたイベントを分析するのに役立ちます。 それが使用されるシナリオの例は、ベルトが特定の時間および特定の期間にわたって稼働するように計画されている生産会社の組立ラインです。 ただし、故障などにより、実際の実行は異なる時点で発生する可能性があります。
例
A、B、Cという名前の3つのベルトがある組立ラインを考えてみましょう。 1日の特定の時間に開始および停止する予定です。 特定の日に、実際の開始時間と終了時間を調査し、その日に何が起こったかを分析します。 このために、以下に示すように2つの観測セットを検討します。
# Data Set for AssembilyLine.
StartTime,EndTime, BeltNo
00:05,4:20, A
1:50,2:45,B
3:15,10:30,C
# Data set for the events happened.
ActualTime,Product
1:10,Start Belt A
2:24,Stop Belt A
3:25,Restart Belt A
4:35,Stop Belt A
2:20,Start Belt B
3:11, Stop Belt B
3:15,Start Belt C
11:20, Stop Belt C
スクリプトを作成する
*Control + E* を使用して、新しいQlikViewドキュメントでスクリプトエディターを開きます。 次のコードは、必要なテーブルをインラインデータとして作成します。 このスクリプトを作成したら、 *control + R* を押して、データをQlikViewドキュメントにリロードします。
シートオブジェクトの作成
IntervalMatch関数によって生成されたデータを表示する Table Box シートオブジェクトを作成します。 メニュー項目*レイアウト→新規シートオブジェクト→テーブルボックス*に移動します。 次のウィンドウが表示されます。このウィンドウで、テーブルのタイトルを指定し、表示する必要なフィールドを選択します。
テーブルボックスの表示
上記のウィンドウで[OK]をクリックすると、StartTimeおよびEndTimeの間隔に一致するActualTimeフィールドを示すテーブルが表示されます。
QlikView-集計関数
QlikView Aggregate関数は、テーブルの行から集計データを生成するために使用されます。 関数は、ロードスクリプトの作成時に列に適用されます。 以下に、集計関数のサンプルリストを示します。 また、集計関数を適用するときに Group by 句を適切に適用する必要があります。
- SUM は、列の数値の合計を示します。
- AVG は、列の数値の平均を示します。
- MAX は、列の数値の最大値を示します。
- MIN は、列の数値の最小値を示します。
例
ローカルシステムにproduct_sales.csvとして保存されている次のデータを検討します。 店舗のさまざまな製品ラインと製品カテゴリの売上高を表します。
Product_Line,Product_category,Quantity,Value
Sporting Goods,Outdoor Recreation,12,5642
Food, Beverages & Tobacco,38,2514
Apparel & Accessories,Clothing,54,2365
Apparel & Accessories,Costumes & Accessories,29,4487
Sporting Goods,Athletics,11,812
Health & Beauty,Personal Care,21,6912
Arts & Entertainment,Hobbies & Creative Arts,58,5201
Arts & Entertainment,Paintings,73,8451
Arts & Entertainment,Musical Instruments,41,1245
Hardware,Tool Accessories,2,456
Home & Garden,Bathroom Accessories,36,241
Food,Drinks,54,1247
Home & Garden,Lawn & Garden,29,5462
Office Supplies,Presentation Supplies,22,577
Hardware,Blocks,53,548
Baby & Toddler,Diapering,19,1247
ロードスクリプトの作成
*Control + E* を使用して、新しいQlikViewドキュメントでスクリプトエディターを開きます。 次のコードは、必要なテーブルをインラインデータとして作成します。 このスクリプトを作成した後、control + Rを押してデータをQlikViewドキュメントにリロードします。
シートオブジェクトの作成
Aggregate関数によって生成されたデータを表示する Table Box シートオブジェクトを作成します。 メニューの[レイアウト]→[新しいシートオブジェクト]→[テーブルボックス]に移動します。 次のウィンドウが表示されます。このウィンドウで、テーブルのタイトルを指定し、表示する必須フィールドを選択します。 [OK]をクリックすると、以下に示すように、QlikViewテーブルボックスにCSVファイルのデータが表示されます。
SUM()関数の適用
以下に示すのは、製品ラインと製品カテゴリ全体で販売数量と販売価値の合計を検索するロードスクリプトです。
[OK]をクリックし、 Control + R を押して、データをQlikViewドキュメントにリロードします。 次に、* *シートオブジェクトの作成*で上記と同じ手順を実行して、以下に示すように、スクリプトの結果を表示するためのQlikViewテーブルボックスを作成します。
AVG()関数を適用する
以下に示すのは、各製品ラインにわたる販売数量と販売価値の平均を作成するロードスクリプトです。
# Average sales of Quantity and value in each Product Line.
LOAD Product_Line,
avg(Quantity),
avg(Value)
FROM
[E:\Qlikview\data\product_sales.csv]
(txt, codepage is 1252, embedded labels, delimiter is ',', msq)
Group by Product_Line;
[OK]をクリックし、 Control + R を押して、データをQlikViewドキュメントにリロードします。 次に、* *シートオブジェクトの作成*で上記と同じ手順を実行して、以下に示すように、スクリプトの結果を表示するためのQlikViewテーブルボックスを作成します。
MAX()およびMIN()関数の適用
以下に示すのは、各製品ラインにわたる販売数量の最大値と最小値を作成するロードスクリプトです。
# Maximum and Minimum sales in each product Line.
LOAD Product_Line,
max(Quantity) as MaxQuantity,
min(Quantity) as MinQuantity
FROM
[E:\Qlikview\data\product_sales.csv]
(txt, codepage is 1252, embedded labels, delimiter is ',', msq)
Group by Product_Line;
[OK]および Control + R をクリックして、データをQlikViewドキュメントに再読み込みします。 次に、* *シートオブジェクトの作成*で上記と同じ手順を実行して、以下に示すように、スクリプトの結果を表示するためのQlikViewテーブルボックスを作成します。
QlikView-一致機能
QlikViewの* Match()*関数は、式の文字列の値を列にあるデータ値と一致させるために使用されます。 SQL言語で見られるin関数に似ています。 特定の文字列を含む行をフェッチすると便利です。また、wildmatch()関数の形式の拡張機能もあります。
以下に示す例の入力ファイルとして、次のデータを考えてみましょう。
Product_Id,Product_Line,Product_category,Product_Subcategory
1,Sporting Goods,Outdoor Recreation,Winter Sports & Activities
2,Food, Beverages & Tobacco,Food Items,Fruits & Vegetables
3,Apparel & Accessories,Clothing,Uniforms
4,Sporting Goods,Athletics,Rugby
5,Health & Beauty,Personal Care
6,Arts & Entertainment,Hobbies & Creative Arts,Musical Instruments
7,Arts & Entertainment,Hobbies & Creative Arts,Orchestra Accessories
8,Arts & Entertainment,Hobbies & Creative Arts,Crafting Materials
9,Hardware,Tool Accessories,Power Tool Batteries
10,Home & Garden,Bathroom Accessories,Bath Caddies
11,Food, Beverages & Tobacco,Food Items,Frozen Vegetables
12,Home & Garden,Lawn & Garden,Power Equipment
13,Office Supplies,Presentation Supplies,Display
14,Hardware,Tool Accessories,Jigs
15,Baby & Toddler,Diapering,Baby Wipes
Match()関数を使用したスクリプトの読み込み
次のスクリプトは、product_categories.csvという名前のファイルを読み取るLoadスクリプトを示しています。 フィールド Product_Line で、文字列「Food」および「Sporting Goods」と一致する値を検索します。
シートオブジェクトの作成
一致関数によって生成されたデータを表示するためのテーブルボックスシートオブジェクトを作成しましょう。 メニューの[レイアウト]→[新しいシートオブジェクト]→[テーブルボックス]に移動します。 次のウィンドウが表示されます。このウィンドウでは、テーブルのタイトルに言及し、表示する必要なフィールドを選択します。 [OK]をクリックすると、以下に示すように、QlikViewテーブルボックスにCSVファイルのデータが表示されます。
Wildmatch()関数を使用したスクリプトの読み込み
- wildmatch()関数は、match()関数の拡張機能であり、検索対象のフィールドの値と値を照合するために使用される文字列の一部としてワイルドカードを使用できます。 文字列「Off *」、「 *ome 」を検索します。
シートオブジェクトの作成
wildmatch関数によって生成されたデータを表示する Table Box シートオブジェクトを作成しましょう。 メニュー項目[レイアウト]→[新しいシートオブジェクト]→[テーブルボックス]に移動します。 次のウィンドウが表示されます。このウィンドウでは、テーブルのタイトルに言及し、表示する必要なフィールドを選択します。 [OK]をクリックすると、以下に示すように、QlikViewテーブルボックスにCSVファイルのデータが表示されます。
QlikView-ランク関数
QlikViewの* Rank()*関数は、フィールド内の値のランクを表示し、特定のランク値を持つ行を返すために使用されます。 したがって、2つのシナリオで使用されます。 最初のシナリオは、フィールドの値のランクを表示するQlikViewチャートで、2番目のシナリオは、特定のランク値を持つ行のみを表示する集計関数です。
入力データ
ランク関数を説明する例で使用されるデータを以下に示します。 これをシステムのパスに.csvファイルとして保存すると、QlikViewからアクセスできます。
Product_Id,Product_Line,Product_category,Quantity,Value
1,Sporting Goods,Outdoor Recreation,12,5642
2,Food, Beverages & Tobacco,38,2514
3,Apparel & Accessories,Clothing,54,2365
4,Apparel & Accessories,Costumes & Accessories,29,4487
5,Sporting Goods,Athletics,11,812
6,Health & Beauty,Personal Care,21,6912
7,Arts & Entertainment,Hobbies & Creative Arts,58,5201
8,Arts & Entertainment,Paintings,73,8451
9,Arts & Entertainment,Musical Instruments,41,1245
10,Hardware,Tool Accessories,2,456
11,Home & Garden,Bathroom Accessories,36,241
12,Food,Drinks,54,1247
13,Home & Garden,Lawn & Garden,29,5462
14,Office Supplies,Presentation Supplies,22,577
15,Hardware,Blocks,53,548
16,Baby & Toddler,Diapering,19,1247
17,Baby & Toddler,Toys,9,257
18,Home & Garden,Pipes,81,1241
19,Office Supplies,Display Board,29,2177
スクリプトをロード
上記のデータは、スクリプトエディターを使用してQlikViewメモリにロードされます。 [ファイル]メニューからスクリプトエディターを開くか、 Control + E を押します。 [ファイルのデータ]タブから[テーブルファイル]オプションを選択し、上記のデータを含むファイルを参照します。 OK をクリックし、 Control + R を押してQlikViewのメモリにデータをロードします。
Rank()関数を使用してグラフを作成する
次に、以下の手順に従ってグラフを作成します。このグラフには、ディメンションProduct_Lineに関して記述されている*値*のランクが表示されます。
グラフの種類を選択します
チャートウィザードをクリックし、チャートタイプとしてオプション straight table を選択します。 [次へ]をクリックします。
グラフのディメンションを選択します
- 最初のディメンション*ドロップダウンリストから、ディメンションとしてProduct_Lineを選択します。 [次へ]をクリックします。
チャート式を定義する
カスタム式フィールドで、以下に示すようにランク式を指定します。 ここでは、各製品ラインの下の各カテゴリの売上値を表す Value という名前の数値フィールドを検討しています。 [次へ]をクリックします。
チャートを表示する
上記の手順で[完了]をクリックすると、次のグラフが表示され、各製品ラインの売上値のランクが示されます。
ランク付きの集計関数の使用
-max、minなどの集約関数 特定のランク値を満たす行を返すために引数としてランクを取ることができます。 スクリプトエディタには次の式が含まれていると考えられます。これにより、各製品ラインの下で最高の売上高を含む行が得られます。
# Load the records with highest sales value for each product line.
LOAD Product_Line,
max(Value,1)
FROM
[E:\Qlikview\data\product_sales.csv]
(txt, codepage is 1252, embedded labels, delimiter is ',', msq)
group by Product_Line;
シートオブジェクトの作成
*Table Box* シートオブジェクトを作成して、上記のスクリプトによって生成されたデータを表示しましょう。 メニューの[レイアウト]→[新しいシートオブジェクト]→[テーブルボックス]に移動します。 次のウィンドウが表示されます。このウィンドウで、テーブルのタイトルを指定し、表示する必要なフィールドを選択します。 [OK]をクリックすると、以下に示すように、QlikViewテーブルボックスにCSVファイルのデータが表示されます。
QlikView-ピーク機能
QlikViewの* peek()*関数は、前のレコードからフィールドの値を取得し、計算で使用するために使用されます。
入力データ
以下に示すように、月間売上高を考えてみましょう。 ファイル名monthly_sales.csvでデータを保存します。
Month,Sales Volume
March,2145
April,2458
May,1245
June,5124
July,7421
August,2584
September,5314
October,7846
November,6532
December,4625
January,8547
February,3265
スクリプトをロード
上記のデータは、スクリプトエディターを使用してQlikViewメモリに読み込まれます。 [ファイル]メニューからスクリプトエディターを開くか、 Control + E を押します。 上記のデータを含むファイルの Table Files オプションを選択します。 ロードスクリプトを編集して、次のコードを追加します。 OK をクリックし、 Control + R をクリックして、QlikViewのメモリにデータをロードします。
LOAD Month,
[Sales Volume],
peek('Sales Volume') as Prevmonth
FROM
[C:\Qlikview\data\monthly_sales.csv]
(txt, codepage is 1252, embedded labels, delimiter is ',', msq);
シートオブジェクトの作成
上記のスクリプトによって生成されたデータを表示する Table Box シートオブジェクトを作成しましょう。 メニュー項目*レイアウト→新規シートオブジェクト→テーブルボックス*に移動します。 次のウィンドウが表示されます。このウィンドウで、テーブルのタイトルを指定し、表示する必要なフィールドを選択します。 [OK]をクリックすると、以下に示すように、QlikViewテーブルボックスにcsvファイルのデータが表示されます。 また、以下に示すようにソート順を設定して、ソースの場合と同じ Month フィールドの順序で結果を取得します。
上記の手順を完了し、[完了]をクリックすると、下に示すデータを示す[テーブル]ボックスが表示されます。
計算でのpeek()関数の使用
- peek()*は、他の列を含む計算で使用できます。 各月の販売量の変化率を表示してみましょう。 次のスクリプトはこの結果を達成します。
LOAD
Month, [Sales Volume],
peek('Sales Volume') as Prevvolume,
(([Sales Volume]-peek('Sales Volume')))/peek('Sales Volume')*100 as Difference
FROM
[C:\Qlikview\data\monthly_sales.csv]
(txt, codepage is 1252, embedded labels, delimiter is ',', msq);
シートオブジェクトの作成
上記のスクリプトによって生成されたデータを表示する Table Box シートオブジェクトを作成しましょう。 メニュー項目*レイアウト→新規シートオブジェクト→テーブルボックス*に移動します。 次のウィンドウが表示されます。このウィンドウで、テーブルのタイトルを指定し、表示する必要なフィールドを選択します。 [OK]をクリックすると、以下に示すように、QlikViewテーブルボックスにCSVファイルのデータが表示されます。
QlikView-RangeSum関数
QlikViewの* RangeSum()*関数は、選択したフィールドで選択的な合計を実行するために使用されますが、これは合計関数では簡単に達成できません。 他の関数を含む式を引数として受け取り、それらの式の合計を返すことができます。
入力データ
以下に示すように、月間売上高を考えてみましょう。 ファイル名monthly_sales.csvでデータを保存します。
Month,Sales Volume
March,2145
April,2458
May,1245
June,5124
July,7421
August,2584
September,5314
October,7846
November,6532
December,4625
January,8547
February,3265
スクリプトをロード
上記のデータは、スクリプトエディターを使用してQlikViewメモリに読み込まれます。 [ファイル]メニューからスクリプトエディターを開くか、 Control + E を押します。 [ファイルのデータ]タブから[テーブルファイル]オプションを選択し、上記のデータを含むファイルを参照します。 ロードスクリプトを編集して、次のコードを追加します。 OK をクリックし、 Control + R をクリックして、QlikViewのメモリにデータをロードします。
LOAD
Month, [Sales Volume]
FROM
[C:\Qlikview\data\monthly_sales.csv]
(txt, codepage is 1252, embedded labels, delimiter is ',', msq);
RangeSum()関数の適用
上記のデータをQlikViewのメモリにロードしたら、スクリプトを編集して新しい列を追加します。これにより、月ごとの販売量のローリング合計が得られます。 このため、前の章で説明したピーク関数の助けを借りて、前のレコードの値を保持し、現在のレコードの販売量に追加します。 次のスクリプトは結果を達成します。
LOAD
Month, [Sales Volume],
rangesum([Sales Volume],peek('Rolling')) as Rolling
FROM
[C:\Qlikview\data\monthly_sales.csv]
(txt, codepage is 1252, embedded labels, delimiter is ',', msq);
シートオブジェクトの作成
*Table Box* シートオブジェクトを作成して、上記のスクリプトによって生成されたデータを表示しましょう。 メニューの[レイアウト]→[新しいシートオブジェクト]→[テーブルボックス]に移動します。
次のウィンドウが表示されます。このウィンドウで、テーブルのタイトルを指定し、表示する必要なフィールドを選択します。 [OK]をクリックすると、以下に示すように、QlikViewテーブルボックスにCSVファイルのデータが表示されます。
QlikView-ドキュメント
QlikViewドキュメントは、データの表示と分析に使用されるすべてのオブジェクトを含むファイルです。 これには、シート、変数、データモデル、ソースデータ接続の詳細、さらにはソースからプルした後にロードされるデータも含まれます。
ドキュメントのプロパティ
QlikViewドキュメントの基本情報をすばやく見つけることができます。 *ヘルプ→ドキュメントサポート情報*をクリックします。 以下に出力例を示します。
ドキュメントの背景画像を設定する
- 全般*タブの下のチェックボックス*壁紙画像*チェックボックスを使用して、ドキュメントの背景画像として画像を設定できます。 画像を選択し、ドロップダウンボタンを使用して左上の位置に配置します。
上記のオプションを選択すると、次の画面が表示されます。
シートオブジェクト
QlikViewドキュメントにはさまざまなSheetオブジェクトが含まれており、それらをドラッグしてドキュメント内の任意の場所に配置することで移動できます。 2つのシートオブジェクト、 Table box および Statistics Box を作成しましょう。 シートオブジェクトの作成について既に学習した以前の章に従うことができます。 さらに、http://www.finddevguides.com/qlikview/qlikview_aggregate_functions []こちらに記載されているProduct_sales.csvファイルを使用しています。
スプレッドシートオブジェクトの詳細は、[シート]タブを使用して確認できます。 ドキュメントに含まれるすべてのシートが表示され、各シートにはシートオブジェクトが表示されます。 シートとシートオブジェクトの両方に一意のIDがあります。 このタブ自体から、これらのオブジェクトのさまざまなプロパティを編集することもできます。
ドキュメントのスケジュール
QlikViewドキュメントは、いくつかの望ましい間隔で更新するようにスケジュールできます。 これは、ドキュメントプロパティウィンドウの下にある[スケジュール]タブを使用して行います。
QlikView-リストボックス
- リストボックス*は、特定のフィールドのすべての値のリストを表します。 リストボックスで値を選択すると、他のシートオブジェクトの関連する値が強調表示されます。 これにより、視覚分析を高速化できます。 さまざまなシートオブジェクト間でドリルダウンパスをたどることも非常に便利です。 また、リストボックスで特定の値を検索できる検索機能もあり、非常に長い値のリストに非常に役立ちます。
入力データ
さまざまな製品ラインと製品カテゴリの売上高を表す次の入力データを考えてみましょう。
Product_Line,Product_category,Value
Sporting Goods,Outdoor Recreation,5642
Food, Beverages & Tobacco,2514
Apparel & Accessories,Clothing,2365
Apparel & Accessories,Costumes & Accessories,4487
Sporting Goods,Athletics,812
Health & Beauty,Personal Care,6912
Arts & Entertainment,Hobbies & Creative Arts,5201
Arts & Entertainment,Paintings,8451
Arts & Entertainment,Musical Instruments,1245
Hardware,Tool Accessories,456
Home & Garden,Bathroom Accessories,241
Food,Drinks,1247
Home & Garden,Lawn & Garden,5462
Office Supplies,Presentation Supplies,577
Hardware,Blocks,548
Baby & Toddler,Diapering,1247
Baby & Toddler,Toys,257
Home & Garden,Pipes,1241
Office Supplies,Display Board,2177
スクリプトをロード
上記のデータは、スクリプトエディターを使用してQlikViewメモリに読み込まれます。 [ファイル]メニューからスクリプトエディターを開くか、 Control + E を押します。 [ファイルのデータ]タブから[テーブルファイル]オプションを選択し、上記のデータを含むファイルを参照します。 ロードスクリプトを編集して、次のコードを追加します。 OK をクリックし、 Control + R をクリックして、QlikViewのメモリにデータをロードします。
LOAD Product_Line,
Product_category,
Value
FROM
[C:\Qlikview\data\product_sales.csv]
(txt, codepage is 1252, embedded labels, delimiter is ',', msq);
リストボックスの作成
- リストボックス*の作成には、メニュー*レイアウト→新規シートオブジェクト→リストボックス*をナビゲートすることが含まれます。 次の画面は、これらの手順を示しています。
次に、リストボックスを作成するフィールドとして製品カテゴリを選択します。
リストボックスデータ
上記の手順を完了すると、次の画面が表示され、製品カテゴリの値がリストボックスとして表示されます。
リストボックスの検索オプション
リストボックスに非常に多くの値が含まれている場合、下にスクロールして検索することは困難です。 そのため、リストボックスの上部にある検索ボックスを使用して、検索文字列を入力できます。 最初の文字が入力されるとすぐに、関連する値が表示されます。
リストボックスと関連付け
他のシートオブジェクトは自動的にリストボックスに関連付けられ、リストボックスから値を選択することで簡単に関連付けを確認できます。
QlikView-マルチボックス
*Multi Box* は、複数のフィールドのすべての値のリストをドロップダウン値として表します。 リストボックスと同様に、マルチボックスで値を選択すると、他のシートオブジェクトの関連する値が強調表示されます。 これにより、視覚分析を高速化できます。 さまざまなシートオブジェクト間でドリルダウンパスをたどることも非常に便利です。
入力データ
さまざまな製品ラインと製品カテゴリの売上高を表す次の入力データを考えてみましょう。
Product_Line,Product_category,Value
Sporting Goods,Outdoor Recreation,5642
Food, Beverages & Tobacco,2514
Apparel & Accessories,Clothing,2365
Apparel & Accessories,Costumes & Accessories,4487
Sporting Goods,Athletics,812
Health & Beauty,Personal Care,6912
Arts & Entertainment,Hobbies & Creative Arts,5201
Arts & Entertainment,Paintings,8451
Arts & Entertainment,Musical Instruments,1245
Hardware,Tool Accessories,456
Home & Garden,Bathroom Accessories,241
Food,Drinks,1247
Home & Garden,Lawn & Garden,5462
Office Supplies,Presentation Supplies,577
Hardware,Blocks,548
Baby & Toddler,Diapering,1247
Baby & Toddler,Toys,257
Home & Garden,Pipes,1241
Office Supplies,Display Board,2177
スクリプトをロード
上記のデータは、スクリプトエディターを使用してQlikViewメモリに読み込まれます。 [ファイル]メニューからスクリプトエディターを開くか、 Control + E を押します。 [ファイルのデータ]タブから[テーブルファイル]オプションを選択し、上記のデータを含むファイルを参照します。 ロードスクリプトを編集して、次のコードを追加します。 OK をクリックし、 Control + R をクリックして、QlikViewのメモリにデータをロードします。
LOAD Product_Line,
Product_category,
Value
FROM
[C:\Qlikview\data\product_sales.csv]
(txt, codepage is 1252, embedded labels, delimiter is ',', msq);
マルチボックスの作成
マルチボックスの作成には、メニューの[レイアウト]→[新しいシートオブジェクト]→[マルチボックス]を使用する必要があります。 次の画面は、これらの手順を示しています。
次に、製品販売テーブルのフィールドを選択して、マルチボックスを構築します。
マルチボックスデータ
上記の手順を完了すると、次の画面が表示され、製品カテゴリの値がマルチボックスとして表示されます。
マルチボックスと関連付け
他のシートオブジェクトは自動的にマルチボックスに関連付けられ、その関連付けはマルチボックスから値を選択することで簡単に観察できます。
QlikView-テキストオブジェクト
QlikView text Object は、表示されているQlikViewレポートに関する説明情報を表示するために使用されます。 特定の式に基づいた計算も表示できます。 主に、他のシートオブジェクトとは別に、ボックス内の色と異なるフォントタイプを使用して、適切にフォーマットされた情報を表示するために使用されます。
入力データ
さまざまな製品ラインと製品カテゴリの売上高を表す次の入力データを考えてみましょう。
Product_Line,Product_category,Value
Sporting Goods,Outdoor Recreation,5642
Food, Beverages & Tobacco,2514
Apparel & Accessories,Clothing,2365
Apparel & Accessories,Costumes & Accessories,4487
Sporting Goods,Athletics,812
Health & Beauty,Personal Care,6912
Arts & Entertainment,Hobbies & Creative Arts,5201
Arts & Entertainment,Paintings,8451
Arts & Entertainment,Musical Instruments,1245
Hardware,Tool Accessories,456
Home & Garden,Bathroom Accessories,241
Food,Drinks,1247
Home & Garden,Lawn & Garden,5462
Office Supplies,Presentation Supplies,577
Hardware,Blocks,548
Baby & Toddler,Diapering,1247
Baby & Toddler,Toys,257
Home & Garden,Pipes,1241
Office Supplies,Display Board,2177
スクリプトをロード
上記のデータは、スクリプトエディターを使用してQlikViewメモリに読み込まれます。 [ファイル]メニューからスクリプトエディターを開くか、 Control + E を押します。 [ファイルからのデータ]タブから[テーブルファイル]オプションを選択し、上記のデータを含むファイルを参照します。 ロードスクリプトを編集して、次のコードを追加します。 [OK]をクリックし、[Control + R]を押してQlikViewのメモリにデータをロードします。
LOAD Product_Line,
Product_category,
Value
FROM
[C:\Qlikview\data\product_sales.csv]
(txt, codepage is 1252, embedded labels, delimiter is ',', msq);
テーブルボックスの作成
上記のデータの場合、データを表形式で表示する Table Box を作成します。 メニューの[レイアウト]→[新しいシートオブジェクト]→[テーブルボックス]に移動し、以下に示すように列を選択します。
2_text_object_create_table_box
[適用]をクリックしてから[OK]をクリックして、テーブルボックスの作成を完了します。 次の画面が表示されます。
3_text_object_create_table_box
テキストオブジェクトの作成
上記のデータについて、*テキストオブジェクト*を作成しましょう。 以下に示すように、メニューの[レイアウト]→[新しいシートオブジェクト]→[テキストオブジェクト]に移動します。
テキストオブジェクト式の作成
上記で作成したテキストボックスで、右クリックしてプロパティを選択します。 次に、以下に示すように、[全般]タブの下の[テキスト]ボックスに、テキストオブジェクトに表示するコンテンツを入力します。
背景色の選択
テキストオブジェクトの背景色は、[全般]タブの背景オプションを使用して設定できます。
テキストオブジェクト
最終的なテキストオブジェクトを以下に示します。 いくつかの製品ラインをクリックしてフィルタリングすると、それに応じてテキストオブジェクトのコンテンツが変更され、新しい値が反映されます。
QlikView-棒グラフ
棒グラフは、棒の形の2つのディメンション間の関係を調べるために非常に広く使用されているグラフ作成方法です。 グラフ内のバーの高さは、1つの次元の値を表します。 バーの数は、別のディメンションの値のシーケンスまたはグループ化された値を表します。
入力データ
さまざまな製品ラインと製品カテゴリの売上高を表す次の入力データを考えてみましょう。
Product_Line,Product_category,Value
Sporting Goods,Outdoor Recreation,5642
Food, Beverages & Tobacco,2514
Apparel & Accessories,Clothing,2365
Apparel & Accessories,Costumes & Accessories,4487
Sporting Goods,Athletics,812
Health & Beauty,Personal Care,6912
Arts & Entertainment,Hobbies & Creative Arts,5201
Arts & Entertainment,Paintings,8451
Arts & Entertainment,Musical Instruments,1245
Hardware,Tool Accessories,456
Home & Garden,Bathroom Accessories,241
Food,Drinks,1247
Home & Garden,Lawn & Garden,5462
Office Supplies,Presentation Supplies,577
Hardware,Blocks,548
Baby & Toddler,Diapering,1247
Baby & Toddler,Toys,257
Home & Garden,Pipes,1241
Office Supplies,Display Board,2177
スクリプトをロード
上記のデータは、スクリプトエディターを使用してQlikViewメモリにロードされます。 [ファイル]メニューからスクリプトエディターを開くか、 Control + E を押します。 [ファイルからのデータ]タブから[テーブルファイル]オプションを選択し、上記のデータを含むファイルを参照します。 ロードスクリプトを編集して、次のコードを追加します。 [OK]をクリックし、 [Control + R] を押して、データをQlikViewのメモリにロードします。
LOAD Product_Line,
Product_category,
Value
FROM
[C:\Qlikview\data\product_sales.csv]
(txt, codepage is 1252, embedded labels, delimiter is ',', msq);
テーブルボックス(シートオブジェクト)の作成
上記のデータの場合、データを表形式で表示する Table Box を作成しましょう。 メニューの[レイアウト]→[新しいシートオブジェクト]→[テーブルボックス]に移動し、以下に示すように列を選択します。
2_text_object_create_table_box
[適用]をクリックしてから[OK]をクリックして、テーブルボックスの作成を完了します。 以下の画面が表示されます。
3_text_object_create_table_box
クイックチャートウィザードの使用
棒グラフの作成を開始するには、クイックチャートウィザードを使用します。 クリックすると、次の画面が表示され、グラフの種類を選択するように求められます。 [棒グラフ]を選択して、[次へ]をクリックします。
チャートディメンションを選択する
最初のディメンションとして製品ラインを選択します。
チャート式を選択してください
チャート式は、数値が含まれるフィールドに Sum、Average、Count などの関数を適用するために使用されます。 Valueという名前のフィールドにSum関数を適用します。 Nextをクリックしてください。
チャート形式を選択する
チャート形式は、チャートのスタイルと向きを定義します。 各カテゴリで最初のオプションを選択します。 Nextをクリックしてください。
棒グラフ
下図のように棒グラフが表示されます。 さまざまな製品ラインのフィールド値の高さを示しています。
QlikView-円グラフ
- 円グラフ*は、異なる色の円のスライスとしての値の表現です。 スライスにはラベルが付けられ、各スライスに対応する番号もチャートに表示されます。 QlikViewは、チャートウィザードまたはチャートシートオブジェクトを使用して円グラフを作成します。
入力データ
さまざまな製品ラインと製品カテゴリの売上高を表す次の入力データを考えてみましょう。
Product_Line,Product_category,Value
Sporting Goods,Outdoor Recreation,5642
Food, Beverages & Tobacco,2514
Apparel & Accessories,Clothing,2365
Apparel & Accessories,Costumes & Accessories,4487
Sporting Goods,Athletics,812
Health & Beauty,Personal Care,6912
Arts & Entertainment,Hobbies & Creative Arts,5201
Arts & Entertainment,Paintings,8451
Arts & Entertainment,Musical Instruments,1245
Hardware,Tool Accessories,456
Home & Garden,Bathroom Accessories,241
Food,Drinks,1247
Home & Garden,Lawn & Garden,5462
Office Supplies,Presentation Supplies,577
Hardware,Blocks,548
Baby & Toddler,Diapering,1247
Baby & Toddler,Toys,257
Home & Garden,Pipes,1241
Office Supplies,Display Board,2177
スクリプトをロード
上記のデータは、スクリプトエディターを使用してQlikViewメモリに読み込まれます。 [ファイル]メニューからスクリプトエディターを開くか、 Control + E を押します。 [ファイルからのデータ]タブから[テーブルファイル]オプションを選択し、上記のデータを含むファイルを参照します。 ロードスクリプトを編集して、次のコードを追加します。 [OK]をクリックし、[Control + R]を押してQlikViewのメモリにデータをロードします。
LOAD Product_Line,
Product_category,
Value
FROM
[C:\Qlikview\data\product_sales.csv]
(txt, codepage is 1252, embedded labels, delimiter is ',', msq);
クイックチャートウィザードの使用
円グラフの作成を開始するには、クイックチャートウィザードを使用します。 クリックすると、次の画面が表示され、グラフの種類を選択するように求められます。 [円グラフ]を選択して、[次へ]をクリックします。
チャートディメンションを選択する
最初のディメンションとして製品ラインを選択します。
チャート式を選択してください
チャート式は、数値のフィールドに Sum、Average、Count などの関数を適用するために使用されます。 Valueという名前のフィールドにSum関数を適用します。 Nextをクリックしてください。
チャート形式を選択する
チャート形式は、チャートのスタイルと向きを定義します。 3番目のオプションを選択します。 Nextをクリックしてください。
円グラフ
下図のように棒グラフが表示されます。 さまざまな製品ラインのフィールド値の高さを示しています。
QlikView-ダッシュボード
ダッシュボードは、多くのフィールドの値を同時に表示する強力な機能です。 メモリ内のデータ関連付けのQlikeViewの機能は、すべてのシートオブジェクトの動的な値を表示できます。
入力データ
さまざまな製品ラインと製品カテゴリの売上高を表す次の入力データを考えてみましょう。
Product_Line,Product_category,Value
Sporting Goods,Outdoor Recreation,5642
Food, Beverages & Tobacco,2514
Apparel & Accessories,Clothing,2365
Apparel & Accessories,Costumes & Accessories,4487
Sporting Goods,Athletics,812
Health & Beauty,Personal Care,6912
Arts & Entertainment,Hobbies & Creative Arts,5201
Arts & Entertainment,Paintings,8451
Arts & Entertainment,Musical Instruments,1245
Hardware,Tool Accessories,456
Home & Garden,Bathroom Accessories,241
Food,Drinks,1247
Home & Garden,Lawn & Garden,5462
Office Supplies,Presentation Supplies,577
Hardware,Blocks,548
Baby & Toddler,Diapering,1247
Baby & Toddler,Toys,257
Home & Garden,Pipes,1241
Office Supplies,Display Board,2177
スクリプトをロード
上記のデータは、スクリプトエディターを使用してQlikViewメモリに読み込まれます。 [ファイル]メニューからスクリプトエディターを開くか、 Control + E を押します。 [ファイルからのデータ]タブから[テーブルファイル]オプションを選択し、上記のデータを含むファイルを参照します。 ロードスクリプトを編集して、次のコードを追加します。 [OK]をクリックし、[Control + R]を押してQlikViewのメモリにデータをロードします。
LOAD Product_Line,
Product_category,
Value
FROM
[C:\Qlikview\data\product_sales.csv]
(txt, codepage is 1252, embedded labels, delimiter is ',', msq);
行列を選択
上記の入力データから、ダッシュボードに表示されるマトリックスとしてフィールドを選択します。 このために、メニューの[レイアウト]→[フィールドの選択]の手順に従います。
次の画面で、ダッシュボードに表示する使用可能なフィールドを選択します。 「OK」をクリックしてください。
次の画面が表示され、すべてのフィールドが表示されます
ダッシュボードへのチャートの追加
ここで、シート内の任意の場所を右クリックし、*新しいシートオブジェクト→チャート*を選択して、ダッシュボードにチャートを追加します。
グラフの種類を選択してください
さまざまな製品ラインの売上値を表示するために、チャートタイプを棒グラフとして選択してみましょう。
チャート寸法
Product LineをChart Dimensionとして選択します。
チャート式
Product Lineディメンションの売上値を表示する式は、式エディタで作成されます。
ダッシュボード
上記の手順を完了すると、次のダッシュボードが表示されます。
ダッシュボードを使用する
上記のダッシュボードの値は、特定の製品をフィルタリングするために選択でき、チャートはそれに応じて変化します。 さらに、関連する値が強調表示されます。
QlikView-データ変換
データ変換は、既存のデータを新しいデータ形式に変更するプロセスです。 また、既存のデータセットへの特定の値のフィルタリングまたは追加も含まれます。 QlikViewは、メモリに読み込んで多くの組み込み関数を使用した後、データ変換を実行できます。
入力データ
各月の売上高を表す次の入力データを考えてみましょう。 これは、quarterly_sales.csvという名前のcsvファイルとして保存されます
Month,SalesVolume
March,2145
April,2458
May,1245
Sales Values in Q2
June,5124
July,7421
August,2584
Sales Values in Q3
September,5314
October,7846
November,6532
December,4625
January,8547
February,3265
データの読み込み
上記のデータは、スクリプトエディターを使用してQlikViewメモリに読み込まれます。 [ファイル]メニューからスクリプトエディタを開くか、 Control + E. を押します。[ファイルからのデータ]タブから[テーブルファイル]オプションを選択し、ファイルquarterlt_sales.csvを参照します。 次へをクリックしてください。
変換ウィザード
次の画面では、データ変換を選択するよう求められます。 [変換ステップを有効にする]ボタンをクリックします。
変換タイプ
このステップでは、四半期を表す行を削除する変換を選択します。 *ゴミ箱→マーク付きの削除*を選択し、2行を選択しますが、これらは不要です。 Nextをクリックしてください。
ファイルウィザードオプション
変換のタイプと削除する行を選択すると、次の画面で、where句の選択やプレフィックスの追加など、さらに変換を行うように求められます。 この手順を無視して、[完了]をクリックします。
変換されたデータのロードスクリプト
すべての変換ステップが完了した後の上記データのロードスクリプトを以下に示します。
変換されたデータの表示
変換されたデータは、 Table Box シートオブジェクトを使用して表示できます。 それを作成する手順を以下に示します。
次に、テーブルボックスのフィールドを選択します。
テーブルボックスにシートのデータが表示されます。
QlikView-塗りつぶし関数
QlikViewの Fill 関数は、既存のフィールドから新しいフィールドに値を入力するために使用されます。
入力データ
実際の売上高と予測される売上高を表す次の入力データを考えてみましょう。
Month,Forecast,Actual
March,2145,2247
April,2458,
May,1245,
June,5124,3652
July,7421,7514
August,2584,
September,5314,4251
October,7846,6354
November,6532,7451
December,4625,1424
January,8547,7852
February,3265,
スクリプトをロード
上記のデータは、スクリプトエディターを使用してQlikViewメモリにロードされます。 [ファイル]メニューからスクリプトエディターを開くか、 Control + E を押します。 [ファイルからのデータ]タブから[テーブルファイル]オプションを選択し、上記のデータを含むファイルを参照します。
上記の手順で[次へ]をクリックした後、[変換手順を有効にする]ボタンを選択して、必要なデータ変換を実行します。
データ変換の選択
*Fill* 関数を使用するため、[実際のフィールド]の下に空の値を表示する[Fill]タブを選択します。
塗りつぶし条件を作成する
[塗りつぶし]ボタンをクリックすると、ターゲット列とセル条件を選択するオプションが表示されます。 この列の空の値を列2の同じ行の値で埋めたいので、列3を選択します。 また、空のセルのみが新しい値で上書きされるように、セル値を空として選択します。
変換されたデータ
上記の手順を完了すると、次のように変換されたデータが取得されます。
変換済みデータのロードスクリプト
変換されたデータのロードスクリプトは、スクリプトエディターを使用して表示できます。 スクリプトは、空のセル値を置き換える式を表示します。
変換されたデータを表示する
変換されたデータは、メニューの[レイアウト]→[新しいシートオブジェクト]のオプションを使用して*テーブルボックス*を作成することで確認できます。
QlikView-列操作
列操作はデータ変換の一種で、新しい列に既存の列の値が入力され、特定の基準に適合します。 基準は、データ変換ステップの一部として作成される式にすることができます。
入力データ
実際の売上高と予測される売上高を表す次の入力データを考えてみましょう。
Month,Forecast,Actual
March,2145,2247
April,2458,2125
May,1245,2320
June,5124,3652
July,7421,7514
August,2584,3110
September,5314,4251
October,7846,6354
November,6532,7451
December,4625,1424
January,8547,7852
February,3265,2916
スクリプトをロード
上記のデータは、スクリプトエディターを使用してQlikViewメモリに読み込まれます。 [ファイル]メニューからスクリプトエディターを開くか、 Control + E を押します。 [ファイルからのデータ]タブから[テーブルファイル]オプションを選択し、上記のデータを含むファイルを参照します。 [次へ]をクリックした後、[変換ステップを有効にする]ボタンを選択して、必要なデータ変換を実行します。
データ変換の選択
[列]タブを選択し、[新規]ボタンを選択します。 *新しい列*と行条件を指定するように求められます。 ソース列として列3を指定し、行条件として2で始まる値を選択します。
変換されたデータ
上記の手順を完了すると、次のように変換されたデータが取得されます。
変換されたデータのロードスクリプト
変換されたデータのロードスクリプトは、スクリプトエディターを使用して表示できます。 スクリプトは式を表示し、必要な値を持つ新しい列を作成します。
変換されたデータを表示する
変換されたデータは、メニューの[レイアウト]→[新しいシートオブジェクト]のオプションを使用して*テーブルボックス*を作成することで確認できます。
QlikView-テーブルの回転
QlikViewの回転テーブルは、Microsoft Excelの列と行の転置機能に似ていますが、いくつかの追加オプションがあります。 列を複数の方向に転置できますが、結果は異なります。 この章では、行を列に変換する通常の転置オプションについて説明します。
入力データ
実際の売上高と予測される売上高を表す次の入力データを考えてみましょう。
Month,Forecast,Actual
March,2145,2247
April,2458,
May,1245,
June,5124,3652
July,7421,7514
August,2584,
September,5314,4251
October,7846,6354
November,6532,7451
December,4625,1424
January,8547,7852
February,3265,
スクリプトをロード
上記のデータは、スクリプトエディターを使用してQlikViewメモリに読み込まれます。 [ファイル]メニューからスクリプトエディターを開くか、 Control + E を押します。 [ファイルからのデータ]タブから[テーブルファイル]オプションを選択し、上記のデータを含むファイルを参照します。
[次へ]をクリックした後、[変換ステップを有効にする]ボタンを選択して、必要なデータ変換を実行します。
データ変換の選択
*Rotate* 関数を使用するので、すべてのフィールドの値を表示するRotateタブを選択しましょう。
回転を適用
[トランスポーズ]ボタンをクリックして、上記のデータをトランスポーズします。 転置されたデータは次のように表示されます。
変換済みデータのロードスクリプト
変換されたデータのロードスクリプトは、スクリプトエディターを使用して表示できます。 スクリプトは、空のセル値を置き換える式を表示します。
変換されたデータを表示する
変換されたデータは、メニューの[レイアウト]→[新しいシートオブジェクト]のオプションを使用して*テーブルボックス*を作成することで確認できます。
QlikView-ディメンションとメジャー
ディメンションとメジャーは基本的なエンティティであり、データ分析で常に使用されます。 たとえば、分析結果を考えてみましょう。*「各四半期の販売量の変化率は?」*この場合、各四半期はディメンション(四半期の名前)を表します。 ボリュームの変化率は、*メジャー*を表します。これは、ディメンションの各値に関する計算です。 以下は、これら2つの用語の広く受け入れられている定義です。
- ディメンション-いくつかの異なる値を表すデータセット内の記述フィールドです。 例-月、年、製品IDなど
- 措置-ディメンションの個別の値ごとにいくつかの計算が実行される数値フィールドです。
入力データ
さまざまな地域のさまざまな製品ラインと製品カテゴリの販売量と収益を表す次の入力データを考えてみましょう。 データを.csvファイルに保存します。
ProductID,ProductCategory,Region,SalesVolume, Revenue
1,Outdoor Recreation,Europe,457,25841
2,Clothing,Europe,125,54281
3,Costumes & Accessories,South Asia,781,54872
4,Athletics,South Asia,839,87361
5,Personal Care,Australia,473,15425
6,Arts & Entertainment,North AMerica,625,84151
7,Hardware,South America,772,45812
スクリプトをロード
上記のデータは、スクリプトエディターを使用してQlikViewメモリにロードされます。 [ファイル]メニューからスクリプトエディターを開くか、 Control + E を押します。 [ファイルのデータ]タブから[テーブルファイル]オプションを選択し、上記のデータを含むファイルを参照します。 OK をクリックし、 Control + R を押してQlikViewのメモリにデータをロードします
テーブル構造
メニューの[ファイル]→[テーブルビューアー]をクリックするか、 Control + T を押すと、テーブルの構造を確認できます。 次の画面が表示され、緑色のボックス内の寸法と赤色のボックス内のメジャーがマークされています。
ディメンションとメジャーの使用
上記のディメンションとメジャーを使用した計算を示すストレートテーブルチャートを作成します。 以下に示す Quick Chart Wizard をクリックします。
次に、 Straight Table オプションをクリックします。 Nextをクリックしてください。
寸法を選択
この画面では、各地域の総収益を選択するため、ディメンションとして地域を選択します。
測定を選択
次の画面では、メジャーフィールドに計算を適用するように求められます。 収益フィールドに*合計*を適用することを選択します。
最終チャート
上記の手順を完了すると、各地域(ディメンション)の総収益(メジャー)を示す最終チャートが表示されます。
QlikView-スタースキーマ
開始スキーマモデルは、複数のディメンションが単一のファクトテーブルにリンクされているデータモデルの一種です。 もちろん、より大きなモデルでは、複数のディメンションや他のファクトテーブルにリンクされた複数のファクトテーブルが存在する場合があります。 このモデルの有用性は、さまざまなテーブル間で最小限の結合で高速クエリを実行することにあります。 ファクトテーブルには、数値であるメジャーであるデータが含まれています。 計算は、ファクトテーブルのフィールドに適用されます。 ディメンションテーブルの一意のキーは、それをファットテーブルにリンクする際に使用されます。ファットテーブルには、通常同じフィールド名のキーもあります。 したがって、ファクトテーブルにはディメンションテーブル全体のキーが含まれ、さまざまなクエリで使用される連結された主キーを形成します。
入力データ
以下は、さまざまなサプライヤや地域のさまざまな製品のデータを含む表のリストです。 また、供給はさまざまな時間間隔で発生し、それらは時間ディメンションテーブルにキャプチャされます。
製品寸法
製品カテゴリと製品名が含まれています。 製品IDフィールドは一意のキーです。
ProductID,ProductCategory,ProductName
1,Outdoor Recreation,Winter Sports & Activities
2,Clothing,Uniforms
3,Lawn & Garden Power, Equipment
4,Athletics,Rugby
5,Personal Care,Shaver
6,Arts & Entertainment,Crafting Materials
7,Hardware,Power Tool Batteries
領域寸法
サプライヤの拠点となる地域名が含まれています。 RegionIDフィールドは一意のキーです。
RegionID,Continent,Country
3,North America, USA
7,South America, Brazil
12,Asia,China
2,Asia,Japan
5,Europe,Belgium
サプライヤー寸法
上記の製品を提供するサプライヤ名が含まれています。 SupplierIDフィールドは一意のキーです。
SupplierID,SupplierName
3S12,Supre Suppliers
4A15,ABC Suppliers
4S66,Max Sports
5F244,Nice Foods
8A45,Artistic angle
時間次元
上記の製品の供給が発生する期間が含まれています。 TimeIDフィールドは一意のキーです。
TimeID,Year,Month
1,2012,Feb
2,2012,May
3,2012,Sep
4,2013,Aug
5,2014,Jan
6,2014,Nov
サプライヤー数量の事実
供給された数量の値とそれらの欠陥の割合が含まれています。 同じ名前のキーを介して上記の各ディメンションに結合します。
ProductID,RegionID,TimeID,SupplierID,Quantity, DefectPercentage
1,3,3,5F244,8452,12
2,3,1,4S66,5124,8.25
3,7,1,8A45,5841,7.66
4,12,2,4A15,5123,1.25
5,5,3,4S66,7452,8.11
6,2,5,4A15,5142,3.66
7,2,1,4S66,452,2.06
スクリプトをロード
上記のデータは、スクリプトエディターを使用してQlikViewメモリに読み込まれます。 [ファイル]メニューからスクリプトエディターを開くか、 Control + E を押します。 [ファイルのデータ]タブから[テーブルファイル]オプションを選択し、上記のデータを含むファイルを参照します。 OK をクリックし、 Control + R を押してQlikViewのメモリにデータをロードします。 上記の各ファイルが読み取られた後に表示されるスクリプトを以下に示します。
LOAD ProductID,
ProductCategory,
ProductName
FROM
[C:\Qlikview\images\StarSchema\Product_dimension.csv]
(txt, codepage is 1252, embedded labels, delimiter is ',', msq);
LOAD TimeID,
Year,
Month
FROM
[C:\Qlikview\images\StarSchema\Time.csv]
(txt, codepage is 1252, embedded labels, delimiter is ',', msq);
LOAD SupplierID,
SupplierName
FROM
[C:\Qlikview\images\StarSchema\Suppliers.csv]
(txt, codepage is 1252, embedded labels, delimiter is ',', msq);
LOAD RegionID,
Continent,
Country
FROM
[C:\Qlikview\images\StarSchema\Regions.csv]
(txt, codepage is 1252, embedded labels, delimiter is ',', msq);
LOAD ProductID,
RegionID,
TimeID,
SupplierID,
Quantity,
DefectPercentage
FROM
[C:\Qlikview\images\StarSchema\Supplier_quantity.csv]
(txt, codepage is 1252, embedded labels, delimiter is ',', msq);
スタースキーマデータモデル
上記のデータをQlikViewメモリに読み込んだ後、すべてのテーブル、フィールド、およびリレーションシップをスタースキーマの形式で表示するデータモデルを確認できます。
QlikView-合成キー
*Synthetic Key* は、2つのテーブル間で使用するキーがあいまいな場合に人工キーを作成するQlikViewのソリューションです。 この状況は、2つのテーブルに共通の2つ以上のフィールドがある場合に発生します。 メモリに関連付けを作成するQlikViewの機能は、このシナリオを自動的に検出し、作成された新しいキーの値を保持する追加のテーブルを作成します。
入力データ
次の2つのCSVデータファイルを考えてみましょう。これらのファイルは、詳細な説明の入力として使用されます。
Sales:
ProductID,ProductCategory,Country,SaleAmount
1,Outdoor Recreation,Italy,4579
2,Clothing,USA,4125
3,Costumes & Accessories,South Korea,6521
Product:
ProductID, Country
3,Brazil
3,China
2,Korea
1,USA
スクリプトをロード
*Control + E* を押すと呼び出されるスクリプトエディターを使用して、上記の入力データを読み込みます。 オプション *Table Files* を選択し、入力ファイルを参照します。
データ・モデル
次に、テーブルビューアーのメニューコマンドであるControl + Tを使用して、データモデルを確認します。 次の画面が表示されます。これは、両方のテーブルに一致するキーとしてProductIDとCountryがあるため、合成キーの値を提供する3番目のテーブルの作成を示しています。
合成キーの影響
合成キーは、使用されているデータモデルの欠陥を示します。 データの正確性やレポートのパフォーマンスに問題を引き起こすことはありません。 ビッグデータモデルに1つまたは2つの合成キーのインスタンスがある場合、問題なく動作します。 ただし、それらが多すぎる場合は、データモデルを再設計することになります。
QlikView-データの生成
多くの場合、使用するソフトウェアによってプログラムから生成されるデータが必要です。これはソースからのものではありません。 たとえば、100個の乱数または1年の第23週の日付だけです。 データアナリストは、到着時にこれらの値が含まれていないデータに対して何らかの分析を実行するために、そのようなデータを作成する必要がある場合があります。 QlikViewは Autogenerate と呼ばれる機能を提供します。この機能はこのような要件に使用できます。
データ要件
木曜日または日曜日である日付のみを検索する必要があるシナリオを考えます。 今日から年末までの範囲で見つける必要があります。 これを実現する次のスクリプトを作成します。
説明
2つの変数を宣言して、現在の月の最初の日と年の終わりをキャプチャします。 次に、さまざまな関数とフィルター条件を適用して、必要な値を生成します。 recno()関数は、これらの日付ごとに1つのレコードを作成します。 変数を範囲として与えるAutogenerate関数を追加します。
生成データ
上記のスクリプトをQlikViewのメモリにロードし、メニューの[レイアウト]→[新しいシートオブジェクト]→[テーブルボックス]を使用してテーブルボックスを作成すると、次のようにデータが作成されます。
QlikView-クロステーブル
データの分析中に、列を行にしたり、列を行にしたりする必要がある状況に遭遇します。 転置するだけでなく、多くの列をまとめてロールアップしたり、行内の多くの値を何度も繰り返して、テーブル内の目的の列と行のレイアウトを実現したりします。
入力データ
各四半期の特定の製品の地域ごとの売上を示す次の入力データを検討してください。 以下のデータで区切られたファイル(CSV)を作成します。
Quarter,Region1,Region2,Region 3
Q1,124,421,471
Q2,415,214,584
Q3,417,321,582
Q4,751,256,95
入力データの読み込み
*Control + E* を押すと呼び出されるスクリプトエディターを使用して、上記の入力データを読み込みます。 オプション *Table Files* を選択し、入力ファイルを参照します。 以下に示すオプションを選択したら、[次へ]をクリックします。
クロステーブルオプション
次のウィンドウ([ファイルウィザード]→[オプション])で、[クロステーブル]ボタンをクリックします。 列を異なる色で強調表示します。 ピンク色は* qualifierフィールド*を示しています。これは、 Attribute Field の各値の多くの行にわたって繰り返されます。 属性フィールドの下のセル値がデータとして取得されます。 OKをクリックしてください。
クロステーブル変換
変換されたデータが表示され、すべての地域フィールドが1列にクラブされますが、四半期ごとに値が繰り返されます。
スクリプトをロード
クロステーブル変換のロードスクリプトには、以下のコマンドが表示されます。
クロステーブルデータ
メニューの[レイアウト]→[新しいシートオブジェクト]→[テーブルボックス]を使用してテーブルボックスシートオブジェクトを作成すると、次の出力が表示されます。
QlikView-ストレートテーブル
ストレートテーブルは、QlikViewでデータを表示するために最も広く使用されているシートオブジェクトです。 列の再配置、並べ替え、背景の色付けなどの機能を備えた非常にシンプルかつ強力です。
入力データ
さまざまな製品ラインと製品カテゴリの売上高を表す次の入力データを考えてみましょう。
Product_Line,Product_category,Value
Sporting Goods,Outdoor Recreation,5642
Food, Beverages & Tobacco,2514
Apparel & Accessories,Clothing,2365
Apparel & Accessories,Costumes & Accessories,4487
Sporting Goods,Athletics,812
Health & Beauty,Personal Care,6912
Arts & Entertainment,Hobbies & Creative Arts,5201
Arts & Entertainment,Paintings,8451
Arts & Entertainment,Musical Instruments,1245
Hardware,Tool Accessories,456
Home & Garden,Bathroom Accessories,241
Food,Drinks,1247
Home & Garden,Lawn & Garden,5462
Office Supplies,Presentation Supplies,577
Hardware,Blocks,548
Baby & Toddler,Diapering,1247
Baby & Toddler,Toys,257
Home & Garden,Pipes,1241
Office Supplies,Display Board,2177
スクリプトをロード
上記のデータは、スクリプトエディターを使用してQlikViewメモリにロードされます。 [ファイル]メニューからスクリプトエディターを開くか、 Control + E を押します。 [ファイルからのデータ]タブから[テーブルファイル]オプションを選択し、上記のデータを含むファイルを参照します。 次の画面が表示されます。
[OK]をクリックし、[Control + R]を押してQlikViewのメモリにデータをロードします
テーブルボックスを作成
次に、テーブルボックスタイプの新しいシートオブジェクトを作成します。 以下に示すメニューに従います。
列を選択
QlikViewは、最終的なテーブルボックスに表示される列の選択を求めます。 すべての列を選択し、 PromoteまたはDemote オプションを使用して列の順序を設定します。
4_straight_table_choose_fields
表示スタイルを選択
次に、スタイルタブを選択して、表示データに特定の背景色を付けます。 現在のスタイルオプションには、多くの構築済みスタイルがリストされています。 Pyjama Red と Stripes を2行ごとに選択します。
列の並べ替え
列ヘッダーでマウスボタンを押したまま、目的の位置にドラッグすることで、列の位置を並べ替えることができます。
7_straight_table_pyjama_reorder
QlikView-ピボットテーブル
ピボットテーブルは、データ分析で広く使用されており、データで使用可能な多くのディメンションの値の合計を表示します。 QlikViewのチャートオプションには、適切なチャートタイプを選択してピボットテーブルを作成する機能があります。
入力データ
さまざまな製品ラインと製品カテゴリの売上高を表す次の入力データを考えてみましょう。
Product_Line,Product_category,Value
Sporting Goods,Outdoor Recreation,5642
Food, Beverages & Tobacco,2514
Apparel & Accessories,Clothing,2365
Apparel & Accessories,Costumes & Accessories,4487
Sporting Goods,Athletics,812
Health & Beauty,Personal Care,6912
Arts & Entertainment,Hobbies & Creative Arts,5201
Arts & Entertainment,Paintings,8451
Arts & Entertainment,Musical Instruments,1245
Hardware,Tool Accessories,456
Home & Garden,Bathroom Accessories,241
Food,Drinks,1247
Home & Garden,Lawn & Garden,5462
Office Supplies,Presentation Supplies,577
Hardware,Blocks,548
Baby & Toddler,Diapering,1247
Baby & Toddler,Toys,257
Home & Garden,Pipes,1241
Office Supplies,Display Board,2177
スクリプトをロード
上記のデータは、スクリプトエディターを使用してQlikViewのメモリに読み込まれます。 [ファイル]メニューからスクリプトエディターを開くか、 Control + E を押します。 [ファイルからのデータ]タブから[テーブルファイル]オプションを選択し、上記のデータを含むファイルを参照します。 次の画面が表示されます。
[OK]をクリックし、[Control + R]を押してデータをQlikViewのメモリにロードします。
グラフの種類を選択
次に、チャートウィザードを使用して、*ピボットテーブル*オプションを選択します。 Nextをクリックしてください。
グラフの次元を選択
次の画面では、チャートの最初のディメンションとしてProduct_Lineを選択します。
チャート式を選択
次の画面では、値の合計を選択するチャート式を選択するよう求められます。
チャート形式を選択
次をクリックすると、スタイルとデフォルトモードとして Pyjama Green を選択するチャート形式を選択する画面が表示されます。
ピボットグラフデータ
上記の手順を完了すると、最終的なチャートは次のようになります。
QlikView-セット分析
QlikViewのSet Analysis機能を使用して、異なるシートオブジェクトのデータを多くのセットに分離し、一部のセットで値を変更せずに保持します。 簡単に言えば、デフォルトの動作ではすべてのシートオブジェクトが相互に関連付けられるのに対して、一部のシートオブジェクトを他のオブジェクトと関連付けないオプションを作成します。 これにより、1つのシートオブジェクトのデータをフィルタリングし、他のシートオブジェクトの対応する結果を確認し、別のセットとして選択したシートオブジェクトは、独自のフィルターに従って値を表示します。
入力データ
さまざまな製品ラインと製品カテゴリの売上高を表す次の入力データを考えてみましょう。
Product_Line,Product_category,Month,Value
Arts & Entertainment,Hobbies & Creative Arts,Jan,5201
Arts & Entertainment,Paintings,Feb,8451
Arts & Entertainment,Musical Instruments,Jan,1245
Baby & Toddler,Diapering,Mar,1247
Baby & Toddler,Toys,Dec,257
Apparel & Accessories,Clothing,Feb,574
Apparel & Accessories,Costumes & Accessories,Apr,1204
Arts & Entertainment,Musical Instruments,Apr,3625
Baby & Toddler,Diapering,Apr,1281
Apparel & Accessories,Clothing,Jul,2594
Arts & Entertainment,Paintings,Sep,6531
Baby & Toddler,Toys,May,7421
Apparel & Accessories,Clothing,Aug,2541
Arts & Entertainment,Paintings,Oct,2658
Arts & Entertainment,Musical Instruments,Mar,1185
Baby & Toddler,Diapering,Jun,1209
スクリプトをロード
上記のデータは、スクリプトエディターを使用してQlikViewメモリに読み込まれます。 [ファイル]メニューからスクリプトエディターを開くか、 Control + E を押します。 [ファイルからのデータ]タブから[テーブルファイル]オプションを選択し、上記のデータを含むファイルを参照します。 以下に示す画面が表示されます。
テーブルボックスを作成
メニューオプション Layout→New Sheet Objects→Table Box を使用してテーブルボックスを作成するために使用可能なすべてのフィールドを選択し、メニューオプション Layout→New Sheet Objects→List Box を使用して月のフィールドを含むリストボックスを選択します。 また、各製品カテゴリの総売上を示すストレートテーブルチャートを作成します。
データの関連付け
これで、3つのシートオブジェクトのいずれかの値を選択することで、これらの3つのシートオブジェクト間の関連付けを確認できます。 月リストボックスから4月と1月を選択します。 テーブルボックスと関連する値を示すグラフで値の変化を確認できます。
オブジェクトのクローン
次に、売上合計チャートを複製して、他のシートオブジェクトに関連付けられていない新しいデータセットを作成します。 グラフ Sales Sum を右クリックし、下に示すようにオプション Clone をクリックします。 同じグラフの別のコピーがQlikViewドキュメントに表示されます。
式を設定
次に、グラフの2番目のコピー Sales Sum を選択し、右クリックしてグラフのプロパティを取得します。 以下に示すように、 Definition タブの下に数式を記述するSales valuesという式を作成します。
Set Analysisの適用
上記の手順を完了すると、6月を選択すると、テーブルボックスと売上合計グラフに関連する値が表示されます。 ただし、4月の売上は、セット式のデータに基づいているため変更されません。
QlikView-参加
QlikViewの結合は、2つのデータセットのデータを1つに結合するために使用されます。 QlikViewの結合は、SQLの結合と同じ意味です。 結合条件に一致する列と行の値のみが出力に表示されます。 ジョインがまったく初めての場合は、まずリンクについて学習することをお勧めします:/sql/sql-using-joins [ここ。]
入力データ
次の2つのCSVデータファイルを考えてみましょう。これらのファイルは、詳細な説明の入力として使用されます。
Product List:
ProductID,ProductCategory
1,Outdoor Recreation
2,Clothing
3,Costumes & Accessories
4,Athletics
5,Personal Care
6,Hobbies & Creative Arts
ProductSales:
ProductID,ProductCategory,SaleAmount
4,Athletics,1212
5,Personal Care,5211
6,Hobbies & Creative Arts,1021
7,Display Board,2177
8,Game,1145
9,soap,1012
10,Beverages & Tobacco,2514
内部結合
*Control + E* を押すと呼び出されるスクリプトエディターを使用して、上記の入力データを読み込みます。 オプション *Table Files* を選択し、入力ファイルを参照します。 次に、スクリプト内のコマンドを編集して、テーブル間に内部結合を作成します。
内部結合は、両方のテーブルに存在する行のみをフェッチします。 この場合、 Product ListおよびProduct Sales テーブルの両方で使用可能な行がフェッチされます。 メニューの[レイアウト]→[新しいシートオブジェクト]→[テーブルボックス]を使用して、 Table Box を作成します。ここでは、表示するProductID、ProductCategory、SaleAmountの3つのフィールドをすべて選択します。
左結合
左結合では、左側のテーブルからすべての行をフェッチし、右側のテーブルから一致する行をフェッチします。
スクリプトをロード
Sales:
LOAD ProductID,
ProductCategory,
SaleAmount
FROM
[C:\Qlikview\data\product_lists.csv]
(txt, codepage is 1252, embedded labels, delimiter is ',', msq);
LEFT JOIN(Sales)
LOAD ProductID,
ProductCategory
FROM
[C:\Qlikview\data\Productsales.csv]
(txt, codepage is 1252, embedded labels, delimiter is ',', msq);
メニュー[レイアウト]→[新しいシートオブジェクト]→[テーブルボックス]を使用して*テーブルボックス*を作成します。ここでは、表示するProductID、ProductCategory、SaleAmountの3つのフィールドをすべて選択します。
右結合
右結合では、右側のテーブルからすべての行をフェッチし、左側のテーブルから一致する行をフェッチします。
スクリプトをロード
Sales:
LOAD ProductID,
ProductCategory,
SaleAmount
FROM
[C:\Qlikview\data\product_lists.csv]
(txt, codepage is 1252, embedded labels, delimiter is ',', msq);
RIGHT JOIN(Sales)
LOAD ProductID,
ProductCategory
FROM
[C:\Qlikview\data\Productsales.csv]
(txt, codepage is 1252, embedded labels, delimiter is ',', msq);
メニュー[レイアウト]→[新しいシートオブジェクト]→[テーブルボックス]を使用して*テーブルボックス*を作成します。ここでは、表示する3つのフィールド(ProductID、ProductCategory、SaleAmount)をすべて選択します。
外部結合
外部結合では、右側のテーブルと左側のテーブルからすべての行をフェッチします。
スクリプトをロード
Sales:
LOAD ProductID,
ProductCategory,
SaleAmount
FROM
[C:\Qlikview\data\product_lists.csv]
(txt, codepage is 1252, embedded labels, delimiter is ',', msq);
OUTER JOIN(Sales)
LOAD ProductID,
ProductCategory
FROM
[C:\Qlikview\data\Productsales.csv]
(txt, codepage is 1252, embedded labels, delimiter is ',', msq);
メニューの[レイアウト]→[新しいシートオブジェクト]→[テーブルボックス]を使用して、 Table Box を作成します。ここでは、表示するProductID、ProductCategory、SaleAmountの3つのフィールドをすべて選択します。
QlikView-Keeps
QlikViewのkeepコマンドを使用して、2つのデータセットのデータを結合し、両方のデータセットをメモリで使用できるようにします。 前の章で説明した結合に非常に似ていますが、2つの大きな違いがあります。 最初の違いは-キープの場合です。両方のデータセットはQlikViewのメモリで利用できますが、結合では、ロードステートメントは列を選択する必要のあるデータセットを1つだけ生成します。 2番目の違いは、結合の場合に外部結合を使用できるため、外部キープの概念がないことです。
入力データ
次の2つのCSVデータファイルを考えてみましょう。これらのファイルは、詳細な説明の入力として使用されます。
Product List:
ProductID,ProductCategory
1,Outdoor Recreation
2,Clothing
3,Costumes & Accessories
4,Athletics
5,Personal Care
6,Hobbies & Creative Arts
Product Sales:
ProductID,ProductCategory,SaleAmount
4,Athletics,1212
5,Personal Care,5211
6,Hobbies & Creative Arts,1021
7,Display Board,2177
8,Game,1145
9,soap,1012
10,Beverages & Tobacco,2514
インナーキープ
*Control + E* を押すと呼び出されるスクリプトエディターを使用して、上記の入力データを読み込みます。 オプション *Table Files* を選択し、入力ファイルを参照します。 次に、スクリプト内のコマンドを編集して、テーブル間に内部キープを作成します。
内部キープは、両方のテーブルに存在する行のみをフェッチします。 この場合、 Product ListおよびProduct Sales テーブルの両方で使用可能な行がフェッチされます。 メニューの[レイアウト]→[新しいシートオブジェクト]→[テーブルボックス]を使用して、テーブルボックスを作成します。
最初に、 productSales テーブルのみを選択します。このテーブルには、表示されるProductID、ProductCategory、SaleAmountのフィールドがあります。
次に、 ProductList データセットを選択します。これにより、ProductIDフィールドとProductCategoryフィールドが提供されます。
最後に、 All Tables オプションを選択し、すべてのテーブルから使用可能なすべてのフィールドを取得します。
次のレポートは、上記のステップのすべてのテーブルボックスを示しています。
左キープ
左キープは左結合に似ており、QlikViewのメモリで使用可能な両方のデータセットとともに左のテーブルのすべての行を保持します。
左キープスクリプト
次のスクリプトは、左キープコマンドで結果のデータセットを作成するために使用されます。
productsales:
LOAD ProductID,
ProductCategory,
SaleAmount
FROM
[C:\Qlikview\data\product_lists.csv]
(txt, codepage is 1252, embedded labels, delimiter is ',', msq);
left keep(productsales)
productlists:
LOAD ProductID,
ProductCategory
FROM
[C:\Qlikview\data\Productsales.csv]
(txt, codepage is 1252, embedded labels, delimiter is ',', msq);
左キープデータ
上記のようにスクリプトを変更し、 Control + R を使用してレポートのデータを更新すると、シートオブジェクトに次のデータが取得されます。
右キープ
右キープは左結合に似ています。これは、QlikViewのメモリで使用可能な両方のデータセットとともに、右のテーブルのすべての行を保持します。
右キープスクリプト
次のスクリプトは、左キープコマンドで結果のデータセットを作成するために使用されます。
productsales:
LOAD ProductID,
ProductCategory,
SaleAmount
FROM
[C:\Qlikview\data\product_lists.csv]
(txt, codepage is 1252, embedded labels, delimiter is ',', msq);
right keep(productsales)
productlists:
LOAD ProductID,
ProductCategory
FROM
[C:\Qlikview\data\Productsales.csv]
(txt, codepage is 1252, embedded labels, delimiter is ',', msq);
データを正しく保持
上記のようにスクリプトを変更し、 Control + R を使用してレポートのデータを更新すると、シートオブジェクトに次のデータが取得されます。
QlikView-連結
QlikViewの連結機能は、あるテーブルから別のテーブルに行を追加するために使用されます。 テーブルの列数が異なる場合でも発生します。 2つのテーブルの一致する行を1つの行にマージしないため、JoinコマンドとKeepコマンドの両方とは異なります。
入力データ
次の2つのCSVデータファイルを考えてみましょう。これらのファイルは、詳細な説明の入力として使用されます。 2番目のデータセットには、Countryという名前の追加の列があることに注意してください。
SalesRegionOld.csv
ProductID,ProductCategory,Region,SaleAmount
1,Outdoor Recreation,Europe,4579
2,Clothing,Europe,4125
3,Costumes & Accessories,South Asia,6521
4,Athletics,South Asia,4125
5,Personal Care,Australia,5124
6,Arts & Entertainment,North AMerica,1245
7,Hardware,South America,456
SalesRegionNew.csv
ProductID,ProductCategory,Region,Country,SaleAmount
6,Arts & Entertainment,North AMerica,USA,1245
7,Hardware,South America,Brazil,456
8,Home & Garden,South America,Brazil,241
9,Food,South Asia,Singapore,1247
10,Home & Garden,South Asia,China,5462
11,Office Supplies,Australia,Australia,577
スクリプトをロード
*Control + E* を押すと呼び出されるスクリプトエディターを使用して、上記の入力データを読み込みます。 オプション *Table Files* を選択し、入力ファイルを参照します。 次に、スクリプト内のコマンドを編集して、テーブル間に連結を適用します。
次に、上記のデータをQlikViewのメモリに読み込み、メニュー*レイアウト→新規シートオブジェクト→テーブルボックス*を使用してテーブルボックスを作成します。ここで、表示する使用可能なすべてのフィールドを選択します。
連結データ
上記の手順を完了すると、下に示すようにテーブルボックスが表示されます。 製品ID 6および7の重複行に注意してください。 連結は重複を排除しません。
QlikView-マスターカレンダー
QlikViewでは、多くの場合、QlikViewのメモリにあるデータセットにリンクできるカレンダー参照オブジェクトを作成する必要があります。 たとえば、販売額と販売日を取得するが、その日付に対応する平日または四半期を保存しないテーブルがあるとします。 このようなシナリオでは、四半期、日などの追加の日付フィールドを提供する*マスターカレンダー*を作成します。 任意のデータセットで必要に応じて。
入力データ
次のCSVデータファイルを考えてみましょう。これらのファイルは、さらに説明するための入力として使用されます。
SalesDate,SalesVolume
3/28/2012,3152
3/30/2012,2458
3/31/2012,4105
4/8/2012,6245
4/10/2012,5816
4/11/2012,3522
スクリプトをロード
*Control + E* を押すと呼び出されるスクリプトエディターを使用して、上記の入力データを読み込みます。 オプション *Table Files* を選択し、入力ファイルを参照します。
次に、上記のデータをQlikViewのメモリに読み込み、メニュー*レイアウト→新規シートオブジェクト→テーブルボックス*を使用して*テーブルボックス*を作成します。ここで、以下に示すように表示するすべての利用可能なフィールドを選択します。
マスターカレンダーを作成する
次に、スクリプトエディターで次のスクリプトを記述して、マスターカレンダーを作成します。 ここでは、テーブルDailySalesを常駐テーブルとして使用し、そこから最大日付と最小日付を取得します。 常駐ロードの上にある2番目のロードステートメントを使用して、この範囲内の各日付をロードします。 最後に、年、四半期、月などを抽出する3番目の負荷ステートメントがあります。 SalesDate値から。
フィールドを選択
マスターカレンダーとともに完全なロードスクリプトを作成した後、メニュー*レイアウト→新しいシートオブジェクト→テーブルボックス*を使用してデータを表示するテーブルボックスを作成します
最終データ
最終出力には、販売データとマスターカレンダーを使用して作成された四半期と月の値を示すテーブルが表示されます。
QlikView-マッピングテーブル
マッピングテーブルは、2つのテーブル間で列の値をマッピングするために作成されるテーブルです。 ルックアップテーブルとも呼ばれ、他のテーブルから関連する値を探すためにのみ使用されます。
入力データ
さまざまな地域の売上値を表す次の入力データファイルについて考えてみましょう。
ProductID,ProductCategory,Region,SaleAmount
1,Outdoor Recreation,Europe,4579
2,Clothing,Europe,4125
3,Costumes & Accessories,South Asia,6521
4,Athletics,South Asia,4125
5,Personal Care,Australia,5124
6,Arts & Entertainment,North AMerica,1245
7,Hardware,South America,456
8,Home & Garden,South America,241
9,Food,South Asia,1247
10,Home & Garden,South Asia,5462
11,Office Supplies,Australia,577
次のデータは、国とその地域を表しています。
Region,Country
Europe,Germany
Europe,Italy
South Asia,Singapore
South Asia,Korea
North AMerica,USA
South America,Brazil
South America,Peru
South Asia,China
South Asia,Sri Lanka
スクリプトをロード
上記のデータは、スクリプトエディターを使用してQlikViewメモリに読み込まれます。 [ファイル]メニューからスクリプトエディターを開くか、 Control + E を押します。 [ファイルのデータ]タブから[テーブルファイル]オプションを選択し、上記のデータを含むファイルを参照します。 OK をクリックし、 Control + R を押して、データをQlikViewのメモリにロードします。
テーブルボックスを作成
以下に示すように、上記の各テーブルに2つのテーブルボックスを作成しましょう。 ここでは、販売地域レポートで国の値を取得できません。
マッピングテーブルを作成する
次のスクリプトは、salesテーブルの地域の値をMapCountryRegionテーブルの国の値にマッピングするマッピングテーブルを作成します。
テーブルチャート
上記の手順を完了し、データを表示するためのテーブルボックスを作成すると、Salesテーブルから他の列とともに国の列を取得します。
QlikView-循環参照
- 循環参照*は、2つ以上の異なるパスを使用して、あるテーブルから別のテーブルに移動できる場合に発生します。 これは、列を使用してTable1をTable2に直接結合できること、または最初にTable1をTable3に結合してからtable3をTable2に結合することもできることを意味します。 これにより、これら3つのテーブルすべてをロードするデータモデルによって形成される出力に誤った結果が生じる可能性があります。 QlikViewは、循環参照を認識すると、そのようなデータがメモリにロードされるのを防ぎます。
入力データ
次の3つのCSVデータファイルを考えてみましょう。これらのファイルは、詳細な説明の入力として使用されます。
SalesCountries:
ProductID,ProductCategory,Country,SaleAmount
1,Outdoor Recreation,Italy,4579
2,Clothing,USA,4125
3,Costumes & Accessories,South Korea,6521
4,Athletics,Japan,4125
5,Personal Care,Brazil,5124
6,Arts & Entertainment,China,1245
7,Hardware,South America,456
8,Home & Garden,Peru,241
9,Food,India,1247
10,Home & Garden,Singapore,5462
11,Office Supplies,Hungary,577
ProductCountry:
ProductID, Country
3,Brazil
3,China
2,Korea
1,USA
2,Singapore
7,Sri Lanka
1,Italy
スクリプトをロード
*Control + E* を押すと呼び出されるスクリプトエディターを使用して、上記の入力データを読み込みます。 オプション *Table Files* を選択し、入力ファイルを参照します。
データロード
上記のスクリプトを作成した後、コマンド Control + R を使用してQlikViewのメモリにデータをロードします。 これは、ロードされるテーブルに循環ループが存在することを示すエラープロンプトが表示されるときです。
データ・モデル
上記の警告の正確な原因を見つけるために、テーブルビューアーのメニューコマンド Control + T を使用してデータモデルを確認できます。 次の画面が表示され、循環参照が明確に表示されます。 ここで、RegionCountryとSalesRegionの間の結合は、フィールド Region を使用して直接実現できます。 フィールド Country を使用して最初にProductCountryテーブルに移動し、次にProdcutIDをSalesregionにマッピングすることでも実現できます。
循環参照の解決
上記の循環参照は、QlikViewが列名を使用してテーブル間の関連付けを自動的に形成しないように、データセットの列の名前を変更することで解決できます。 このため、RegionCountryのcountry列の名前をSalesCountryに変更します。 データセットProdcuCountryで、Country列の名前をProductCountryに変更します。
修正されたデータモデル
上記の列の名前を変更した後の修正済みデータモデルは、コマンド Control + T を使用して表示できます。 これで、テーブル間の関係がループを形成していないことがわかります。
*Control + R* を押してデータをリロードしても、警告は表示されなくなり、このデータを使用してレポートを作成できます。