Entity mapping

The Net Purpose dataset is entity-level, so the usual first step of any analysis is mapping your own security-level universe onto our entity_ids. For ISINs, join to the primary_isin column on entities. For other identifier schemes (CUSIP, SEDOL, PermID, FIGI, ticker, LEI), use entity_identifiers.

entity_identifiers

One row per identifier per version — filter is_current = TRUE.

ColumnTypeDescription
entity_identifier_idNUMBERIdentifier row key
entity_idNUMBERThe entity this identifier belongs to
identifier_typeVARCHARThe identifier scheme
valueVARCHARThe identifier value

identifier_type is one of cusip, sedol, figi, perm_id, ticker, or lei. ISIN is not among them — it lives on entities.primary_isin. An entity can have several identifiers of the same type, so expect the mapping to be many-to-one onto entity_id.

Example: resolve a list of ISINs to entities

SELECT p.isin, e.entity_id, e.name
FROM (
    SELECT column1 AS isin
    FROM VALUES ('US0378331005'), ('US5949181045')
) p
JOIN NET_PURPOSE.ENTITIES.ENTITIES e
  ON e.primary_isin = p.isin AND e.is_current = TRUE;

Example: resolve a list of tickers to entities

SELECT ei.value AS ticker, ei.entity_id, e.name
FROM NET_PURPOSE.ENTITIES.ENTITY_IDENTIFIERS ei
JOIN NET_PURPOSE.ENTITIES.ENTITIES e
  ON e.entity_id = ei.entity_id AND e.is_current = TRUE
WHERE ei.is_current = TRUE
  AND ei.identifier_type = 'ticker'
  AND ei.value IN ('AAPL', 'MSFT');

For a full portfolio-mapping workflow, including coverage checks, see the Query cookbook.