relationshipの書き方(順番)
#relationship
LookML、Modelファイルのexploreでjoinを定義するときのこと
many_to_oneとone_to_many、どっちを使うのか、順番がわからなくなること、ありませんか?
relationshipの種類
one_to_one
many_to_one (default value)
one_to_many
many_to_many
回答
explore: (VIEW名)で定義したview(ビュー①)を起点に考える
例:
ビュー①が受注履歴、それに対してN:1で紐づく顧客マスタを繋げたい
many_to_one を選択
sql_onの書き方とは無関係
sql_onの左辺と右辺の順番が変わっても、relationhipの書き方には影響しない
より詳細な例
https://scrapbox.io/files/66d7b26b7ae55c001c7c4652.png
code: relationship.js
explore: order_items{
join: orders {
sql_on: ${order_items.order_id} = ${orders.id}
relationship: many_to_one
}
join: users {
sql_on: ${orders.user_id} = ${users.id}
relationship: many_to_one
}
join: products {
sql_on: ${order_items.product_id} = ${products.id}
relationship: many_to_one
} 
}
関連
many_to_oneはパフォーマンスが良くなりやすい