跳转到内容
Telemetry
数据质量 SQL查询示例

测量必填字段空率

查找所需帐户、状态或相关字段正在消失的事件合同。

入门product_events已审核 2026-07-27测试用 阿帕奇 DataFusion 45.2.0

审阅者 Telemetry产品团队 . SQL 兼容性、事件契约、合成输出和操作注意事项. 审查标准和所有权

问题已回答

哪些事件名称的帐户标识符丢失率不可接受?

模式兼容性并不能保证分析完整性。当部署停止填充分段或联接所需的字段时,可空列可以保持有效。

活动合约

查询期望的字段

字段类型为什么存在
timestamp_utcTimestamp事件发生时间。
event_nameUtf8稳定事件合约名称。
account_idUtf8这些事件需要帐户标识符。
producer_versionUtf8发出事件的应用程序版本。
DataFusion SQL

复制查询

sql
SELECT
  event_name,
  producer_version,
  COUNT(*) AS events,
  SUM(CASE
    WHEN account_id IS NULL OR trim(account_id) = '' THEN 1
    ELSE 0
  END) AS missing_account_id,
  100.0 * SUM(CASE
    WHEN account_id IS NULL OR trim(account_id) = '' THEN 1
    ELSE 0
  END) / NULLIF(COUNT(*), 0) AS missing_rate_pct
FROM product_events
WHERE timestamp_utc >= now() - INTERVAL '24 hours'
GROUP BY event_name, producer_version
HAVING COUNT(*) >= 20
ORDER BY missing_rate_pct DESC, events DESC;

此只读查询是针对空类型表计划和执行的 阿帕奇 DataFusion 45.2.0。确定性样本输出是综合的并单独审查;根据您自己的数据验证字段类型、阈值和业务定义。 阅读测试方法。

查询结果

按活动和制作人划分的帐户 ID 缺失率

仪表板事件具有特定于版本的完整性回归。

event_nameproducer_versioneventsmissing_account_idmissing_rate_pct
dashboard_viewedweb-18426,4201,18718.49
query_completedapi-9183,81070.18

综合示例输出。在将其用于操作决策之前,针对您自己的事件架构和阈值运行查询。

Missing account ID rate by event and producer:来自 Measure Required-Field Null Rate 示例结果的合成 missing_rate_pct 值的静态图表
确定性示例输出的可索引 SVG。下载它以获取带有归属的文章、操作手册或设计评论。

重现示例

下载公共装置

JSON 包包含类型化事件契约, illustrative 输入行、确切的 SQL、预期输出、审阅注释和引擎版本。 CSV 包含显示的结果。

SQL 是如何工作的

  1. 1CASE 表达式将 NULL 和空字符串视为缺失。
  2. 2按 producer_version 分组使部署回归更容易隔离。
  3. 3最小数量规则可以防止少数开发事件在报告中占据主导地位。

需要决定的边缘情况

  • 仅评估活动合同中真正需要的字段。
  • 匿名产品事件可能合法地缺少 account_id,并且应使用单独的完整性规则。
  • 诸如“未知”之类的占位符不为 NULL,但仍可以隐藏缺失的身份;单独测量哨兵值。

推荐仪表板

  • 条形:missing_rate_pct by event_name 和 producer_version
  • 趋势:关键合同的完成率
  • 表:最近的行缺少必填字段

警报指导

当关键事件合同超出其记录的有意义的缺场预算时发出警报。

读取警报设置

让查询示例发挥作用

相关埋点和指南

继续分析

在真实事件中运行它

创建表,调整字段并保存结果

免费开始,发送结构化事件,并将查询结果用作图表、共享仪表板小部件或警报输入。

获取 API 密钥