Skip to content

Projections

A projection is a managed data workflow that publishes a curated or consumption-ready dataset from selected source entities and attributes into a target entity. Use the Projections screen to define what to publish, whether it refreshes in real time (Live) or on a schedule (Batch), and to monitor, pause, or resume each projection’s underlying job.

Projections are the last hop of the pipeline: they take entities Nexa has already curated and materialize a business-facing dataset (all projections here write to the consumption layer). Creating and editing projections is restricted to the dev environment — the Add, Edit, and Delete controls only appear there.

Each row represents one projection:

Column Meaning
Projection Name The projection’s name
Alias Its generated alias
Source Entities Source entity pills; the first two show, then a +N more expander
Target Layer curated (red badge) or consumption (blue badge)
Type live (green badge) or batch (blue badge)
Status The projection state (see below)
Actions Play/pause, view, edit, and delete controls
Status Badge
running Green
completed Green
suspended Yellow
paused Yellow
pending Yellow
failed Red

Open Filter to narrow the list:

  • Projection Type — All types, Live, or Batch.
  • Projection Mode — All Modes, Legacy Projections, or Non-legacy projections.
  • Sort By — Created Date, Last Modified, or Projection Name, ascending or descending.

Search by projection name with the search box.

  • Play/Pause — pauses or activates the projection’s job (shown only when the projection has a job).
  • View — opens the underlying job panel with its Jobs Details and Runs tabs, so you can inspect run history.
  • Edit — reopens the create form in edit mode (dev only).
  • Delete — prompts Are you sure you want to delete this projection? before removing it (dev only).

Select Add to open the Create New Projection panel.

  1. Choose the projection style. Set Legacy Projection to True or False. Choose True to generate mappings from an uploaded C360 (Customer 360) model file; choose False to define a standard projection by hand.

  2. Name and describe it (standard projections). Enter a Projection Name (up to 100 characters) and a Projection Description (up to 250 characters). For a legacy projection, upload the model file instead under Upload Legacy Model (JSON only) — one projection is created per table in the model.

  3. Select the projection type. Pick one:

    • Live — real-time data processing. Selecting Live clears any schedule.
    • Batch — scheduled data processing. Selecting Batch reveals the schedule builder.
  4. Set the schedule (Batch only). Use the schedule builder to define a cron expression (see below). You must save a schedule before you can continue.

  5. Select the source. Under Select Source, choose entities or attributes, grouped by entity. Selecting a group header toggles all of its attributes. ETL (extract, transform, load) logic for these sources is authored on the Canvas.

  6. Name the target. Enter a target entity name under Enter Target Entity Name.

  7. Set options and save. Optionally enable PII Suppressed to exclude PII (personally identifiable information) from the projection, then select Create Projection. Editing an existing projection shows Update Projection instead.

For a batch projection, the schedule builder produces a cron expression from plain-language options and shows a live preview (for example, Cron: 0 30 * * * with the readable line “Every hour at :30 past the hour”). The schedule saves automatically as you edit it — there is no separate save button.

Frequency Options you set
Every minute Interval in minutes
Hourly Interval in hours, minute of the hour, starting hour
Daily Every day or every weekday, and start time
Weekly Days of the week and start time
Monthly Day of month or weekday pattern, month interval, and start time

A Live projection refreshes continuously as source data changes; a Batch projection runs on its cron schedule. Both are backed by jobs you can monitor from the View panel and from the Jobs screen.