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

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

目次
※本記事は バージョン「February 2021」で作成しています。
Excelファイルからデータを取り込むスクリプトを挿入する
今回は例としてExcelファイルを利用します。
1)アプリ概要を開き、[データ ロード エディタ]を開きます。

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


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

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

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

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


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

CrossTableプレフィックスを記述する
横持ちのデータを縦持ちに形成して取り込む場合、CrossTableプレフィックスを利用します。
8)CrossTableプレフィックスをLoad文の前に追加します。

構文は以下です。
CrossTable(属性項目名, データ項目名 [, 列数])
Load …属性項目名 | 列の値(「2016」「2017」など)に対して付ける項目名を指定します。 |
データ項目名 | セルの値(「\250,983,330」など)に対して付ける項目名を指定します。 |
列数 | 行に変換せずに保持するデータ(「地区番号」「地区名」)の列数を指定します。 |

参考ヘルプ:
Crosstable
Crosstable プレフィックスの使用
9)[データのロード]をクリックしてデータをロードします。

ロードしたデータを確認する
10)[データ モデル ビューア]を開きます。

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

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

さいごに
スクリプトでCrossTableプレフィックスを記述すれば、データソース側でデータを縦持ちに変換しなくても、Qlik Sense側で処理できます。
スクリプトを記述できるようになると、データを様々な形式に編集して取り込めるようになります。是非チャレンジしてください!
※上記で利用したサンプルファイルはこちらからダウンロードできます。
ダウンロード後、解凍してご利用ください。
ファイル名:Crosstable