メイン コンテンツをスキップする 補完的コンテンツへスキップ

合成キー

Qlik Sense は、2 つ以上のデータ テーブルに 2 つ以上の共通の項目がある場合に合成キーを作成します。合成キーとは、複合キーが発生するすべての組み合わせを表す匿名項目です。

データのロード中に、合成キーに関する警告が表示された場合は、データ モデル ビューアでデータ構造を確認する必要があります。データ モデルが正しいかどうかを、自分で確認してください。データ モデルが正しくても、ほとんどの場合、合成キーが多すぎるとスクリプトでエラーが発生する原因となります。

複数の合成キーが不正なデータ モデルの兆候となることはよくあります。ですが、他の合成キーに基づく合成キーがある場合、これは不正なデータ モデルの明らかな兆候です。

警告メモデータ量やテーブル構成、その他の要因により合成キーが増加すると、Qlik Sense はそれらを効率的に処理できなくなる場合があり、結果として大量の時間とメモリを消費してしまいます。そうした場合は、すべての合成キーを削除して、スクリプトの再構築が必要となります。

合成キー $Syn 1 に関連付けられた 3 つのテーブル。

Three tables associated with a synthetic key.

合成キーの処理

合成キーを回避する必要がある場合は、データ ロード スクリプトで次のような方法を使って解決できます。

  • キーとして使用されている論理的にリンクしている 2 つのテーブルの項目のみをチェックする。

    • “Comment” や “Remark”、“Description” のような項目が互いに関係のない複数のテーブルに存在する場合、キーとして使用できない。
    • “Date” や “Company”、“Name” のような項目が複数のテーブルに存在し、一意の値を持っているがロールが異なる場合 (Order Date/Shipping Date、Customer Company/Supplier Company) は、キーとして使用できない。
  • 冗長項目が使用されておらず、必要な項目のみが接続されていることを確認する。たとえば、日付をキーとして使用する場合は、year、month、または day_of_month などを複数の内部テーブルから同じ日付がロードされていないことを確認してください。

  • 必要に応じて、通常は AutoNumber スクリプト関数内で文字列連結を使用している独自の非複合キーを作成する。

詳細を見る

このページは役に立ちましたか?

このページまたはコンテンツに、タイポ、ステップの省略、技術的エラーなどの問題が見つかった場合は、お知らせください。改善に役立たせていただきます。