用途
autogenerate_primary_keys: yes
|
階層
autogenerate_primary_keysまたは autogenerate_primary_keys |
デフォルト値
×
特別なルール
|
定義
autogenerate_primary_keys パラメータが有効になっている場合、Looker は、LookML で明示的に定義されていないビューに対して一時的な個別のキーを生成します。自動生成された主キーを使用すると、基盤となるデータベース テーブルを変更することなく、対称集計と一対多のカウントを正しく計算できます。主キーはクエリの実行時に生成され、クエリ間で保持されません。
autogenerate_primary_keys パラメータは、ビューと Explore の両方でサポートされています。
- ビューの場合、
autogenerate_primary_keys: yesを使用してビューを定義すると、Looker は、行の重複を避けるために主キーが必要なビューのクエリに対して主キーを生成します。主キーとして定義されたフィールドがすでに存在するビューにautogenerate_primary_keys: yesを追加すると、Looker IDE に LookML 検証の警告が表示されます。 Explore の場合、
autogenerate_primary_keys: yesを使用して Explore を定義すると、Looker は、行の重複を避けるために主キーが必要な 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 より前