SuperAPI AI 工具集

lookml-modeling-guidelines

数据与分析

查看项目

更新于 10-16 00:01

技能介绍

用途:这份指南面向 LookML 建模任务,把 LookML 开发最佳实践与 Looker CLI 用法结合起来,指导如何处理用户的建模请求,并保证代码可通过验证。

主要能力与流程:

  1. 文件类型认知:manifest.lkml 为项目全局配置(含 imports、constants);.model.lkml 定义数据库连接与 Explores;.view.lkml 定义维度、度量和派生表;.dashboard.lookml 定义仪表板布局、可视化与过滤器;另有 refinement、Data Test 与 .md 文档文件。
  2. 需求分析:先理解业务问题,再搜索现有项目资源,识别可复用维度与度量,避免重复造逻辑;判断是否需要新增视图、维度、度量或 join。创建派生表或 PDT 时必须参考 lookml-pdt-guidelines 技能。
  3. 探索(CLI):looker-cli api project all_projects、looker-cli api lookmlmodel all_lookml_models、looker-cli api lookmlmodel lookml_model {model_name}。字段发现用 looker-cli api lookmlmodel lookml_model_explore {model_name} {explore_name}。Schema 发现用 looker-cli connection ls、looker-cli api metadata connection_schemas {connection_name}、connect_tables/tables、connection_columns。数据发现用 looker-cli query runquery {query_id} 或 looker-cli api query run_inline_query,字段须用 view.field 全限定名。
  4. 验证与测试:代码语法须完整、括号配对、sql 参数匹配对应方言;类型需与数据库列类型一致;用 run_inline_query 请求 SQL 字段检查生成 SQL;频繁执行 looker-cli api project validate_project {project_id};测试用 looker-cli api project all_lookml_tests {project_id} 与 run_lookml_test {project_id}。
  5. 新建视图:无自动生成视图的子命令,必须手动构建视图定义,写入本地文件(如 /tmp/my_view.view.lkml)后上传:looker-cli project file create {project_id} views/{view_name}.view.lkml /tmp/my_view.view.lkml。
  6. 命名唯一性:Model 全实例唯一,View 项目内唯一,Explore 模型内唯一,Field 视图内唯一。

最佳实践:include 使用具体路径而非通配符;join 必须显式声明 relationship;Explores 宜小而非大而全;每个表视图须定义主键,且主键为第一个维度并设 primary_key: yes;度量应引用维度 ${dimension_name} 而非 ${TABLE}.column_name;新字段须加 description;用 extends、refinement(+语法)与 sets 实现 DRY。

限制:所有规则只适用于为满足当前提示新增的代码,未经明确要求不重构既有代码;严禁提交无法通过 LookML Validator 的代码;只访问当前任务所需的数据与 schema;验证范围仅限自身改动,不修复既有错误。