如何正确新增/删除列
背景
抽取数据集或者抽取数据集创建完成后,有时候需要增删字段或者修改字段名称、类型。
错误方法❌
点击数据集概览页面“更新”按钮,在弹出框里把旧的 SQL 替换成新的 SQL,更新方式改为”覆盖旧数据“。
【原因】这个更新入口仅适合数据模型结构不变,仅查询条件发生变化的数据更新。在这里修改数据集结构不生效且会引发更新失败报错。
正确方法✔️
进入数据集详情页面,点击“模型结构“标签页。
点击“编辑“ 进入 SQL 查询编辑页,修改 SQL 查询语句,点击“预览”确保 SQL 语句能正常查询。
预览后点击页面右下角“确定“按钮。字段发生变动的话会弹出字段关联确认窗口,需要手动点击下拉菜单为标黄提示的原字段和新字段名字进行匹配,继续点击”确定“;
有新增字段的话会继续提示重命名,点击“确定”。(这里重命名设不设置都可,因为后续数据结构里可以修改)
之前设置有去重主键的话这一步可以重新勾选去重主键,然后继续点击”确定“。完成后会触发自动更新,旧数据会被覆盖。
数据更新完成,查看概览页面会发现已经是新的数据模型结构。
如果设置有增量更新,需要在数据集更新完成后,到“数据更新“标签页及时修改增量更新使用的 SQL 查询语句并保存。
数据结构要跟模型结构里的 SQL 语句主体结构保持一致,仅查询条件不同,否则后续增量更新触发会因为数据结构不一致而导致更新失败。
修改字段类型、名字:数据集概览—数据结构界面,可以手动修改字段的显示名称和类型。这个页面也可以看到所有新建字段以及使用的公式。
注意:字段重命名后,新建字段引用的还是旧字段,需要到数据明细里手动替换成新的字段名。
注意
不推荐方法:抽取数据集,在数据模型里修改 SQL 语句时,使用大量 as 进行字段重命名,使用函数进行新建字段或计算,多重子查询嵌套。【原因】:数据更新速度慢;易出错,后续修改麻烦,不利于维护。
推荐方法:SQL 语句尽量简单,只抽取原表数据,修改类型、重命名可以在新建数据集最后一步或者创建后概览标签页“数据结构“里修改,新建字段建议在概览页面或者 ETL 里添加。