Qlikview-quick-guide

提供:Dev Guides
移動先:案内検索

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* をダブルクリックすると、選択した言語を選択する画面が表示されます。 英語を選択すると、次の画面が表示されます。 次に、[次へ]をクリックします。

インストール手順-1

ライセンス契約に同意する

使用許諾契約を読み、同意する場合は、「使用許諾契約の条項に同意します」オプションを選択します。 次に「次へ」をクリックしてください。

インストール手順-2

詳細を入力してください

名前と組織の詳細を入力します。 次に、「次へ」をクリックします。

インストール手順-3

宛先フォルダーを選択してください

デフォルトのインストール先を受け入れるか、変更することができます。 次に「次へ」をクリックしてください。

インストール手順-4

セットアップタイプを選択する

セットアップの種類として「完全」を選択します。 次に「次へ」をクリックしてください。

インストール手順-5

インストールを開始

この画面で、最終的にインストールを実際に開始することにします。 必要に応じて、戻っていくつかのオプションを変更できます。 これまでのところすべてが順調であると仮定して、「インストール」をクリックします。

インストール手順-6

インストールが完了

インストールが正常に完了すると、インストール完了画面が表示されます。 「完了」をクリックします。

インストール手順-7

インストールを確認する

Windowsの[スタート]メニューに移動し、QlikViewアイコンをクリックして、インストールを確認できます。 以下の画面が表示されます。

インストールの確認

これでQlikViewを学習する準備が整いました。

QlikView-アーキテクチャ

主要なビジネスディスカバリプラットフォームとして、QlikViewは他の従来のプラットフォームとは異なるデータディスカバリへのアプローチで構築されています。 QlikViewは最初にクエリを作成してから、クエリに基づいて結果を取得しません。 むしろ、ロードされるとすぐに異なるデータオブジェクト間の関連付けを形成し、何らかの方法でデータを探索するようユーザーに促します。 事前定義されたデータドリルダウンパスはありません。 データが利用可能で関連付けられている限り、データのドリルダウンパスは任意の方向に発生します。

もちろん、ユーザーは、QlikViewで利用可能なデータモデリングアプローチを使用して、データ要素間の関連付けを作成する役割も果たすことができます。

アーキテクチャの概要

QlikViewのアーキテクチャは、処理されたデータを視覚化するフロントエンドと、QlikViewユーザードキュメントのセキュリティおよび公開メカニズムを提供するバックエンドで構成されています。 以下の図は、QlikViewの内部動作を示しています。 アーキテクチャについては、図の下で詳しく説明します。

qlikview_architecture

フロントエンド

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 DatabaseData 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ファイルを参照します。

1_excel_load_data_drag

データソースを選択

Excelファイルをメインウィンドウにドロップすると、ファイルウィザードが表示されます。 ファイルタイプはすでにExcelとして選択されています。 Labels の下で、 Embedded Labels を選択します。 [次のステップ]をクリックして続行します。

2_excel_file_wizard

スクリプトをロード

データをQlikViewドキュメントにロードするコマンドを示すロードスクリプトが表示されます。 このコマンドは編集できます。

3_excel_load_script

これで、Excelウィザードは、。qvwファイル拡張子の形式でファイルを保存するようプロンプトを出します。 ファイルを保存する必要がある場所を選択するように求められます。 [次のステップ]をクリックして続行します。 次に、Excelファイルからロードされたデータを確認します。 このデータを表示するには、 *Table Box シートオブジェクトを使用します。

テーブルボックスを作成

*Table Box* は、利用可能なデータを表として表示するシートオブジェクトです。 メニューの[レイアウト]→[新しいシートオブジェクト]→[テーブルボックス] *から起動します。

4_table_box_option

[次へ]をクリックすると、テーブルボックスからフィールドを選択するオプションが表示されます。 PromoteまたはDemote ボタンを使用して、フィールドを再配置できます。

5_Table_box_fields

テーブルボックスデータ

上記の手順を完了すると、Excelファイルから読み取られたデータを示すテーブルボックスシートオブジェクトが表示されます。

6_table_box_result

QlikView-区切りファイル

QlikViewは、フィールドがコンマ、タブ、セミコロンなどの文字で区切られているプレーンテキストファイルのデータを使用できます。 ここでは、例としてCSVを取り上げます。 データの各列がコンマで区切られているファイルは、CSVファイルと呼ばれます。 これは、プレーンテキストデータを列と行として編成するために非常に広く使用されているファイル形式です。

QlikViewは、[ファイル]メニューの[スクリプトエディター]で使用できる[ Data from files ]オプションを使用してcsvファイルを読み込みます。 または、新しいQlikViewドキュメントを開き、 control + E を押して、以下に示すようなスクリプトエディターウィンドウを表示することもできます。 適切なパスからProduct_details.csvファイルを選択します。

1_dilimeted_insert_script

ファイルヘッダーを選択する

選択したCSVファイルを開くと、次のようなウィンドウが表示されます。 Labels の下で、 Embedded Labels を選択します。これは、ファイルの最初の行にヘッダー行があるためです。 *完了*をクリックします。

csv_file_header

スクリプトをロード

QlikViewへのファイルのロードは、ロードスクリプトを介して行われます。ロードスクリプトは、以下のスクリーンショットで確認できます。 したがって、区切りファイルを使用する場合は、ファイル形式に従って以下のスクリプトを調整できます。

3_dilimeted_load_script

これで、スクリプトウィザードは、。qvwファイル拡張子の形式でファイルを保存するように要求します。 ファイルを保存する必要がある場所を選択するように求められます。 [次のステップ]をクリックして続行します。 次に、区切りファイルからロードされたデータを確認します。 このデータを表示するには、 *Table Box シートオブジェクトを使用します。

テーブルボックスを作成

*Table Box* は、利用可能なデータを表として表示するシートオブジェクトです。 メニューの[レイアウト]→[新しいシートオブジェクト]→[テーブルボックス] *から起動します。

4_table_box_option

[次へ]をクリックすると、テーブルボックスからフィールドを選択するオプションが表示されます。 PromoteまたはDemote ボタンを使用して、フィールドを再配置できます。

5_Table_box_fields

テーブルボックスデータ

上記の手順を完了すると、Excelファイルから読み取られたデータを示すテーブルボックスシートオブジェクトが表示されます。

6_table_box_result

QlikView-XMLファイル

XMLはファイル形式であり、World Wide Web、イントラネット、および標準ASCIIテキストを使用する他の場所でファイル形式とデータの両方を共有します。 Extensible Markup Language(XML)の略です。 HTMLと同様に、マークアップタグが含まれています。 ただし、マークアップタグがページの構造を記述するHTMLとは異なり、XMLでは、マークアップタグはファイルに含まれるデータの意味を記述します。 QlikViewはXMLファイルのデータを使用できます。

XMLファイルからデータをロードするプロセスは、以前に見た区切りファイルのロードに似ています。 スクリプトエディターを開きます。 メニュー* [挿入]→[ステートメントの読み込み]→[ファイルから読み込み]をクリックします。 ロードするXMLファイルを参照します。 この例では、employee_dat.xmlファイルを選択しています。

