文章 查看内容

最近实践|如何快速判断 BI 中页面是否已发布、是否已移动端发布 ... ... ...

最近实践|如何快速判断 BI 中页面是否已发布、是否已移动端发布 ... ... ...

81 0 产品实操 2026-4-3 11:32 发布者: 观小枫

本文基于观远 BI 元数据中的 page 表,先构建输入数据集,再通过 ETL 解析 settings.authorized 与 settings.authorizedOnMobile,输出一张“一行一个页面”的页面状态表,用于快速核对页面是否已发布、是否已移动端 ...

适用产品:观远 BI

适用版本:6.6 以上

简介:

在日常治理和排查过程中,我们经常需要快速确认某个页面或报表当前是否已经发布,以及是否已经同步发布到移动端。

如果完全依赖人工逐个打开页面检查,效率会比较低。更适合的做法,是直接基于观远 BI 元数据中的 page 表,整理出一张“页面状态表”,统一查询和批量核对当前页面发布情况。

这次场景的结果表,一行代表一个页面,核心输出页面名称、页面 ID、发布状态、移动端发布状态、页面类型和更新时间。

涉及数据集:

本次真实落地不是把 page 表直接挂到页面上,而是先在数据准备层建立输入数据集,再进入 ETL 节点加工,最后把 ETL 输出数据集接到页面卡片上。

  • 输入数据集:页面信息表(page),数据集 ID aebee9188a4494dedad3b1ab
  • ETL:页面状态表_ETL_20260403_1108,ETL ID t3d8b04070b464cf8bb4ad8f
  • 输出数据集:页面状态表_输出_20260403_1108,数据集 ID ed4c68cdfdd1d4b5799948df

核心字段如下:

  • page.name
  • page.pg_id
  • page.pg_type
  • page.utime
  • page.settings.authorized
  • page.settings.authorizedOnMobile
  • page.is_del

其中:

  • settings.authorized = true 表示页面已发布
  • settings.authorized = false 表示页面未发布
  • settings.authorizedOnMobile = true 表示页面已移动端发布
  • settings.authorizedOnMobile = false 表示页面未移动端发布
  • is_del = 0 用于过滤已删除页面

数据处理:

这类场景的数据处理非常轻,ETL 中只需要做状态字段解析和字段中文化整理。

本次真实 UAT ETL 由 3 个节点组成:

  • 输入数据集节点:页面信息表(page)
  • SQL 节点:SQL解析页面发布状态
  • 输出数据集节点:页面状态表_输出_20260403_1108
SELECT
  p.name AS `页面名称`,
  p.pg_id AS `页面ID`,
  CASE
    WHEN lower(coalesce(get_json_object(p.settings, '$.authorized'), 'false')) IN ('true', '1')
      THEN '已发布'
    ELSE '未发布'
  END AS `是否发布`,
  CASE
    WHEN lower(coalesce(get_json_object(p.settings, '$.authorizedOnMobile'), 'false')) IN ('true', '1')
      THEN '已移动端发布'
    ELSE '未移动端发布'
  END AS `是否移动端发布`,
  cast(p.pg_type AS string) AS `页面类型`,
  cast(p.utime AS string) AS `更新时间`
FROM input1 p
WHERE coalesce(p.is_del, 0) = 0
ORDER BY p.utime DESC, p.name ASC

这里有一个实现细节需要注意:

为了让 页面类型 在最终表格中以普通明细列展示,而不是以透视列展开,本次在 ETL SQL 中将 pg_type 转成了字符串型。

看板搭建:

  • 1 个表格卡片,用于展示页面状态明细
  • 可按页面名称、页面ID、是否发布、是否移动端发布、页面类型进行筛选
  • 默认按更新时间倒序

实践结果:

本次已在 UAT 完成真实验证,正式页和 ETL 编辑页信息如下:

页面状态表正式页截图

页面状态表 ETL 编辑页截图

附件说明:

文末附上真实 UAT ETL 快照附件,包含 ETL JSON 快照与对应 SQL,便于按相同口径复用。

附件下载:页面状态表_ETL导出附件.zip

总结:

这个场景的关键不在于复杂计算,而在于先把口径定准。

只要确认:

  • 页面是否发布看 settings.authorized
  • 页面是否移动端发布看 settings.authorizedOnMobile

那么整个实现就会非常直接。

输入层只保留 page 相关原始信息,再通过 ETL 做最少解析,最后把 ETL 输出数据集接到表格卡片上,就可以快速搭出一个非常实用的元数据查询 Demo。


路过

雷人

握手

鲜花

鸡蛋

评论

您需要登录后才可以发表言论 登录立即注册
微信服务号
联系我们
电话:400-880-0750
邮箱:hello@guandata.com
Copyright © 2001-2026 观远社区 版权所有 All Rights Reserved. 浙 ICP 备15006424号-3
去评论 去发文 返回顶部
返回顶部