11.1 Calculated Insights (CI) Architecture, SQL/Builder Syntax & Dimensions vs. Metrics

Key Takeaways

  • Calculated Insights (CIs) pre-aggregate complex multidimensional metrics across massive historical datasets in Data Cloud, materializing results into insight objects (__cio) to eliminate runtime query latency during audience segmentation and activation.
  • Every Calculated Insight must define at least one Dimension (grouping attribute) and at least one Metric (aggregated measure using SUM, COUNT, AVG, MIN, or MAX); queries without a GROUP BY dimension fail validation.
  • CIs can be built declaratively using the Visual Insights Builder for standard relationship paths or programmatically using Data Cloud ANSI SQL Builder for multi-hop joins, CASE WHEN conditionals, and complex analytical logic.
  • Single-dimension CIs group solely by Unified Individual ID, creating 1:1 profile attributes that appear directly on the Segment Canvas, whereas multi-dimensional CIs group by additional attributes (such as Product Category) and behave as 1:N related attributes.
  • Calculated Insights can be activated as direct or related attributes to external platforms (Marketing Cloud, Amazon S3, Snowflake) and surfaced natively in CRM Lightning pages and Service Console via Data Cloud Query API or FlexCards.
Last updated: September 2026

Calculated Insights (CI) Architecture, SQL/Builder Syntax & Dimensions vs. Metrics

In an enterprise Customer Data Platform, customer data is continuously ingested across diverse engagement channels—e-commerce transactions, point-of-sale logs, digital web interactions, mobile app telemetry, and customer service tickets. Over months and years, these tables accumulate millions or billions of rows. When a marketing specialist or data analyst attempts to create an audience segment such as "Customers who spent more than $2,500 across digital channels in the last 12 months with at least three purchases in the Luxury Goods category," evaluating this complex aggregation at segmentation query time across raw transactional tables would lead to prohibitive query latencies, resource contention, and potential query timeouts.

Salesforce Data Cloud addresses this fundamental challenge through Calculated Insights (CIs). Calculated Insights enable data architects and consultants to define, schedule, and pre-aggregate complex multidimensional metrics across harmonized historical Data Model Objects (DMOs). The resulting computations are materialized into specialized insight objects (__cio), making high-value customer aggregations instantly queryable by the Segment Canvas, Activation engines, and downstream business intelligence tools.


Core Architecture: Dimensions vs. Metrics

At the architectural heart of every Calculated Insight is the strict separation between Dimensions and Metrics (Measures). Understanding this distinction is vital for designing performant data models and answering certification exam scenarios.

┌────────────────────────────────────────────────────────────────────────┐
│                     CALCULATED INSIGHT DEFINITION                      │
│                                                                        │
│  SELECT                                                                │
│      UnifiedIndividual__dlm.Id__c        AS CustomerId__c,    ◄──┐     │
│      ProductCategory__dlm.Name__c        AS Category__c,      ◄──┼─── Dimensions (GROUP BY)
│      SUM(SalesOrder__dlm.GrandTotalAmount__c) AS TotalSpend__c,◄─┼─── Metric (Aggregation)
│      COUNT(SalesOrder__dlm.Id__c)        AS OrderCount__c     ◄──┘     │
│  FROM ...                                                              │
│  GROUP BY CustomerId__c, Category__c                                   │
└────────────────────────────────────────────────────────────────────────┘

1. Dimensions (Grouping Attributes)

  • Definition: Dimensions are qualitative, categorical, temporal, or identity attributes used to segment, filter, and partition data into distinct aggregation buckets. They correspond directly to the SQL GROUP BY clause.
  • Mandatory Requirement: Every Calculated Insight must contain at least one dimension. A query that attempts to calculate global metrics (e.g., SELECT SUM(Amount__c) FROM SalesOrder__dlm) without a GROUP BY dimension will fail platform validation.
  • Primary Key Formulation: In Data Cloud, the primary key of the materialized Calculated Insight object (__cio) is automatically formed by the composite combination of all defined dimensions.
  • Common Examples:
    • Unified Customer Anchor: UnifiedIndividual__dlm.Id__c
    • Source System Customer ID: Individual__dlm.Id__c
    • Product Hierarchy: ProductCategory__dlm.Name__c, GoodsProduct__dlm.ProductCode__c
    • Temporal Granularity: DATE_TRUNC('month', SalesOrder__dlm.OrderedDate__c)
    • Geographic/Channel Attributes: SalesOrder__dlm.StoreLocationId__c, SalesOrder__dlm.SalesChannel__c