1_file_insert_script

XMLファイル構造を選択する

選択したXMLファイルを開くと、次のようなウィンドウが表示されます。 左側の[ファイルの種類]セクションで、[XML]を選択します。 これで、XMLファイルのコンテンツがヘッダー列とともに表として表示されます。 完了をクリックします。

2_xml_file_type

ファイルローダースクリプト

XMLファイルのQlikViewへのロードは、以下に示すロードスクリプトを介して行われます。 したがって、XMLファイルを使用する場合は、以下の指定されたスクリプトを調整して、列の名前を変更したり、ファイルの場所を変更したりできます。

3_xml_load_script

これで、スクリプトウィザードは、。qvwファイル拡張子の形式でファイルを保存するように求めます。 ファイルを保存する必要がある場所を選択するように求められます。 [次のステップ]をクリックして続行します。 ここで、XMLファイルからロードされたデータを確認します。 このデータを表示するには、 *Table Box シートオブジェクトを使用します。

テーブルボックスを作成

*Table Box* は、利用可能なデータを表として表示するシートオブジェクトです。 メニューの[レイアウト]→[新しいシートオブジェクト]→[テーブルボックス] *から起動します。

table_box_option

[次へ]をクリックすると、テーブルボックスからフィールドを選択するオプションが表示されます。 PromoteまたはDemote ボタンを使用して、フィールドを再配置できます。

5_xml_select_fileds

テーブルボックスデータ

上記の手順を完了すると、Excelファイルから読み取られたデータを示すテーブルボックスシートオブジェクトが表示されます。

6_xml_final_data

QlikView-Webファイル

QlikViewは、HTML形式のWebからのファイルを処理できます。 HTMLテーブルからデータを抽出できます。 処理されるWebファイルのURLは入力として提供され、QlikViewはファイルの構造とコンテンツの両方を取得します。 次に、ページの構造を分析し、ページに存在するHTMLテーブルから関連データを抽出します。 スクリプトエディターの[データ]タブにある[ファイルからのデータ]セクションから[Webファイル]オプションを選択します。

1_webfile_load

入力としてURLを指定します

Webファイルオプションを選択すると、入力としてURLを指定する新しいウィンドウが表示されます。 この例では、ウィキペディアからの入力ページとして、アジアの主権国家と従属地域のリストを選択しています。 URLに言及して、[次へ]をクリックします。

web_file_wizard

Webファイルからテーブルを選択します

選択したWebファイルを開くと、次のウィンドウが表示されます。 ここでは、@ 1、@ 1、@ 3などのラベルが付いたWebページに存在するさまざまなテーブルを見ることができます。 最初のテーブルを選択し、[次へ]を2回クリックします。

3_webfile_file_type

テーブルの列を選択

上記の表から、クロス記号を使用して不要な列を削除することにより、必要な列のみを選択できます。

4_webfile_choose_fields

スクリプトをロード

QlikViewへのファイルのロードは、以下のスクリーンショットで確認できるロードスクリプトを介して行われます。 したがって、デリミタ付きファイルを使用する場合、ファイル形式に従って以下のスクリプトを微調整できます。

5_webfile_load_script

これで、スクリプトウィザードは、。qvwファイル拡張子の形式でファイルを保存するように要求します。 ファイルを保存する必要がある場所を選択するように求められます。 [次のステップ]をクリックして続行します。 次に、Webファイルからロードされたデータを確認します。 このデータを表示するには、 *Table Box シートオブジェクトを使用します。

テーブルボックスを作成

*Table Box* は、利用可能なデータを表として表示するシートオブジェクトです。 メニューの[レイアウト]→[新しいシートオブジェクト]→[テーブルボックス] *から起動します。 image:/qlikview/table_box_option.JPG[table_box_option]

[次へ]をクリックすると、テーブルボックスからフィールドを選択するオプションが表示されます。 PromoteまたはDemote ボタンを使用して、フィールドを再配置できます。

6_webfile_table_box_fields

テーブルボックスデータ

上記の手順を完了すると、Webボックスから読み取られたデータを示すテーブルボックスシートオブジェクトが表示されます。 *英語以外の文字をマークしてください!!

7_webfile_final_data

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を選択し、[接続のテスト]をクリックします。 「接続テストに成功しました」というメッセージが表示されます。

database_file_connect

データベースへの接続の確認

接続に成功すると、次の画面が表示され、スクリプトエディタのメインウィンドウにDBへの接続が表示されます。

database_connected

データベーステーブルの選択

上記のウィンドウで[選択]をクリックして、テーブルと列のリストを取得します。 ここで、デフォルトのデータベースとして sakila を使用してDSNを作成したため、このデータベースからテーブルと列のリストを取得します。 以下のスクリーンショットに示すように、データベースドロップダウンリストから別のデータベースを選択できます。 この章では、sakilaデータベースを引き続き使用します。

database_select_table

テーブルローダースクリプト

上記のウィンドウで[OK]をクリックすると、メインスクリプトエディターに戻り、 actor という名前のテーブルを使用するためのスクリプトが表示されます。

database_table_script

qvdファイルでの結果の表示

QlikViewドキュメントにロードされたデータは、さらに分析するために永続的に保存する必要があります。 このため、スクリプトを編集して、データをqvdファイルの形式で保存します。 Control + E を押して編集スクリプトウィンドウを開き、次のコードを記述します。

コードでは、列に適切な名前を付け、loadステートメントの上にテーブル名を記載しています。 さらに、生成されたqvdファイルが保存されるパスを指定します。 このファイルを QV_mysql.qvw として保存します

datbase_to_qvd

qvdファイルの使用

qvdファイルをメインドキュメントにロードし、さらに分析するためにグラフと表を作成するために使用できます。 Control + R を押して QV_mysql.qvw ファイルを再ロードし、チャートウィザードで[次へ]をクリックします。 ディメンションとしてactor_id、first_name、last_name、および式としてactor_idのカウントを使用して作成するストレートテーブルを選択します。 以下のチャートが表示されます。

database_chart

QlikView-インラインデータ

データを直接入力または貼り付けることで、QlikViewドキュメントに入力できます。 この機能は、クリップボードからQlikViewにデータを取得する簡単な方法です。 スクリプトエディタは、[挿入]タブでこの機能を提供します。

スクリプトエディタ

インラインデータの読み込みオプションを開くには、スクリプトエディターを開き、[挿入]→[ステートメントの読み込み]→[インラインの読み込み]に移動します。

inline_script_editor

データの挿入

上記の画面を開くと、スプレッドシートのようなドキュメントが表示され、値を入力できます。 クリップボードに既にある値を貼り付けることもできます。 列ヘッダーは自動的に作成されることに注意してください。 完了をクリックします。

inline_scripting

スクリプトをロード

データをロードするコマンドは、スクリプトエディターで確認できるバックグラウンドで作成されます。

inline_script_editor

テーブルボックスデータ

テーブルボックスシートオブジェクトを作成すると、インラインデータロードオプションから読み取られたデータが表示されます。

