用途:在 PostHog 中创建箱线图洞察,展示数值属性的数据分布,而非平均值或总量。
主要能力:
- 标准产品分析箱线图:适用于数据源为 Trends 支持的事件、动作或数仓表,且包含一个用于分布的数值属性,并希望按常规时间间隔查看分布。构建 InsightVizNode,其 source 为 TrendsQuery:设置 series 事件或动作,设置 math_property 为数值属性,设置 trendsFilter.display 为 BoxPlot,选择日期范围和间隔,用 posthog:query-trends 运行查询,若返回分布行则用 posthog:insight-create 保存,再用 posthog:insight-get 读回确认属性、间隔和显示类型。无数字 math_property 的箱线图无效。
- SQL 箱线图:适用于需要自定义分组、连接、派生值或定制 SQL 的场景。编写 HogQL 前需先阅读 querying-posthog-data,并可参考 references/sql-examples.md。SQL 必须为每个 X 轴与 series 组合返回一行预聚合结果,在数据库中计算统计量,绝不能在客户端从有限结果行计算百分位。必需的数值角色包括:minimum、25th percentile、median、mean、75th percentile、maximum。最简便的结果形状使用别名 x、series、min、p25、median、mean、p75、max。x 和 series 可选:xAxisColumn 设为 null 表示一个整体分布或每个 series 一个箱体;seriesColumn 设为 null 表示单一 series。保存前用 posthog:execute-sql 验证 HogQL,检查每项统计量为数值、满足 min <= p25 <= median <= p75 <= max、mean 位于最小值和最大值之间、每个 X 轴与 series 组合只出现一次、series 数不超过 200、X 轴与 series 单元格不超过 10,000。然后用 posthog:insight-create 保存,结构包含 DataVisualizationNode、HogQLQuery、display 为 BoxPlot 及 chartSettings.boxPlot 中各列映射。若查询使用不同别名,请使用实际别名,不要将六个统计量映射为六个 Y 轴 series。
使用方式:先选择最简单的查询类型以表达用户问题。标准产品分析箱线图用于事件、动作或数仓表且含单一数值属性并查看常规时间间隔分布的情况;SQL 箱线图用于自定义分组、连接、派生值或定制 SQL。不要仅为了复现标准 Trends 查询而使用 SQL。保存后用 posthog:insight-get 读回,用 posthog:insight-query 运行,确认结果仍具有预期列且每个箱体一行。报告洞察链接、被分布的数值以及分组选择。
限制:箱线图需要分布数据而非已聚合的平均值或总量。若某行摘要缺失或无效,PostHog 会省略该箱体但保留有效箱体;当省略的箱体不符合预期时需修复 SQL。相关技能:querying-posthog-data(编写或修改 SQL 箱线图 HogQL 前必需)、formatting-insight-axes(值轴需要货币、时长、百分比等格式时使用)、building-a-dashboard(箱线图需与其他洞察一起放置于仪表盘时使用)。