2. Metrics (Aggregated Calculations)

  • Definition: Metrics are quantitative, numerical, or countable calculations evaluated across the records belonging to each dimensional grouping bucket.
  • Aggregate Functions: Metrics must utilize standard aggregate mathematical functions:
    • SUM(expression): Calculates total values (e.g., Lifetime Purchase Amount).
    • COUNT(expression) / COUNT(DISTINCT expression): Calculates transaction frequencies or unique product views.
    • AVG(expression): Calculates mean values (e.g., Average Order Value - AOV).
    • MIN(expression) / MAX(expression): Identifies boundaries (e.g., First Order Date, Most Recent Order Date, Maximum Transaction Value).
  • Field Naming & Suffixes: Every metric must be assigned an explicit SQL alias ending in __c (e.g., LifetimeSpend__c, TotalTransactions__c).
  • No Nested Aggregations: The Data Cloud SQL engine forbids nested aggregate functions. An expression such as AVG(SUM(OrderAmount__c)) is syntactically invalid.
  • Conditional Aggregation (CASE WHEN): Metrics frequently leverage CASE WHEN logic to compute conditional indicators within a single query pass:
SUM(
    CASE 
        WHEN SalesOrder__dlm.OrderStatus__c = 'Completed' 
        THEN SalesOrder__dlm.GrandTotalAmount__c 
        ELSE 0 
    END
) AS CompletedRevenue__c,
COUNT(
    CASE 
        WHEN SalesOrder__dlm.OrderStatus__c = 'Returned' 
        THEN SalesOrder__dlm.Id__c 
        ELSE NULL 
    END
) AS ReturnedOrderCount__c

Dimensions vs. Metrics Technical Comparison

Architectural AttributeDimensionMetric
Role in QueryCategorizes and groups recordsComputes numerical summaries per group
SQL EquivalentSpecified in SELECT and mandatory GROUP BYSpecified in SELECT with aggregate functions (SUM, AVG, etc.)
Data TypesText, Date, DateTime, BooleanNumber, Decimal, Integer, Date/DateTime (for MIN/MAX)
Cardinality RuleDetermines row volume of the output insight tableEvaluated per row of the output insight table
Minimum RequiredExactly 1 or more (Mandatory)Exactly 1 or more (Mandatory)
Role in Primary KeyCombined composite forms the Insight PKStored as payload values in the Insight row

Building CIs: Visual Insights Builder vs. SQL Builder

Salesforce Data Cloud provides two distinct authoring interfaces for creating Calculated Insights: the declarative Visual Insights Builder and the programmatic SQL Builder.

Visual Insights Builder (Declarative No-Code)

The Visual Insights Builder is an intuitive, drag-and-drop graphical canvas designed for business analysts and marketing practitioners who need standard aggregates without writing raw SQL.

  • Automated Relationship Traversal: When an analyst selects a root DMO (e.g., UnifiedIndividual__dlm), the canvas displays valid related DMOs based on pre-established relationships in the Customer 360 Data Model.
  • Canvas Nodes: Users configure data sources, filter criteria, join steps, group-by dimensions, and aggregation measures visually.
  • Best Suited For:
    • Standard single-object aggregations (e.g., Total Spend per Customer from SalesOrder__dlm).
    • Simple 1-hop relationship aggregations.
    • Rapid prototyping of standard customer metrics without syntax debugging.

ANSI SQL Builder (Programmatic Code-First)

The SQL Builder gives enterprise architects and data engineers the full power of Data Cloud's ANSI SQL engine. It is required for advanced analytical modeling.

  • Complex Multi-Hop Joins: Enables joining across 3, 4, or more DMOs along with bridge tables (e.g., traversing from UnifiedIndividual__dlm through UnifiedLinkIndividual__dlm to SalesOrder__dlm and SalesOrderProduct__dlm).
  • Subqueries & Common Table Expressions (CTEs): Allows staging intermediate aggregates before computing final metrics.
  • Conditional & String Expressions: Supports complex CASE WHEN, COALESCE, DATE_TRUNC, and string formatting functions.
  • Direct Code Maintenance: SQL definitions can be exported, version-controlled, packaged into Data Kits, and deployed across orgs.