inline_data_chart

QlikView-常駐負荷

QlikViewは、RAMに既に存在するテーブルからデータをロードできます。このテーブルは、スクリプトによって既に処理されています。 この要件は、同じスクリプト内の既存のテーブルからデータを派生するテーブルを作成するときに発生します。 新しいテーブルと既存のテーブルの両方が同じスクリプトにあることに注意してください。

ロードスクリプトの作成

スクリプトエディタを開き(またはControl + Eを使用して)、次のスクリプトに言及します。 ここでは、さまざまな地域の販売データを含む Regions という名前のインラインテーブルを作成します。 次に、 Total という名前の別のテーブルを作成して、地域名ごとの総売上を計算します。 最後に、この.qvwファイルのように、データ分析には Total という名前のテーブルのみが必要なので、テーブルRegionsを削除します。

resident_load_edit_script

テーブルボックスデータ

テーブルボックスシートオブジェクトを作成すると、常駐データロードオプションから読み取られたデータが表示されます。

inline_script_editor

QlikView-先行負荷

QlikView Precedingロードは、同じスクリプト内に存在する別のロードステートメントの列を取得するロードステートメントを使用するロードタイプです。 スクリプトエディタウィンドウの下部にある最初のLoadステートメントによって読み取られ、その上のloadステートメントによって使用されるデータ。

スクリプトをロード

以下のスクリーンショットは、 Inline data としてロードされたデータのスクリプトを示しています。その後、max関数がいずれかの列に適用されます。 一番下のloadステートメントは、QlikViewのメモリでデータを利用可能にします。これは、最初のloadステートメントの上の2番目のloadステートメントで使用されます。 2番目のloadステートメントは、group by句を使用してmax関数を適用します。

1_preceeding_load_script

テーブルボックスデータ

テーブルボックスシートオブジェクトを作成すると、インラインデータロードオプションから読み取られたデータが表示されます。

2_preceeding_load_table_box

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ファイルとして保存します。

incr_laod_create_qvd

ロードされたデータの検証。

*Table Box* というシートオブジェクトを作成することにより、QlikViewドキュメントにロードされたデータを確認できます。 これは、[レイアウト]メニューと[新しいシートオブジェクト]サブメニューで使用できます。

table_box_option

テーブルレイアウトの作成

*Table Box* シートオブジェクトを選択すると、次の画面が表示されます。この画面を使用して、作成するテーブル内の列とその位置を選択します。 次の列とその位置を選択して、[完了]をクリックします。

Incr_load_product_details

既存のデータを表示する

前の手順でレイアウトされたデータを示す次のチャートが表示されます。

incremental_load_data

ソースデータの更新

次の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のレコードを確認します。

incremental_load_final_data

QlikView-データファイル(QVD)

QlikViewを非常に際立たせる重要な機能の1つは、非常に大量のデータを非常に圧縮されたサイズで保存し、QlikViewドキュメントとともに保存できることです。 したがって、ドキュメントが作成されると、データソースに接続する必要はありません。データは既にドキュメントのレイアウトと共に保存されているからです。 これは、拡張子が.qvdのフラットファイルであるQVDファイルによって実現されます。 QVDファイルは1つのQlikViewドキュメントのデータを保存し、QlikViewドキュメントで利用可能なスクリプトエディターを使用して作成されます。

QVDファイルを使用する利点

QlikViewでQVDファイルを使用する利点は次のとおりです-

  • データの高速ロード
  • データ量の増加に応じてスケールアップを適切にサポート
  • 増分ロードで使用
  • 複数のソースからのデータを1つのデータセットにまとめることができます *並行してデータを抽出する

QVDファイルの作成

QVDファイルは、QlikViewファイルの読み込み中にSTOREステートメントを使用して作成されます。 このステートメントは、単一のqvdファイルを作成し、指定された場所にファイルとして保存します。作成されたQVWファイルとは別です。

以下は、ソースファイルを読み込んでデータをQlikViewドキュメントにロードした後、qvdファイルを保存する例です。

csv_to_qvd.JP​​G

QVDファイルの使用

QVDファイルは、CSV、Excel、区切りファイルなどの他のファイルが使用されるのと同様の方法でQlikViewドキュメントにロードされます。* File メニューの下にある *Open オプションを使用して、前に作成したQVDファイルを参照します。 開くと、データを表示し、列ヘッダーを選択し、必要なデータ変換を行うウィンドウが表示されます

open_qvd_file

QVDファイルローダースクリプト

[完了]をクリックすると、スクリプトスクリプトウィンドウが表示され、QVDファイルの読み込みに使用されるコードが表示されます。 このコードをさらに編集できます。 たとえば、表示する列の一部のみを取得したり、組み込み関数を適用するなど。 [完了]をクリックして、ファイルを現在のQlikViewドキュメントに読み込みます。 QlikViewドキュメントを use_qvd.qvw として保存します。

qvd_file_load_script

QVDファイルからのデータの表示

*Control + R* を使用してドキュメントをリロードし、メニューオプション *Layout→New Sheet Objects→Table Box* を選択します。 QVDファイルにあるテーブルのすべての列を示すウィンドウが表示されます。 *「すべて追加」*を選択して、表示テーブルにすべての列を追加します。 *"Promote/Demote"* オプションを使用して、列の順序を変更します。 「完了」をクリックします。 QVDファイルの内容を示す次の画面が表示されます。

qvd_file_data_table

QlikView-シートとオブジェクト

すべてのQlikViewドキュメントは、 Main と呼ばれる少なくとも1つのワークシートで構成されています。 同じQlikViewドキュメントの多くのページのようなシートを追加できます。 シートは、複数のチャートや複数の表など、複数のデータ形式を表示するのに役立ちます。 各シートには、さまざまなシートオブジェクトを含めることができます。 さらに、 Promote Sheet/Demote Sheet オプションを使用してシートを再配置でき、 Remove Sheet オプションを使用してQlikViewドキュメントから削除できます。

Sheets_add_remove

シートのプロパティ

シートにはさまざまなプロパティがあり、これらを設定してシートをカスタマイズできます。 たとえば、シートの名前とその色を設定できます。 シートの任意の場所を右クリックして、[プロパティ]オプションを選択します。 次に、次のプロパティを選択します。

  • シート設定→色-これはシートの背景色を設定します。
  • タブ設定→カスタムカラー-これは、シート名が表示されるタブの色を設定します。
  • * Title。*-これにより、シートの名前が設定されます。

Sheets_properties

シートオブジェクトの作成

シートオブジェクトは、シートに埋め込まれたQlikViewデータ要素です。 QlikViewのメモリにロードされたデータを表示します。 各シートオブジェクトは、データソースと1つ以上の列に関連付けられています。 下に示すように、シートオブジェクトは layout メニューから作成されます。

sheet_objects_menu

シートオブジェクトの使用

シートオブジェクトはデータソースからのデータを表示し、シート内のすべてのオブジェクトは相互に関連付けられます。 リストボックスとマルチボックスを作成して、アクションでこの関連付けを見てみましょう。

リストボックスの作成

