麦粉社区
>
帖子详情

数据集如何更换数据源

数据准备 发表于 昨天 14:44
发表于 昨天 14:44

创建了一套数据源、数据集、参数和数据表单


现在需要复制一套一样的数据表单,但数据库是分开部署的,需要更换新的数据源,需要如何操作?两套分析的电子表格都需要保留

发表于 昨天 16:26
两套都要保留就难了。
只保留新的的话,只需要改数据源的连接方式就行了。

要想在同一个BI系统中保留新旧两套,需要打开数据集一个个修改数据源,打开电子表格,一个个替换数据集字段。

按理说也可以在数据库中把 新的数据集的关联的数据源id直接批量更新为新的,再把新的电子表格关联的数据集,批量更新为新的数据集id,但是操作复杂,涉及的表可能比想象中的要多,不建议非专业人士直接操作。
  •   墨殇
    嗯,数据集处理其实还好,主要是电子表格,替换字段太多了,几十套表单。现有的数据集,支持修改数据源么,我没找到编辑路径
    昨天 16:35| 回复
  •   慕千雪
     回复 墨殇
    我说错了。想成数据模型那个数据sql查询了,数据模型可以改数据源。
    现有数据集应该是不支持更换数据源的,只能在新建的时候更换(如果有时间研究的话,可以试试在bi系统数据库里把数据源相关信息改掉。)
    昨天 17:10| 回复
  •   慕千雪
    刚才看了看系统表,
    select * from tx_augment_dataset where c_id=属性中的节点id,
     字段c_define中是数据集的详细定义,是json格式的文本数据,其中data_source:“数据源节点id” 是这个数据集绑定的数据源,把这个字段更新掉就可以。
    
    update tx_augment_dataset  set c_define=replace(c_define,旧的数据源节点id,新的数据源几点id) where  c_id=数据集属性中的节点id
    ,commit,
    然后情况系统缓存,数据集中的id就变了。
    以上操作可以实现修改复制后的数据集的数据源为新的数据源。
    昨天 17:41| 回复
  •   慕千雪
    情况=清空
    昨天 17:41| 回复
  •   慕千雪
    刚才又看了看系统表,tx_augment_dataset  这个表是存储数据模型定义信息的表。
    
    t_bizview 是原生sql数据集的定义信息表。(如果你是其他类型数据集就自己找下对应的表吧)
    select * from t_bizview where c_viewid=属性中的节点id,
     字段c_viewdefine中是数据集的详细定义,是json格式的文本数据,其中data_source-id:“数据源节点id” 是这个数据集绑定的数据源,把这个字段更新掉就可以。
    
    update t_bizview set c_define=replace(c_define,旧的数据源节点id,新的数据源几点id) where  c_viewid=数据集属性中的节点id
    ,commit,
    然后清空系统缓存,数据集中的id就变了。
    以上操作可以实现修改复制后的数据集的数据源为新的数据源。
    
    t_ssreport 是 电子表格定义的表。
    
    修改c_define中的BizViewOutField.xxxxxxx中xxxxxxx为新的电子表格的节点id就行
    昨天 18:09| 回复
  • 还有1条回复,点击查看

回复

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

7回帖数 0关注人数 38浏览人数
最后回复于:昨天 16:26
快速回复 返回顶部 返回列表