Your discussion join is quietly multiplying launch votes
Описание и применение
Включение данных обсуждений не должно умножать голоса запуска в панели управления. Если включены includeComments и includeReviews, может произойти умножение метрик за счет последующих joins. Решение — сохранять Reporting-ветви независимыми до достижения каждым intended reporting grain: launch-метрики остаются на уровне запуска, комментарии агрегируются по запуску, отзывы агрегируются по запуску отдельно.
Задача
Turning on discussion data shouldn't multiply a launch's votes in the dashboard; enabling includeComments and includeReviews can inflate engagement metrics through downstream joins.
Результат
Downstream joins that pair comments with reviews multiply launch-level metrics, inflating engagement counts. The fix is to keep reporting branches independent at their intended grain rather than flattening them into a single launch-grain report.
Рабочий процесс
- Enable includeComments and includeReviews for the report due Friday
- Export a record per launch with discussion and reviews attached as arrays
- Run naive flatMap join pairing every comment with every review, producing duplicate rows carrying the full launch vote count
- Recognize that SUM(DISTINCT votesCount) doesn't fix the problem because different launches legitimately share a vote total
- Keep the branches independent until each has the intended reporting grain: launch metrics at launch grain, comments aggregated by launch, reviews aggregated by launch
- Validate the envelope, preserve opaque children, and retain request settings alongside the retrieved batch
Доказательства
Source deduplication does not prevent a downstream join from multiplying launch-level metrics.
Every comment pairs with every review. Each resulting row carries the launch's entire vote count.
SUM(DISTINCT votesCount) doesn't repair this. Different launches can legitimately share a vote total. That expression deduplicates a measurement when you need to preserve an identity.
Keep the branches independent until each has the intended reporting grain: launch metrics, comments → replies → aggregate by launch, attached reviews → aggregate by launch.
Empty values are omitted, including empty arrays. Missing comments therefore isn't a reliable statement that nobody commented.
- Дата записи: 2026-11-01T21:13:59.535Z