リストボックスには、QlikViewメモリで利用可能なテーブルの列のデータが表示されます。 [シートオブジェクトの追加]オプションから*リストボックス*オプションを選択し、以下のようにプロパティを設定します。

sheet_list_box

マルチボックスの作成

マルチボックスは、テーブルの複数の列のデータを表します。 [シートオブジェクトの追加]オプションから[マルチボックス]オプションを選択し、以下に示すようにプロパティを設定します。

sheet_multi_box

上記の手順を完了すると、次のウィンドウが表示され、両方のシートオブジェクトが表示されます。

sheet_list_multi_boxes

シートオブジェクト間の関連付け

リストボックス内の関連する行を強調表示するマルチボックスから1つのオプションを選択すると、シートオブジェクトが互いにリンクされている方法を確認できます。 Multi BoxのProduct Categoryドロップダウンリストで「Diapering」を選択しましょう。 以下に示すウィンドウが表示されます。

sheet_objects_association

QlikView-スクリプト

スクリプティングはQlikViewの非常に強力な機能であり、データロードオプションとデータ変換の制御を可能にします。 QlikViewで利用可能な多くの組み込み関数の使用を可能にし、QlikViewdocument内の複数のスクリプトで使用されるサブルーチンを作成します。

スクリプトエディタを使用してスクリプトを作成します。 [ファイル]メニューから*スクリプトエディター*を使用してアクセスします。 Control + E を押して、スクリプトエディターウィンドウを開くこともできます。 処理対象のデータのデフォルト形式として設定されている一部のデータ形式が事前入力されます。 たとえば、千の区切り文字はコンマであり、日付は月日年形式です。 これらは、必要に応じて着信データに合わせて変更できます。

スクリプトエディター

スクリプトエディターの機能

スクリプトエディターには多くの機能があり、メインメニューとは異なるメニューであるスクリプトエディターウィンドウのメニューからアクセスできます。 以下に重要な機能のリストを示します。

ファイルメニュー

  • Reload -スクリプトをリロードし、新しいデータを取得します。
  • 大文字/小文字-QlikViewは大文字と小文字を区別するため、単語の大文字と小文字を変換します。
  • コメント-コードのブロックをコメントするために使用されます。

編集メニュー

  • スクリプト全体をクリア-アクティブなスクリプトタブをクリアします。
  • スクリプトファイルを開く-保存したスクリプトファイルを開きます。
  • Table Viewer -ロードされるデータの表形式ビューを表示するために使用されます。

挿入メニュー

  • 環境変数-環境変数の標準リストを挿入します。
  • スクリプトファイル-スクリプトファイルを参照して挿入できます。
  • 接続/切断ステートメント-外部データベースとの接続または切断に使用されます。

タブメニュー

  • タブの挿入-現在のカーソル位置にタブを挿入します。
  • Promote/Demote Tab -タブを左から右へ、またはその逆に移動できます。
  • 前とマージ-アクティブなタグのコンテンツを前のタブとマージするために使用します。

ツールメニュー

  • * ODBC Administrator 64ビット/ODBC Administrator 32ビット*-データソースの正しいDSN情報を設定できます。
  • エディタの設定-テキストのフォントとサイズ、ヘルプ機能、ショートカット、デフォルトのスクリプトエンジンなどを設定できます。
  • 構文チェック-スクリプトコードの構文を検証するために使用されます。

QlikView-関数

QlikViewには多くの組み込み関数があり、既にメモリで利用可能なデータに適用できます。 これらの関数は多くのカテゴリに分類され、関数の構文は選択されるとすぐに表示されます。 [貼り付け]ボタンをクリックして、エディターに式を取得し、引数を指定できます。

テーブルボックスを作成

以下のスクリーンショットに示すように、メニューに従ってテーブルボックスを作成します。

table_box_option

上記の手順を完了すると、左下に計算条件を表示するウィンドウが表示されます。

3_functions_calculation_fields。

機能一覧

計算条件の横にあるボタンをクリックして、関数タブに移動します。 使用可能な機能のリストが表示されます。

4_functions_all_functions

関数カテゴリから String を選択すると、引数として文字列をとる関数がいくつかしか表示されません。

5_functions_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_create_table

シートオブジェクトの作成

IntervalMatch関数によって生成されたデータを表示する Table Box シートオブジェクトを作成します。 メニュー項目*レイアウト→新規シートオブジェクト→テーブルボックス*に移動します。 次のウィンドウが表示されます。このウィンドウで、テーブルのタイトルを指定し、表示する必要なフィールドを選択します。

intervalmatch_create_table

テーブルボックスの表示

上記のウィンドウで[OK]をクリックすると、StartTimeおよびEndTimeの間隔に一致するActualTimeフィールドを示すテーブルが表示されます。

intervalmatch_table_data

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_create_script

シートオブジェクトの作成

Aggregate関数によって生成されたデータを表示する Table Box シートオブジェクトを作成します。 メニューの[レイアウト]→[新しいシートオブジェクト]→[テーブルボックス]に移動します。 次のウィンドウが表示されます。このウィンドウで、テーブルのタイトルを指定し、表示する必須フィールドを選択します。 [OK]をクリックすると、以下に示すように、QlikViewテーブルボックスにCSVファイルのデータが表示されます。

Aggregate_data

SUM()関数の適用

以下に示すのは、製品ラインと製品カテゴリ全体で販売数量と販売価値の合計を検索するロードスクリプトです。

Aggregate_sum_script

[OK]をクリックし、 Control + R を押して、データをQlikViewドキュメントにリロードします。 次に、* *シートオブジェクトの作成*で上記と同じ手順を実行して、以下に示すように、スクリプトの結果を表示するためのQlikViewテーブルボックスを作成します。

Aggregate_sum_data

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テーブルボックスを作成します。

Aggregate_average_data

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テーブルボックスを作成します。

Aggregate_max_min_data

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」と一致する値を検索します。

Matched_func_script

シートオブジェクトの作成

一致関数によって生成されたデータを表示するためのテーブルボックスシートオブジェクトを作成しましょう。 メニューの[レイアウト]→[新しいシートオブジェクト]→[テーブルボックス]に移動します。 次のウィンドウが表示されます。このウィンドウでは、テーブルのタイトルに言及し、表示する必要なフィールドを選択します。 [OK]をクリックすると、以下に示すように、QlikViewテーブルボックスにCSVファイルのデータが表示されます。

Matched_func_data

Wildmatch()関数を使用したスクリプトの読み込み

  • wildmatch()関数は、match()関数の拡張機能であり、検索対象のフィールドの値と値を照合するために使用される文字列の一部としてワイルドカードを使用できます。 文字列「Off *」、「 *ome 」を検索します。

wildmatch_script

シートオブジェクトの作成

wildmatch関数によって生成されたデータを表示する Table Box シートオブジェクトを作成しましょう。 メニュー項目[レイアウト]→[新しいシートオブジェクト]→[テーブルボックス]に移動します。 次のウィンドウが表示されます。このウィンドウでは、テーブルのタイトルに言及し、表示する必要なフィールドを選択します。 [OK]をクリックすると、以下に示すように、QlikViewテーブルボックスにCSVファイルのデータが表示されます。