Joining DMOs Inside SQL CIs: Join Rules & Unified Link Mechanics

When authoring Calculated Insights in SQL, understanding how to link operational transaction data to unified customer profiles is the single most critical exam objective. In Data Cloud, transactions are ingested and mapped to standard engagement DMOs (such as SalesOrder__dlm) using source system identifiers (such as a CRM ContactId or e-commerce CustomerId). However, segmentation almost always runs against unified customer profiles (UnifiedIndividual__dlm).

To bridge this divide, Calculated Insights must traverse the Unified Link table (UnifiedLinkIndividual__dlm), which maps source records to their resolved unified identity.

The Unified Individual Join Architecture

┌────────────────────────────┐       ┌────────────────────────────┐
│      SalesOrder__dlm       │       │ UnifiedLinkIndividual__dlm │
├────────────────────────────┤       ├────────────────────────────┤
│ Id__c (PK)                 │       │ SourceRecordId__c (FK)     │◄───┐
│ SoldToPartyId__c (FK)      │──────►│ UnifiedRecordId__c (FK)    │    │ Join Path
│ GrandTotalAmount__c        │       └─────────────┬──────────────┘    │
│ OrderedDate__c             │                     │                   │
└────────────────────────────┘                     ▼                   │
                                     ┌────────────────────────────┐    │
                                     │   UnifiedIndividual__dlm   │    │
                                     ├────────────────────────────┤    │
                                     │ Id__c (PK)                 │◄───┘
                                     │ FirstName__c               │
                                     │ LastName__c                │
                                     └────────────────────────────┘

Production ANSI SQL Pattern: Customer Lifetime Spend

SELECT
    UnifiedIndividual__dlm.Id__c AS UnifiedIndividualId__c,
    SUM(SalesOrder__dlm.GrandTotalAmount__c) AS LifetimeSpend__c,
    COUNT(SalesOrder__dlm.Id__c) AS LifetimeOrderCount__c,
    AVG(SalesOrder__dlm.GrandTotalAmount__c) AS AverageOrderValue__c,
    MAX(SalesOrder__dlm.OrderedDate__c) AS LastPurchaseDate__c
FROM
    SalesOrder__dlm
JOIN
    UnifiedLinkIndividual__dlm 
    ON SalesOrder__dlm.SoldToPartyId__c = UnifiedLinkIndividual__dlm.SourceRecordId__c
JOIN
    UnifiedIndividual__dlm 
    ON UnifiedLinkIndividual__dlm.UnifiedRecordId__c = UnifiedIndividual__dlm.Id__c
WHERE
    SalesOrder__dlm.OrderStatus__c != 'Cancelled'
GROUP BY
    UnifiedIndividual__dlm.Id__c

[!IMPORTANT] Join Best Practice: Group by Unified Record ID When creating CIs intended for segmentation on the UnifiedIndividual__dlm entity, you must group by UnifiedIndividual__dlm.Id__c. If you mistakenly group by the source Individual__dlm.Id__c or SalesOrder__dlm.SoldToPartyId__c, the Segment Canvas will not recognize the insight as a direct attribute on the unified customer, forcing complex and inefficient related-attribute queries.


Multi-Dimensional vs. Single-Dimension Calculated Insights

Calculated Insights fall into two architectural topologies based on their dimensionality: Single-Dimension and Multi-Dimensional.

Single-Dimension Calculated Insights

  • Granularity: Grouped exclusively by a single entity key (typically UnifiedIndividual__dlm.Id__c or Account__dlm.Id__c).
  • Cardinality: Exactly 1 row per unified profile (1:1 relationship with UnifiedIndividual__dlm).
  • Segment Canvas Behavior: Exposed as Direct Attributes on the Unified Individual profile. A marketer can drag LifetimeSpend__c directly onto the canvas and apply a simple filter (e.g., LifetimeSpend__c >= 1000).
  • Use Cases: Overall customer lifetime value (LTV), total loyalty points accrued, customer tenure in days, total support cases opened.

