用途:介绍 long-metrics.view.lkml 中长表(窄表)指标格式的定义与聚合模式,并提供新增维度、度量和消费查询的操作指南。
主要能力:用派生表与 UNION ALL 把不同指标和时间范围的数据堆叠为单表;通过 extension: required 的基础视图(如 base_fields、day_agg_fields)共享字段;用指标专用视图(如 metric_total_sale_price)在 explore source(order_items)上计算窗口函数(累计、滚动平均);组合视图 long_metrics 通过 metric 维度过滤实现度量。
常用做法:新增维度需在 explore_source 中加列(如 column: category { field: products.category }),在视图定义 dimension,并在所有 UNION ALL 分支同步列及顺序,最后在 long_metrics 中加 dimension。字符串维度建议 TRIM 以免连接失败。新增度量需新建类似 metric_total_sale_price 的视图,把 value 映射到目标字段(如 order_items.total_gross_margin),在派生表加对应 UNION ALL 分支并硬编码指标名,再在 long_metrics 中加带 filters 的 sum 度量。比值等不可预聚合的指标,用 type: number 的度量引用已定义的过滤 sum 度量,如 sql: ${total_gross_margin} / NULLIF(${total_sale_price}, 0) ;;。周期对齐用 Liquid:{% condition source_parameter %} ${source} {% endcondition %} 绑定来源参数;对 current_period 未筛选或未选择时默认 ${current_period} = 'Current',避免历史锚定行产生重复。防止重复计数可在 explore 用 always_filter 设定关键堆叠维度默认值,或用 sql_always_where 做条件过滤。可在 explore 中定义 query 块作为 Quick Start 查询,设置 dimensions、measures 与 timeframe、source_parameter、current_period 过滤。
适用场景:需要在 Looker 中以灵活窄表格式做多指标、多时间范围与同期对比报表的建模与消费。
限制:未提供具体部署、价格或平台支持信息;列顺序在 UNION 各分支必须一致,否则报错;不加 timeframe 等过滤会重复计数。