Crosstable プレフィックスの使用
クロス集計は、ヘッダー データが直交する 2 つのリストに値のマトリックスを持つ一般的なテーブルの種類で、データのクロス集計を使用する場合は、常に Crosstable プレフィックスを使用して、データの変換や希望する項目の作成ができます。
Crosstable プレフィックス
次の Product テーブルには、Month (月) ごとに 1 列、Product (製品) ごとに 1 行あります。
製品 | Jan 2014 | Feb 2014 | Mar 2014 | Apr 2014 | May 2014 | Jun 2014 |
---|---|---|---|---|---|---|
A | 100 | 98 | 100 | 83 | 103 | 82 |
B | 284 | 279 | 297 | 305 | 294 | 292 |
C | 50 | 53 | 50 | 54 | 49 | 51 |
このテーブルをロードすると、Product とそれぞれの月に 1 項目ずつ存在するテーブルが生成されます。
このデータを分析する場合は、すべての数値が 1 つの項目にあり、別の項目にすべての月がある方がはるかに容易です。この例の場合、各カテゴリ (Product, Month, Sales) ごとに 1 つの列を持つ 3 列構成のテーブルです。
Crosstable プレフィックスは、データを 1 列が Month、もう 1 つが Sales を表すテーブルに変換します。要するに、項目名を取得して項目値に変換します。
次の手順を実行します。
- 新しいアプリを作成し、高度なスクリプト チュートリアルという名前を付けます。
- データ ロード エディターで新しいスクリプト セクションを追加します。
- Product セクションに名前を付けます。
-
右のメニューの [DataFiles] で、[データを選択] をクリックします。
- Product.xlsx をアップロードして選択します。
- [Select data from] (データの選択元) ウィンドウで、Product テーブルを選択します。
- [スクリプトを挿入] をクリックします。
- [データのロード] をクリックします。
- [データ モデル ビューア] を開きます。データ モデルは次のようになります。
- データ ロード エディターで、[Product] タブをクリックします。
- LOAD ステートメントの上に次の内容を入力します。
- [データのロード] をクリックします。
- [データ モデル ビューア] を開きます。データ モデルは次のようになります。
これで、スクリプトは次のようになります。
CrossTable(Month, Sales)
通常入力データには、内部キー (上の例では Product) として機能する修飾子項目の列が 1 つだけあります。ですが、ここでは複数持つことが可能です。その場合は、LOAD ステートメントの属性項目の前にすべての補助項目をリストし、Crosstable プレフィックスの 3 番目のパラメータを補助項目の数を定義するために使用する必要があります。Crosstable キーワードの前に先行する LOAD またはプレフィックスを持つことはできません。ただし、自動連結を使用できます。
Qlik Sense 内のテーブルで、データは次のようになります。
これで、たとえば、データを使用して棒グラフを作成できるようになりました。
属性項目では、数値解釈は行われません。これは、列のヘッダーが月である場合、自動的に解釈されないことを意味します。この回避策としては、Crosstable プレフィックスを使用して一時的なテーブルを作成し、次の例のように 2 回目のパススルーを実行して解釈を行います。
これはあくまで例です。Qlik Sense で行う付随する演習はありません。
メモリ キャッシュのクリア
作成するテーブルを削除し、メモリ キャッシュをクリアできます。前のセクションのようにデータを一時的なテーブルにロードした場合、不要になったら削除しなければなりません。例:
項目を削除することもできます。例:
ご覧のとおり、キーワード TABLE と FIELD は単数形でも複数形でも使用できます。