如何为Dataform中的源数据表设置别名并通过别名引用查询
在Dataform中为源数据表设置自定义引用别名的正确方法
你之前尝试的alias参数并不是Dataform的declaration函数支持的参数,所以没法生效。要实现用${ref("finance_user")}替代${ref("user")}来引用目标表,有两种简单的方法:
方法一:通过文件名设置别名
直接把声明数据源的.js文件命名为finance_user.js,文件内容保持如下:
declaration({ database: "DATABASE_a", schema: "SCHEMA_a", name: "user" });
这样Dataform会自动把文件名作为这个数据源节点的ID,你就能直接用${ref("finance_user")}来引用这个外部表了。
方法二:通过config配置自定义节点ID
如果不想修改文件名,也可以在文件里添加config函数来指定节点的别名,比如你的文件还是叫user.js,内容改成:
config({ name: "finance_user" }); declaration({ database: "DATABASE_a", schema: "SCHEMA_a", name: "user" });
这种方式也能让${ref("finance_user")}指向实际的DATABASE_a.SCHEMA_a.user表。
两种方法都能满足你区分同名数据源的需求,选哪种看你自己的文件管理习惯。
内容的提问来源于stack exchange,提问作者Hossam Mohamed Dergham
相关产品推荐
相关产品推荐

