Outcomes: all_data
all_data is the consolidated, analysis-ready view of the Net Purpose data
universe, and covers the majority of the question set. Everything the
foundation layer produces — reported facts, calculated KPIs and estimated
values — lands here, already standardised, and enriched with intensities and year-on-year
changes.
Where two foundation datasets produce the same (entity_id, question_id, year) triple, both rows will be in the all_data table, with the default_sort_order asc providing the standard Net Purpose resolution.
If you only query one table in the share, query this one.
Versioned — filter is_current = TRUE.
all_data
| Column | Type | Description |
|---|---|---|
all_data_id | VARCHAR | Primary key |
entity_id | NUMBER | Who. Joins to entities |
question_id | NUMBER | What. Joins to questions |
canonical_question_id | VARCHAR | The question’s readable slug (metric_id / kpi_id), for convenience |
year | NUMBER | Fiscal year |
start_date / end_date | DATE | Exact period the value covers |
value | FLOAT | The value, in the question’s standard unit; NULL when not disclosed |
unit_id | NUMBER | Standard unit. Joins to units |
data_type | VARCHAR | How the value was produced: Reported, Calculated, Estimated, Not Disclosed, plus revenue and fund roll-up variants |
data_origin_class_id | NUMBER | 1 = Reported, 2 = Derived, 3 = Estimated (see Conventions) |
is_not_found | BOOLEAN | TRUE when we researched the question and the company does not disclose it |
year_rank | NUMBER | 1 = most recent year for this entity and question |
default_sort_order | NUMBER | Net Purpose default deuplication order |
evic_per_million | FLOAT | Value per million USD of the entity’s EVIC (enterprise value including cash) |
revenue_per_million | FLOAT | Value per million USD of the entity’s revenue |
yoy_delta | FLOAT | Absolute change versus the previous year |
yoy_perc | FLOAT | Percentage change versus the previous year |
all_data_origins
Provenance for each all_data row: which foundation-layer records produced
it. A row can have multiple origins (for example a calculated value with
several inputs).
| Column | Type | Description |
|---|---|---|
origin_id | VARCHAR (UUID) | Primary key |
all_data_id | VARCHAR | The all_data row |
data_type | VARCHAR | Origin kind |
fact_id | NUMBER | For reported values: the fact. Joins to revenue_facts / outcomes_facts |
kpi_result_id | VARCHAR | For calculated values: the KPI result. Joins to kpi_results |
technology_id | VARCHAR | For estimated values: the modelled technology |
Example: a company’s latest values across all questions
SELECT q.name AS question,
ad.year,
ad.value,
u.name AS unit,
ad.data_type,
ad.yoy_perc
FROM NET_PURPOSE.OUTCOMES.ALL_DATA ad
JOIN NET_PURPOSE.REFERENCE.QUESTIONS q ON q.question_id = ad.question_id
JOIN NET_PURPOSE.REFERENCE.UNITS u ON u.unit_id = ad.unit_id
WHERE ad.is_current = TRUE
AND ad.entity_id = 12345
AND ad.year_rank = 1
AND ad.is_not_found = FALSE
QUALIFY ROW_NUMBER() OVER (PARTITION BY entity_id, q.question_id ORDER BY default_sort_order asc) = 1
ORDER BY ad.default_sort_order;Example: All estimated data
SELECT e.name,
e.entity_id,
q.name,
ad.value,
u.name,
ad.year
FROM NET_PURPOSE.OUTCOMES.ALL_DATA ad
JOIN NET_PURPOSE.ENTITIES.ENTITIES e
ON ad.entity_id = e.entity_id
JOIN NET_PURPOSE.REFERENCE.QUESTIONS q
ON q.question_id = ad.question_id
JOIN NET_PURPOSE.REFERENCE.UNITS u
ON u.unit_id = ad.unit_id
WHERE ad.is_current
AND ad.data_origin_class_id = 3
ORDER BY entity_id asc, year_rank desc