wildmatch_data

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_laod_script

Rank()関数を使用してグラフを作成する

次に、以下の手順に従ってグラフを作成します。このグラフには、ディメンションProduct_Lineに関して記述されている*値*のランクが表示されます。

グラフの種類を選択します

チャートウィザードをクリックし、チャートタイプとしてオプション straight table を選択します。 [次へ]をクリックします。

rank_chart_type

グラフのディメンションを選択します

  • 最初のディメンション*ドロップダウンリストから、ディメンションとしてProduct_Lineを選択します。 [次へ]をクリックします。

rank_select_diemnsions

チャート式を定義する

カスタム式フィールドで、以下に示すようにランク式を指定します。 ここでは、各製品ラインの下の各カテゴリの売上値を表す Value という名前の数値フィールドを検討しています。 [次へ]をクリックします。

rank_chart_expression

チャートを表示する

上記の手順で[完了]をクリックすると、次のグラフが表示され、各製品ラインの売上値のランクが示されます。

rank_chart_data

ランク付きの集計関数の使用

-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ファイルのデータが表示されます。

rank_aggr_func

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 フィールドの順序で結果を取得します。

Monthly_sales_load_order

上記の手順を完了し、[完了]をクリックすると、下に示すデータを示す[テーブル]ボックスが表示されます。

Monthly_sales_prevmonth

計算での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ファイルのデータが表示されます。

Monthly_sales_prevmonth_diff

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ファイルのデータが表示されます。

RangeSum

QlikView-ドキュメント

QlikViewドキュメントは、データの表示と分析に使用されるすべてのオブジェクトを含むファイルです。 これには、シート、変数、データモデル、ソースデータ接続の詳細、さらにはソースからプルした後にロードされるデータも含まれます。

ドキュメントのプロパティ

QlikViewドキュメントの基本情報をすばやく見つけることができます。 *ヘルプ→ドキュメントサポート情報*をクリックします。 以下に出力例を示します。

document_details

ドキュメントの背景画像を設定する

  • 全般*タブの下のチェックボックス*壁紙画像*チェックボックスを使用して、ドキュメントの背景画像として画像を設定できます。 画像を選択し、ドロップダウンボタンを使用して左上の位置に配置します。

document_backgound_image

上記のオプションを選択すると、次の画面が表示されます。

document_backgound_tp

シートオブジェクト

QlikViewドキュメントにはさまざまなSheetオブジェクトが含まれており、それらをドラッグしてドキュメント内の任意の場所に配置することで移動できます。 2つのシートオブジェクト、 Table box および Statistics Box を作成しましょう。 シートオブジェクトの作成について既に学習した以前の章に従うことができます。 さらに、http://www.finddevguides.com/qlikview/qlikview_aggregate_functions []こちらに記載されているProduct_sales.csvファイルを使用しています。

document_sheet_objects

スプレッドシートオブジェクトの詳細は、[シート]タブを使用して確認できます。 ドキュメントに含まれるすべてのシートが表示され、各シートにはシートオブジェクトが表示されます。 シートとシートオブジェクトの両方に一意のIDがあります。 このタブ自体から、これらのオブジェクトのさまざまなプロパティを編集することもできます。

document_sheet_list

ドキュメントのスケジュール

QlikViewドキュメントは、いくつかの望ましい間隔で更新するようにスケジュールできます。 これは、ドキュメントプロパティウィンドウの下にある[スケジュール]タブを使用して行います。

document_scheduling

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);

リストボックスの作成

  • リストボックス*の作成には、メニュー*レイアウト→新規シートオブジェクト→リストボックス*をナビゲートすることが含まれます。 次の画面は、これらの手順を示しています。

list_box_creation

次に、リストボックスを作成するフィールドとして製品カテゴリを選択します。

list_box_properies

リストボックスデータ

上記の手順を完了すると、次の画面が表示され、製品カテゴリの値がリストボックスとして表示されます。

list_box_data

リストボックスの検索オプション

リストボックスに非常に多くの値が含まれている場合、下にスクロールして検索することは困難です。 そのため、リストボックスの上部にある検索ボックスを使用して、検索文字列を入力できます。 最初の文字が入力されるとすぐに、関連する値が表示されます。

list_box_search

リストボックスと関連付け

他のシートオブジェクトは自動的にリストボックスに関連付けられ、リストボックスから値を選択することで簡単に関連付けを確認できます。

list_box_association

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);

マルチボックスの作成

マルチボックスの作成には、メニューの[レイアウト]→[新しいシートオブジェクト]→[マルチボックス]を使用する必要があります。 次の画面は、これらの手順を示しています。

Multi_box_create

次に、製品販売テーブルのフィールドを選択して、マルチボックスを構築します。

Multi_box_fields

マルチボックスデータ

上記の手順を完了すると、次の画面が表示され、製品カテゴリの値がマルチボックスとして表示されます。

Multi_box_data

マルチボックスと関連付け

他のシートオブジェクトは自動的にマルチボックスに関連付けられ、その関連付けはマルチボックスから値を選択することで簡単に観察できます。

Multi_box_association

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

テキストオブジェクトの作成

上記のデータについて、*テキストオブジェクト*を作成しましょう。 以下に示すように、メニューの[レイアウト]→[新しいシートオブジェクト]→[テキストオブジェクト]に移動します。

4_text_object_create

テキストオブジェクト式の作成

上記で作成したテキストボックスで、右クリックしてプロパティを選択します。 次に、以下に示すように、[全般]タブの下の[テキスト]ボックスに、テキストオブジェクトに表示するコンテンツを入力します。

5_text_object_edit

背景色の選択

テキストオブジェクトの背景色は、[全般]タブの背景オプションを使用して設定できます。

6_text_object_edit

テキストオブジェクト

最終的なテキストオブジェクトを以下に示します。 いくつかの製品ラインをクリックしてフィルタリングすると、それに応じてテキストオブジェクトのコンテンツが変更され、新しい値が反映されます。

7_text_object_final_data

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

クイックチャートウィザードの使用

棒グラフの作成を開始するには、クイックチャートウィザードを使用します。 クリックすると、次の画面が表示され、グラフの種類を選択するように求められます。 [棒グラフ]を選択して、[次へ]をクリックします。

5_bar_chart_chart_type

チャートディメンションを選択する

最初のディメンションとして製品ラインを選択します。

6_bar_chart_chart_diemnsion

チャート式を選択してください

チャート式は、数値が含まれるフィールドに Sum、Average、Count などの関数を適用するために使用されます。 Valueという名前のフィールドにSum関数を適用します。 Nextをクリックしてください。

7_bar_chart_chart_expression

チャート形式を選択する

チャート形式は、チャートのスタイルと向きを定義します。 各カテゴリで最初のオプションを選択します。 Nextをクリックしてください。

8_bar_chart_chart_format

棒グラフ

下図のように棒グラフが表示されます。 さまざまな製品ラインのフィールド値の高さを示しています。

9_bar_chart_display

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);