Multi-Dimensional Calculated Insights

  • Granularity: Grouped by an entity key AND one or more additional categorical or temporal dimensions (e.g., UnifiedIndividual__dlm.Id__c + ProductCategory__dlm.Name__c).
  • Cardinality: Potentially multiple rows per unified profile (1:N relationship with UnifiedIndividual__dlm). A single customer will have one row for "Electronics", one for "Apparel", and one for "Home & Garden".
  • Segment Canvas Behavior: Exposed as Related Attributes. When building segment criteria, the marketer must drag the insight onto the canvas and specify paired criteria (e.g., Category__c = 'Apparel' AND CategorySpend__c >= 500).
  • Use Cases: Category-level spend affinity, quarterly spend rollups, engagement frequency by marketing channel (Email vs. SMS vs. Push).

Architectural Comparison: Single vs. Multi-Dimensional CIs

FeatureSingle-Dimension CIMulti-Dimensional CI
SQL GROUP BYGROUP BY UnifiedIndividual__dlm.Id__cGROUP BY UnifiedIndividual__dlm.Id__c, Category__c
Row Count≤ Total Unified Individuals≤ (Unified Individuals × Unique Categories)
Relationship to Profile1:1 (Direct Profile Attribute)1:N (Related Attribute)
Segment Canvas UXSingle slider / operator (e.g., Spend > 500)Paired conditions container (e.g., Category = X AND Spend > 500)
Activation PayloadDirectly mapped as a profile fieldMapped as a nested JSON / related attribute list
Storage FootprintLow to moderateModerate to high (scales with dimension cardinality)

How CIs are Exposed Downstream

Calculated Insights are not merely analytical queries; they are active data assets integrated across the Salesforce ecosystem:

  1. Audience Segmentation Canvas:
    • Materialized insight fields appear directly in the left-hand attribute palette under the "Calculated Insights" tab.
    • Segments execute lightning-fast lookups against the pre-aggregated insight table rather than scanning gigabytes of underlying transactional logs.
  2. Activation to Downstream Targets:
    • CI metrics can be appended directly to activation payloads heading to Marketing Cloud, Google Ads, Meta, Amazon S3, or SFTP.
    • Example: Activating ChurnRiskScore__c and PreferredCategory__c to Marketing Cloud Journey Builder to dynamically trigger tailored win-back journeys.
  3. CRM & Lightning Experience Enrichment:
    • Via the Data Cloud Query API, FlexCards, or Copy Field Enrichment, CI metrics can be projected directly onto Sales Cloud or Service Cloud Lightning record pages.
    • A customer service agent viewing a Contact record in Service Console can see real-time pre-computed metrics: Customer Lifetime Value, 30-Day Return Count, and Product Satisfaction Index without leaving their console.
  4. Business Intelligence (Tableau & CRM Analytics):
    • Tableau and CRM Analytics connect directly to Data Cloud Calculated Insight objects via native connectors, enabling executive dashboards without requiring separate data warehouse transformation pipelines.
Loading diagram...
Calculated Insight Processing Pipeline: From Harmonized DMOs to Downstream Business Value
Test Your Knowledge

A Data Cloud consultant is developing a Calculated Insight using the ANSI SQL Builder to aggregate total customer spending across all historical sales orders. The consultant writes the following query: SELECT SUM(SalesOrder__dlm.GrandTotalAmount__c) AS TotalRevenue__c FROM SalesOrder__dlm; When attempting to save and validate the insight, the platform generates an error. What is the cause of this validation failure?

A
B
C
D
Test Your Knowledge

A marketing team wants to build an audience segment of high-value shoppers who have spent at least $1,000 in the 'Outdoor Equipment' category. The lead architect builds a multi-dimensional Calculated Insight grouped by UnifiedIndividual__dlm.Id__c and ProductCategory__dlm.Name__c, calculating TotalCategorySpend__c. How does this multi-dimensional insight appear and behave on the Segment Canvas when segmenting on Unified Individual?

A
B
C
D
Test Your Knowledge

An architect is writing an ANSI SQL Calculated Insight to compute the total lifetime order count per customer. Transactional data is stored in SalesOrder__dlm, where the SoldToPartyId__c field contains the source CRM Contact ID. The marketing team requires that this insight be available as a direct metric on unified customer profiles for segmentation. Which join pattern must the architect implement in the SQL query?

A
B
C
D