Excel ピボットテーブル データの取り込み

Excel ピボットテーブル データの取り込み

Pocket

Qlik SenseにExcelで作成したピボットテーブルのデータを取り込みたいなと思うことありませんか?

Excelのピボットテーブルで年を横並びで表示している場合など、横持ちのデータをQlik Senseに取り込む場合はデータを縦持ちに直して取り込む必要があります。


↓↓ 横持ちデータから縦持ちデータに変換 ↓↓


今回はデータ ロード エディタで横持ちデータを縦持ちデータに変換するスクリプトを記述する方法を紹介します。
※スクリプトとは、どのような処理でデータ取り込むのかを記述した文章です。この文章に従ってデータを形成し、取り込みます。

目次

※本記事は バージョン「February 2021」の[SaaS]で作成しています。

Excelファイルからデータを取り込むスクリプトを挿入する

今回は例としてExcelファイルを利用します。

1)アプリ概要を開き、[データ ロード エディタ]を開きます。


2)[データ接続]内の[DataFiles]で[データを選択]をクリックします。



3)[ここにファイルをドロップするか、ファイルをクリックして選択します]をクリックします。


4)取り込みたいExcelファイルを選択し、[開く]をクリックします。


5)追加したファイルを選択し、[選択]をクリックします。


6)取り込む項目を選択し、[ヘッダーサイズ]を「1」に設定し、[スクリプトを挿入]をクリックします。
※列として保持されている「2016」「2017」「2018」などの年の値が先頭行(項目名)になるように[ヘッダーサイズ]を変更してスクリプトを挿入します。



7)スクリプトが追加されたことを確認します。
 

CrossTableプレフィックスを記述する

横持ちのデータを縦持ちに形成して取り込む場合、CrossTableプレフィックスを利用します。

8)CrossTableプレフィックスをLoad文の前に追加します。


構文は以下です。
CrossTable(属性項目名, データ項目名 [, 列数])
Load …

 属性項目名 列の値(「2016」「2017」など)に対して付ける項目名を指定します。
上記では「年」と指定します。
データ項目名 セルの値(「\250,983,330」など)に対して付ける項目名を指定します。
上記では「金額」と指定します。
列数 行に変換せずに保持するデータ(「地区番号」「地区名」)の列数を指定します。
上記では「2」と指定します。



参考ヘルプ:
  • Crosstable
    https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptPrefixes/crosstable.htm
  • Crosstable プレフィックスの使用
    https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/use-crosstable-prefix.htm
  •  
    9)[データのロード]をクリックしてデータをロードします。



     

    ロードしたデータを確認する

    10)[データ モデル ビューア]を開きます。



     

    11)該当のテーブルを選択し、下方の[プレビュー]をクリックして展開します。



     

    12)データが縦持ちで取り込まれていることを確認します。



     

    さいごに

    スクリプトでCrossTableプレフィックスを記述すれば、データソース側でデータを縦持ちに変換しなくても、Qlik Sense側で処理できます。
    スクリプトを記述できるようになると、データを様々な形式に編集して取り込めるようになります。是非チャレンジしてください!

    ※上記で利用したサンプルファイルはこちらからダウンロードできます。
    ダウンロード後、解凍してご利用ください。
    ファイル名:Crosstable