クイックチャートウィザードの使用

円グラフの作成を開始するには、クイックチャートウィザードを使用します。 クリックすると、次の画面が表示され、グラフの種類を選択するように求められます。 [円グラフ]を選択して、[次へ]をクリックします。

2_pie_chart_chart_type

チャートディメンションを選択する

最初のディメンションとして製品ラインを選択します。

3_pie_chart_dimension

チャート式を選択してください

チャート式は、数値のフィールドに Sum、Average、Count などの関数を適用するために使用されます。 Valueという名前のフィールドにSum関数を適用します。 Nextをクリックしてください。

4_pie_chart_expression

チャート形式を選択する

チャート形式は、チャートのスタイルと向きを定義します。 3番目のオプションを選択します。 Nextをクリックしてください。

5_pie_chart_format

円グラフ

下図のように棒グラフが表示されます。 さまざまな製品ラインのフィールド値の高さを示しています。

6_pie_chart_display

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);

行列を選択

上記の入力データから、ダッシュボードに表示されるマトリックスとしてフィールドを選択します。 このために、メニューの[レイアウト]→[フィールドの選択]の手順に従います。

3_dahboard_matrices_fileds

次の画面で、ダッシュボードに表示する使用可能なフィールドを選択します。 「OK」をクリックしてください。

4_dahboard_listbox_fields

次の画面が表示され、すべてのフィールドが表示されます

5_dahboard_listbox_display

ダッシュボードへのチャートの追加

ここで、シート内の任意の場所を右クリックし、*新しいシートオブジェクト→チャート*を選択して、ダッシュボードにチャートを追加します。

6_dahboard_add_chart

グラフの種類を選択してください

さまざまな製品ラインの売上値を表示するために、チャートタイプを棒グラフとして選択してみましょう。

7_dahboard_add_bar_chart

チャート寸法

Product LineをChart Dimensionとして選択します。

8_dahboard_chart_dimension

チャート式

Product Lineディメンションの売上値を表示する式は、式エディタで作成されます。

9_dahboard_chart_expression

ダッシュボード

上記の手順を完了すると、次のダッシュボードが表示されます。

10_dahboard_data

ダッシュボードを使用する

上記のダッシュボードの値は、特定の製品をフィルタリングするために選択でき、チャートはそれに応じて変化します。 さらに、関連する値が強調表示されます。

11_dahboard_data-associated

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を参照します。 次へをクリックしてください。

1_dt_file_wizard

変換ウィザード

次の画面では、データ変換を選択するよう求められます。 [変換ステップを有効にする]ボタンをクリックします。

2_dt_edit_transformations

変換タイプ

このステップでは、四半期を表す行を削除する変換を選択します。 *ゴミ箱→マーク付きの削除*を選択し、2行を選択しますが、これらは不要です。 Nextをクリックしてください。

3_dt_garbage_rows

ファイルウィザードオプション

変換のタイプと削除する行を選択すると、次の画面で、where句の選択やプレフィックスの追加など、さらに変換を行うように求められます。 この手順を無視して、[完了]をクリックします。

4_dt_next_garbage_rows

変換されたデータのロードスクリプト

すべての変換ステップが完了した後の上記データのロードスクリプトを以下に示します。

5_dt_load_script

変換されたデータの表示

変換されたデータは、 Table Box シートオブジェクトを使用して表示できます。 それを作成する手順を以下に示します。

6_dt_create_table_box

次に、テーブルボックスのフィールドを選択します。

7_dt_table_box_fields

テーブルボックスにシートのデータが表示されます。

8_dt_fina_data

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 を押します。 [ファイルからのデータ]タブから[テーブルファイル]オプションを選択し、上記のデータを含むファイルを参照します。

1_fill_choose_file

上記の手順で[次へ]をクリックした後、[変換手順を有効にする]ボタンを選択して、必要なデータ変換を実行します。

2_fill_file_wizard

データ変換の選択

*Fill* 関数を使用するため、[実際のフィールド]の下に空の値を表示する[Fill]タブを選択します。

3_fill_transformation

塗りつぶし条件を作成する

[塗りつぶし]ボタンをクリックすると、ターゲット列とセル条件を選択するオプションが表示されます。 この列の空の値を列2の同じ行の値で埋めたいので、列3を選択します。 また、空のセルのみが新しい値で上書きされるように、セル値を空として選択します。

4_fill_cell_condition

変換されたデータ

上記の手順を完了すると、次のように変換されたデータが取得されます。

5_fill_filled_cells

変換済みデータのロードスクリプト

変換されたデータのロードスクリプトは、スクリプトエディターを使用して表示できます。 スクリプトは、空のセル値を置き換える式を表示します。

6_fill_laod_script

変換されたデータを表示する

変換されたデータは、メニューの[レイアウト]→[新しいシートオブジェクト]のオプションを使用して*テーブルボックス*を作成することで確認できます。

7_fill_table_box

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 を押します。 [ファイルからのデータ]タブから[テーブルファイル]オプションを選択し、上記のデータを含むファイルを参照します。 [次へ]をクリックした後、[変換ステップを有効にする]ボタンを選択して、必要なデータ変換を実行します。

1_cm_file_wizard

データ変換の選択

[列]タブを選択し、[新規]ボタンを選択します。 *新しい列*と行条件を指定するように求められます。 ソース列として列3を指定し、行条件として2で始まる値を選択します。

2_cm_add_column

変換されたデータ

上記の手順を完了すると、次のように変換されたデータが取得されます。

3_cm_added_column

変換されたデータのロードスクリプト

変換されたデータのロードスクリプトは、スクリプトエディターを使用して表示できます。 スクリプトは式を表示し、必要な値を持つ新しい列を作成します。

4_cm_file_wizard_script

変換されたデータを表示する

変換されたデータは、メニューの[レイアウト]→[新しいシートオブジェクト]のオプションを使用して*テーブルボックス*を作成することで確認できます。

5_cm_completed

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 を押します。 [ファイルからのデータ]タブから[テーブルファイル]オプションを選択し、上記のデータを含むファイルを参照します。

1_file_wizard

[次へ]をクリックした後、[変換ステップを有効にする]ボタンを選択して、必要なデータ変換を実行します。

データ変換の選択

*Rotate* 関数を使用するので、すべてのフィールドの値を表示するRotateタブを選択しましょう。

2_rotate_option

回転を適用

[トランスポーズ]ボタンをクリックして、上記のデータをトランスポーズします。 転置されたデータは次のように表示されます。

3_rotate_rotated

変換済みデータのロードスクリプト

変換されたデータのロードスクリプトは、スクリプトエディターを使用して表示できます。 スクリプトは、空のセル値を置き換える式を表示します。

4_rotate_load_script

変換されたデータを表示する

変換されたデータは、メニューの[レイアウト]→[新しいシートオブジェクト]のオプションを使用して*テーブルボックス*を作成することで確認できます。

5_rotate_loaded_data

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 を押すと、テーブルの構造を確認できます。 次の画面が表示され、緑色のボックス内の寸法と赤色のボックス内のメジャーがマークされています。

