用途
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 はビューの主キーを生成しません。
- 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 より前