用途:Sets 是 LookML 中定义在视图或模型内的可复用字段列表(维度、度量、筛选器),主要用于把字段分组,服务于钻取路径、Explore 字段可见性等场景。
语法:set: set_name { fields: [field_name1, field_name2, view_name.field_name3, ...] }
主要能力:可复用,定义一次多处引用;支持组合,[set_name*] 引入另一集合的全部字段,[-field_name] 排除特定字段,view_name.set_name* 可引用其他视图的集合(需确保视图已 join)。
典型用法:一是钻取字段,为度量定义 drill_fields: [order_details*];二是在 Explore 层用 fields 显式控制可见字段,如 fields: [ALL_FIELDS*] 或白名单 fields: [orders.order_details*, users.user_info*];三是排除字段,如 fields: [ALL_FIELDS*, -users.password_hash],避免在视图层全局隐藏。
最佳实践:每个视图宜有默认 detail 集合,包含最相关的钻取字段;集合名用 snake_case 且具描述性,如 user_info、financial_metrics、drill_detail;避免在视图集合中产生跨视图依赖,优先定义仅含本视图字段的集合,再在 Explore 层组合不同视图的集合;可基于已有集合构建累积集合,如 extended_info 引用 basic_info*。
限制:资料未提供具体版本要求、性能影响或平台差异等信息。