1_view_table

ディメンションとメジャーの使用

上記のディメンションとメジャーを使用した計算を示すストレートテーブルチャートを作成します。 以下に示す Quick Chart Wizard をクリックします。

次に、 Straight Table オプションをクリックします。 Nextをクリックしてください。

2_dm_straight_table

寸法を選択

この画面では、各地域の総収益を選択するため、ディメンションとして地域を選択します。

3_dm_table_diemsnion

測定を選択

次の画面では、メジャーフィールドに計算を適用するように求められます。 収益フィールドに*合計*を適用することを選択します。

4_dm_table_measure

最終チャート

上記の手順を完了すると、各地域(ディメンション)の総収益(メジャー)を示す最終チャートが表示されます。

5_dm_final_chart

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メモリに読み込んだ後、すべてのテーブル、フィールド、およびリレーションシップをスタースキーマの形式で表示するデータモデルを確認できます。

starschema_model

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* を選択し、入力ファイルを参照します。

synthetic_key_load_script

データ・モデル

次に、テーブルビューアーのメニューコマンドであるControl + Tを使用して、データモデルを確認します。 次の画面が表示されます。これは、両方のテーブルに一致するキーとしてProductIDとCountryがあるため、合成キーの値を提供する3番目のテーブルの作成を示しています。

synthetic_key_data_model

合成キーの影響

合成キーは、使用されているデータモデルの欠陥を示します。 データの正確性やレポートのパフォーマンスに問題を引き起こすことはありません。 ビッグデータモデルに1つまたは2つの合成キーのインスタンスがある場合、問題なく動作します。 ただし、それらが多すぎる場合は、データモデルを再設計することになります。

QlikView-データの生成

多くの場合、使用するソフトウェアによってプログラムから生成されるデータが必要です。これはソースからのものではありません。 たとえば、100個の乱数または1年の第23週の日付だけです。 データアナリストは、到着時にこれらの値が含まれていないデータに対して何らかの分析を実行するために、そのようなデータを作成する必要がある場合があります。 QlikViewは Autogenerate と呼ばれる機能を提供します。この機能はこのような要件に使用できます。

データ要件

木曜日または日曜日である日付のみを検索する必要があるシナリオを考えます。 今日から年末までの範囲で見つける必要があります。 これを実現する次のスクリプトを作成します。

generate_data_load_script

説明

2つの変数を宣言して、現在の月の最初の日と年の終わりをキャプチャします。 次に、さまざまな関数とフィルター条件を適用して、必要な値を生成します。 recno()関数は、これらの日付ごとに1つのレコードを作成します。 変数を範囲として与えるAutogenerate関数を追加します。

生成データ

上記のスクリプトをQlikViewのメモリにロードし、メニューの[レイアウト]→[新しいシートオブジェクト]→[テーブルボックス]を使用してテーブルボックスを作成すると、次のようにデータが作成されます。

generate_data_calendar

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* を選択し、入力ファイルを参照します。 以下に示すオプションを選択したら、[次へ]をクリックします。

1_cross_tab_file_wizard

クロステーブルオプション

次のウィンドウ([ファイルウィザード]→[オプション])で、[クロステーブル]ボタンをクリックします。 列を異なる色で強調表示します。 ピンク色は* qualifierフィールド*を示しています。これは、 Attribute Field の各値の多くの行にわたって繰り返されます。 属性フィールドの下のセル値がデータとして取得されます。 OKをクリックしてください。

2_cross_tab_choose_fields

クロステーブル変換

変換されたデータが表示され、すべての地域フィールドが1列にクラブされますが、四半期ごとに値が繰り返されます。

3_cross_tab_result1

スクリプトをロード

クロステーブル変換のロードスクリプトには、以下のコマンドが表示されます。

4_cross_tab_load_script

クロステーブルデータ

メニューの[レイアウト]→[新しいシートオブジェクト]→[テーブルボックス]を使用してテーブルボックスシートオブジェクトを作成すると、次の出力が表示されます。

5_cross_tab_table_box

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 を押します。 [ファイルからのデータ]タブから[テーブルファイル]オプションを選択し、上記のデータを含むファイルを参照します。 次の画面が表示されます。

1_File_wizard

[OK]をクリックし、[Control + R]を押してQlikViewのメモリにデータをロードします

テーブルボックスを作成

次に、テーブルボックスタイプの新しいシートオブジェクトを作成します。 以下に示すメニューに従います。

3_straight_table_menu

列を選択

QlikViewは、最終的なテーブルボックスに表示される列の選択を求めます。 すべての列を選択し、 PromoteまたはDemote オプションを使用して列の順序を設定します。

4_straight_table_choose_fields

表示スタイルを選択

次に、スタイルタブを選択して、表示データに特定の背景色を付けます。 現在のスタイルオプションには、多くの構築済みスタイルがリストされています。 Pyjama RedStripes を2行ごとに選択します。

6_straight_table_pyjama

列の並べ替え

列ヘッダーでマウスボタンを押したまま、目的の位置にドラッグすることで、列の位置を並べ替えることができます。

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 を押します。 [ファイルからのデータ]タブから[テーブルファイル]オプションを選択し、上記のデータを含むファイルを参照します。 次の画面が表示されます。

1_File_wizard

[OK]をクリックし、[Control + R]を押してデータをQlikViewのメモリにロードします。

グラフの種類を選択

次に、チャートウィザードを使用して、*ピボットテーブル*オプションを選択します。 Nextをクリックしてください。

2_pivot_select_chart

グラフの次元を選択

次の画面では、チャートの最初のディメンションとしてProduct_Lineを選択します。

3_pivot_choose_dimension

チャート式を選択

次の画面では、値の合計を選択するチャート式を選択するよう求められます。

4_pivot_choose_sum

チャート形式を選択

次をクリックすると、スタイルとデフォルトモードとして Pyjama Green を選択するチャート形式を選択する画面が表示されます。

5_pivot_chart_style

ピボットグラフデータ

上記の手順を完了すると、最終的なチャートは次のようになります。

6_pivot_pivot_final

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 を押します。 [ファイルからのデータ]タブから[テーブルファイル]オプションを選択し、上記のデータを含むファイルを参照します。 以下に示す画面が表示されます。

1_set_ana_load_script

テーブルボックスを作成

メニューオプション Layout→New Sheet Objects→Table Box を使用してテーブルボックスを作成するために使用可能なすべてのフィールドを選択し、メニューオプション Layout→New Sheet Objects→List Box を使用して月のフィールドを含むリストボックスを選択します。 また、各製品カテゴリの総売上を示すストレートテーブルチャートを作成します。

4_set_ana_sales_table

データの関連付け

これで、3つのシートオブジェクトのいずれかの値を選択することで、これらの3つのシートオブジェクト間の関連付けを確認できます。 月リストボックスから4月と1月を選択します。 テーブルボックスと関連する値を示すグラフで値の変化を確認できます。

5_set_ana_association

オブジェクトのクローン

