Skip to main content
This section provides technical specifications and reference information for assignment tables, fact tables, and dimension tables.
For conceptual explanations of tables, see Tables in the Metrics Concepts page.

Column Types

All tables use these column type specifications:
TypeDescriptionExample Use
COLUMN_TYPE_STRINGText valuesUser IDs, country codes, product names
COLUMN_TYPE_INTEGERWhole numbersCount values, age, quantity
COLUMN_TYPE_DOUBLEDecimal numbersRevenue, ratings, percentages
COLUMN_TYPE_BOOLEANTrue/false valuesConversion flags, feature enabled
COLUMN_TYPE_TIMESTAMPDate and timeEvent timestamps, created dates
COLUMN_TYPE_DATEDate onlyBirth dates, enrollment dates

Assignment Tables

Required Fields

FieldTypeDescription
timestampColumnColumnWhen the assignment occurred
entityColumnMappingColumnMappingWhich entity was assigned
exposureKeyColumnColumnIdentifies the experiment/feature
variantKeyColumnColumnWhich variant was assigned

Data Delivery Strategies

Continuously updates data based on incremental checks:
{
  "strategy": "AUTOMATIC",
  "automaticUpdateConfig": {
    "incrementDuration": "P13H",
    "commitDelay": "P13H"
  }
}
  • incrementDuration: How frequently to check for new data (ISO 8601 duration)
  • commitDelay: Buffer time before considering data complete

Fact Tables

Required Fields

FieldTypeDescription
namestringUnique identifier for the table
displayNamestringHuman-readable name
sqlstringSQL query selecting fact rows
timestampColumnColumnWhen the measurement occurred
entitiesColumnMapping[]Entity columns (at least one required)
measurementsColumn[]Measurement columns (at least one required)

Column Specifications

Each column requires:
  • name: Column name in query results
  • type: Column type (from table above)
  • repeated: Boolean indicating if column contains arrays

Table States

StateDescription
CREATINGInitial validation in progress
ACTIVEReady for use in metrics
FAILEDValidation failed, check error messages

Dimension Tables

Required Fields

FieldTypeDescription
displayNamestringHuman-readable name
sqlstringSQL query selecting dimension rows
timestampColumnColumnWhen the dimension value applies
entityColumnMappingColumnMapping[]Entity columns (at least one required)
dimensionsColumn[]Dimension columns (at least one required)

Dimension Column Types

Dimensions typically use:
  • STRING: Categorical values (country, platform, tier)
  • BOOLEAN: Binary attributes (is_premium, is_active)
  • INTEGER: Numeric categories (age_group_code, tier_level)

Table States

Same as fact tables: CREATING, ACTIVE, FAILED

Column Mapping Structure

Column mappings connect query results to entities:
{
  "column": {
    "name": "user_id",
    "type": "COLUMN_TYPE_STRING",
    "repeated": false
  },
  "entity": "entities/user"
}

Best Practices

SQL Queries

  • Use SELECT * sparingly: Explicitly specify columns for better performance
  • Add WHERE clauses: Filter data at query time to reduce processing
  • Use partitioning: Leverage data warehouse partitioning for efficiency
  • Test queries: Validate SQL in your data warehouse before creating tables

Data Quality

  • Validate timestamps: Ensure timestamp columns are in the correct format
  • Handle NULLs: Decide how to handle NULL values in measurements
  • Check data types: Verify column types match your schema expectations
  • Monitor failures: Review failed tables and fix SQL or schema issues