Questions and Standards
questions
The question set is the catalogue of everything we measure. One row per
question. This is a plain lookup table — no is_current filter needed.
A question has one of three types:
- Reported — collected directly from company disclosures (for example Scope 1 GHG emissions).
- Calculated — derived from other questions by a formula. These formulae exist to make the data more comparable across companies. For example, one company may report a combined Scope 1 + 2 CO2e figure while others report the two scopes separately: at the reported level these are three different questions, but the calculated Scope 1 + 2 question resolves them into a single comparable series. Where a reported and a calculated question share a name, the calculated one has broader coverage and is usually the one you want.
- Reference — a simple descriptor of an incidental piece of information (for example Number of days in a year). These are used exclusively in lifecycle estimations.
| Column | Type | Description |
|---|---|---|
question_id | NUMBER | Primary key. |
canonical_question_id | VARCHAR | A human-readable string identifier for the question, normally derived from its name. Some tables reference questions by this slug for in-line legibility. |
type | VARCHAR | Reported, Calculated, Reference |
name | VARCHAR | A short descriptive name for the question. |
unit_id | NUMBER | Standard unit of the answer. Joins to units. This gives the dimensionality of the question i.e. volume vs weight etc |
theme | VARCHAR | The primary Net Purpose impact theme the question contributes to. |
description | VARCHAR | Fuller definition of what is being measured |
goal | VARCHAR | Desired direction of the value: increase, decrease or neutral. e.g Scope 1 emissions are decrease |
impact_level | VARCHAR | Where the impact occurs: operations, products/services or value chain |
is_reported | BOOLEAN | Whether reported (collected) data exists for this question |
is_estimated | BOOLEAN | Whether estimated data exists for this question |
is_sdg_eligible | BOOLEAN | Whether the question can contribute to SDG alignment. |
kpi_formulae
The formula behind each Calculated question. For the inputs used in a specific calculation, see kpi_calculation_trees.
| Column | Type | Description |
|---|---|---|
question_id | NUMBER | The question_id of the calculated question |
canonical_question_id | VARCHAR | The question’s string identifier |
formula | VARCHAR | The formula for the question. The prefixes M!, Q! and K! mark references to other questions, by either their integer or string identifiers. |
formula_description | VARCHAR | A description of the intent of the formula |
child_questions | ARRAY | The question_ids that feed into this formula |
reporting_standards and question_standards
Codes from external frameworks, most importantly the UN Sustainable
Development Goals (SDGs). reporting_standards lists the codes themselves; question_standards pre-computes the many-to-many join between questions and standards so you can query question assignments directly.
reporting_standards
All reporting frameworks in the Net Purpose data dictionary. e.g. SDGs, IRIS+
| Column | Type | Description |
|---|---|---|
reporting_standard_id | NUMBER | Primary key |
standard_class | VARCHAR | The framework, e.g. SDG |
full_code | VARCHAR | The full code — for SDGs, the target (e.g. 7.2) |
major_code | VARCHAR | The top-level code — for SDGs, the goal number (1–17) |
description | VARCHAR | Text of the goal/target |
link | VARCHAR | Link to the framework definition |
question_standards
Reporting standards linked to individual questions.
| Column | Type | Description |
|---|---|---|
question_id | NUMBER | Corresponding question_id |
reporting_standard_id | NUMBER | The matched reporting_standard_id |
standard_class | VARCHAR | The framework, e.g. SDG |
full_code | VARCHAR | The full code — for SDGs, the target (e.g. 7.2) |
major_code | VARCHAR | The top-level code — for SDGs, the goal number (1–17) |
Sample queries
-- The frameworks covered and the number of questions allocated to each.
SELECT rs.standard_class, count(distinct q.question_id)
FROM NET_PURPOSE.REFERENCE.QUESTIONS q
JOIN NET_PURPOSE.REFERENCE.QUESTION_STANDARDS qs
ON q.question_id = qs.question_id
JOIN NET_PURPOSE.REFERENCE.REPORTING_STANDARDS rs
ON rs.reporting_standard_id = qs.reporting_standard_id
GROUP BY rs.standard_class-- All questions which can contribute to SDG 7
SELECT q.question_id, canonical_question_id, type, name, goal, qs.full_code
FROM NET_PURPOSE.REFERENCE.QUESTIONS q
JOIN NET_PURPOSE.REFERENCE.QUESTION_STANDARDS qs
ON q.question_id = qs.question_id
WHERE
qs.major_code = '7'
AND qs.standard_class = 'SDG'