适用产品:观远 BI 适用版本:6.6 以上 简介: 在日常治理和排查过程中,我们经常需要快速确认某个页面或报表当前是否已经发布,以及是否已经同步发布到移动端。 如果完全依赖人工逐个打开页面检查,效率会比较低。更适合的做法,是直接基于观远 BI 元数据中的 这次场景的结果表,一行代表一个页面,核心输出页面名称、页面 ID、发布状态、移动端发布状态、页面类型和更新时间。 涉及数据集: 本次真实落地不是把
核心字段如下:
其中:
数据处理: 这类场景的数据处理非常轻,ETL 中只需要做状态字段解析和字段中文化整理。 本次真实 UAT ETL 由 3 个节点组成:
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 中将 看板搭建:
实践结果: 本次已在 UAT 完成真实验证,正式页和 ETL 编辑页信息如下:
附件说明: 文末附上真实 UAT ETL 快照附件,包含 ETL JSON 快照与对应 SQL,便于按相同口径复用。 总结: 这个场景的关键不在于复杂计算,而在于先把口径定准。 只要确认:
那么整个实现就会非常直接。 输入层只保留 |