autogenerate_primary_keys

用途

  autogenerate_primary_keys: yes
階層
autogenerate_primary_keys

または

autogenerate_primary_keys
デフォルト値
いいえ

特別なルール

定義

autogenerate_primary_keys パラメータが有効になっている場合、LookML で明示的に定義されていないビューに対して、一時的な一意のキーが生成されます。自動生成された主キーを使用すると、対称集計一対多のカウントを正しく計算できます。基盤となるデータベース テーブルを変更する必要はありません。主キーはクエリの実行時に生成され、クエリ間で保持されません。

autogenerate_primary_keys パラメータは、ビューと Explore の両方でサポートされています。

  • ビューの場合、autogenerate_primary_keys: yes でビューを定義すると、行の重複を避けるために主キーが必要なビューに対するクエリの主キーが生成されます。主キーとして定義されたフィールドがすでに存在するビューに autogenerate_primary_keys: yes を追加すると、Looker IDE に LookML 検証の警告が表示されます。
  • Explore の場合、autogenerate_primary_keys: yes で Explore を定義すると、行の重複を避けるために主キーが必要な Explore クエリに必要な Explore の各ビューの主キーが生成されます。

    • Looker は、primary_key: yes で定義されたフィールドがない Explore のビューに対してのみ主キーを生成します。ビューに primary_key: yes で定義されたフィールドがある場合、Looker はビューの主キーを使用します。
    • Looker は、Explore のビューがその Explore を介してクエリされる場合にのみ、Explore のビューの主キーを生成します。autogenerate_primary_keys: yes で定義されていない別の Explore を介して同じビューがクエリされ、ビュー自体が autogenerate_primary_keys: yes で定義されていない場合、Looker はビューの主キーを生成しません。

これは、order_items ビューを結合する orders Explore です。Explore は autogenerate_primary_keys: yes で定義されています。

explore: orders {
  autogenerate_primary_keys: yes
  join: order_items {
    sql_on: ${orders.id} = ${order_items.order_id} ;;
    relationship: one_to_many
  }
}

対称集計が必要な orders Explore に対するクエリや、ビューの行が重複する可能性がある計算の場合、Looker は orders ビューまたは order_items ビューの一意のキーを自動的に生成します。

知っておくべきこと

autogenerate_primary_keys: yes の使用については、次の点に注意してください。

  • autogenerate_primary_keys を有効にすると、既存のクエリの動作が変わる可能性があります。主キーがないために Looker がクエリから削除する必要があったメジャーが結果に含まれるようになり、一部のレポートで重大な変更が発生する可能性があります。
  • 主キーを自動生成すると、追加の計算が必要になるため、クエリ時間が長くなる可能性があります。
  • Looker がクエリの主キーを生成する場合、その主キーは一時的なランタイム主キーであり、Explore で選択または可視化することはできません。

autogenerate_primary_keys の言語サポート

autogenerate_primary_keys を使用できるかどうかは、Looker 接続で使用されているデータベース言語によって異なります。Looker の最新リリースでは、次の言語で autogenerate_primary_keys がサポートされています。

  • Google BigQuery Standard SQL
  • Amazon Redshift
  • Amazon Redshift 2.1 以降
  • Amazon Redshift サーバーレス 2.1 以降
  • Google Cloud PostgreSQL
  • Greenplum
  • Microsoft Azure PostgreSQL
  • MySQL 8.0.12 以降
  • PostgreSQL 9.5 より前