次に、売上合計チャートを複製して、他のシートオブジェクトに関連付けられていない新しいデータセットを作成します。 グラフ Sales Sum を右クリックし、下に示すようにオプション Clone をクリックします。 同じグラフの別のコピーがQlikViewドキュメントに表示されます。

6_set_ana_clone

式を設定

次に、グラフの2番目のコピー Sales Sum を選択し、右クリックしてグラフのプロパティを取得します。 以下に示すように、 Definition タブの下に数式を記​​述するSales valuesという式を作成します。

7_set_ana_setexpression

Set Analysisの適用

上記の手順を完了すると、6月を選択すると、テーブルボックスと売上合計グラフに関連する値が表示されます。 ただし、4月の売上は、セット式のデータに基づいているため変更されません。

8_set_ana_final

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* を選択し、入力ファイルを参照します。 次に、スクリプト内のコマンドを編集して、テーブル間に内部結合を作成します。

load_script

内部結合は、両方のテーブルに存在する行のみをフェッチします。 この場合、 Product ListおよびProduct Sales テーブルの両方で使用可能な行がフェッチされます。 メニューの[レイアウト]→[新しいシートオブジェクト]→[テーブルボックス]を使用して、 Table Box を作成します。ここでは、表示するProductID、ProductCategory、SaleAmountの3つのフィールドをすべて選択します。

inner_join

左結合

左結合では、左側のテーブルからすべての行をフェッチし、右側のテーブルから一致する行をフェッチします。

スクリプトをロード

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つのフィールドをすべて選択します。

left_join

右結合

右結合では、右側のテーブルからすべての行をフェッチし、左側のテーブルから一致する行をフェッチします。

スクリプトをロード

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)をすべて選択します。

right_join

外部結合

外部結合では、右側のテーブルと左側のテーブルからすべての行をフェッチします。

スクリプトをロード

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つのフィールドをすべて選択します。

outer_join

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* を選択し、入力ファイルを参照します。 次に、スクリプト内のコマンドを編集して、テーブル間に内部キープを作成します。

keep_script

内部キープは、両方のテーブルに存在する行のみをフェッチします。 この場合、 Product ListおよびProduct Sales テーブルの両方で使用可能な行がフェッチされます。 メニューの[レイアウト]→[新しいシートオブジェクト]→[テーブルボックス]を使用して、テーブルボックスを作成します。

最初に、 productSales テーブルのみを選択します。このテーブルには、表示されるProductID、ProductCategory、SaleAmountのフィールドがあります。

keep_product_sales

次に、 ProductList データセットを選択します。これにより、ProductIDフィールドとProductCategoryフィールドが提供されます。

keep_product_list

最後に、 All Tables オプションを選択し、すべてのテーブルから使用可能なすべてのフィールドを取得します。

keep_both_tables

次のレポートは、上記のステップのすべてのテーブルボックスを示しています。

keep_chart_innerkeep

左キープ

左キープは左結合に似ており、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 を使用してレポートのデータを更新すると、シートオブジェクトに次のデータが取得されます。

keep_chart_leftkeep

右キープ

右キープは左結合に似ています。これは、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 を使用してレポートのデータを更新すると、シートオブジェクトに次のデータが取得されます。

keep_chart_rightkeep

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* を選択し、入力ファイルを参照します。 次に、スクリプト内のコマンドを編集して、テーブル間に連結を適用します。

concatenate_load_script

次に、上記のデータをQlikViewのメモリに読み込み、メニュー*レイアウト→新規シートオブジェクト→テーブルボックス*を使用してテーブルボックスを作成します。ここで、表示する使用可能なすべてのフィールドを選択します。

concatenate_select_table

連結データ

上記の手順を完了すると、下に示すようにテーブルボックスが表示されます。 製品ID 6および7の重複行に注意してください。 連結は重複を排除しません。

concatenated_table_chart

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* を選択し、入力ファイルを参照します。

1_mc_load_script

次に、上記のデータをQlikViewのメモリに読み込み、メニュー*レイアウト→新規シートオブジェクト→テーブルボックス*を使用して*テーブルボックス*を作成します。ここで、以下に示すように表示するすべての利用可能なフィールドを選択します。

2_mc_initial_data

マスターカレンダーを作成する

次に、スクリプトエディターで次のスクリプトを記述して、マスターカレンダーを作成します。 ここでは、テーブルDailySalesを常駐テーブルとして使用し、そこから最大日付と最小日付を取得します。 常駐ロードの上にある2番目のロードステートメントを使用して、この範囲内の各日付をロードします。 最後に、年、四半期、月などを抽出する3番目の負荷ステートメントがあります。 SalesDate値から。

3_mc_calendar_script

フィールドを選択

マスターカレンダーとともに完全なロードスクリプトを作成した後、メニュー*レイアウト→新しいシートオブジェクト→テーブルボックス*を使用してデータを表示するテーブルボックスを作成します

4_mc_select_fields

最終データ

最終出力には、販売データとマスターカレンダーを使用して作成された四半期と月の値を示すテーブルが表示されます。

5_mc_final_data

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のメモリにロードします。

1_mt_load_script

テーブルボックスを作成

以下に示すように、上記の各テーブルに2つのテーブルボックスを作成しましょう。 ここでは、販売地域レポートで国の値を取得できません。

2_mt_table_boxes

マッピングテーブルを作成する

次のスクリプトは、salesテーブルの地域の値をMapCountryRegionテーブルの国の値にマッピングするマッピングテーブルを作成します。

3_mt_mapping_script

テーブルチャート

上記の手順を完了し、データを表示するためのテーブルボックスを作成すると、Salesテーブルから他の列とともに国の列を取得します。

4_mt_final_data

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* を選択し、入力ファイルを参照します。

1_cr_load_script

データロード

上記のスクリプトを作成した後、コマンド Control + R を使用してQlikViewのメモリにデータをロードします。 これは、ロードされるテーブルに循環ループが存在することを示すエラープロンプトが表示されるときです。

2_warning

データ・モデル

上記の警告の正確な原因を見つけるために、テーブルビューアーのメニューコマンド Control + T を使用してデータモデルを確認できます。 次の画面が表示され、循環参照が明確に表示されます。 ここで、RegionCountryとSalesRegionの間の結合は、フィールド Region を使用して直接実現できます。 フィールド Country を使用して最初にProductCountryテーブルに移動し、次にProdcutIDをSalesregionにマッピングすることでも実現できます。

3_cr_data_model

循環参照の解決

上記の循環参照は、QlikViewが列名を使用してテーブル間の関連付けを自動的に形成しないように、データセットの列の名前を変更することで解決できます。 このため、RegionCountryのcountry列の名前をSalesCountryに変更します。 データセットProdcuCountryで、Country列の名前をProductCountryに変更します。

4_cr_load_script_rectified

修正されたデータモデル

上記の列の名前を変更した後の修正済みデータモデルは、コマンド Control + T を使用して表示できます。 これで、テーブル間の関係がループを形成していないことがわかります。

5_cr_data_model_rectified

*Control + R* を押してデータをリロードしても、警告は表示されなくなり、このデータを使用してレポートを作成できます。

Qlikview-interview-questions