合成キー
Qlik Sense は、2 つ以上のデータ テーブルに 2 つ以上の共通の項目がある場合に合成キーを作成します。合成キーとは、複合キーが発生するすべての組み合わせを表す匿名項目です。
データのロード中に、合成キーに関する警告が表示された場合は、データ モデル ビューアでデータ構造を確認する必要があります。データ モデルが正しいかどうかを、自分で確認してください。データ モデルが正しくても、ほとんどの場合、合成キーが多すぎるとスクリプトでエラーが発生する原因となります。
複数の合成キーが不正なデータ モデルの兆候となることはよくあります。ですが、他の合成キーに基づく合成キーがある場合、これは不正なデータ モデルの明らかな兆候です。
警告メモデータ量やテーブル構成、その他の要因により合成キーが増加すると、Qlik Sense はそれらを効率的に処理できなくなる場合があり、結果として大量の時間とメモリを消費してしまいます。そうした場合は、すべての合成キーを削除して、スクリプトの再構築が必要となります。
合成キーの処理
合成キーを回避する必要がある場合は、データ ロード スクリプトで次のような方法を使って解決できます。
-
キーとして使用されている論理的にリンクしている 2 つのテーブルの項目のみをチェックする。
- “Comment” や “Remark”、“Description” のような項目が互いに関係のない複数のテーブルに存在する場合、キーとして使用できない。
- “Date” や “Company”、“Name” のような項目が複数のテーブルに存在し、一意の値を持っているがロールが異なる場合 (Order Date/Shipping Date、Customer Company/Supplier Company) は、キーとして使用できない。
-
冗長項目が使用されておらず、必要な項目のみが接続されていることを確認する。たとえば、日付をキーとして使用する場合は、year、month、または day_of_month などを複数の内部テーブルから同じ日付がロードされていないことを確認してください。
-
必要に応じて、通常は AutoNumber スクリプト関数内で文字列連結を使用している独自の非複合キーを作成する。
関連する学習: