Hex Semantic Project
Euno's Hex Semantic Project integration enables you to upload dbt MetricFlow YAML files to create semantic models and metrics that can be used in Hex's semantic layer. This integration specifically targets Hex users who utilize Hex's Semantic Model Sync with dbt MetricFlow.
How It Works
The integration processes dbt MetricFlow YAML files to:
Extract Semantic Models: Identifies semantic models with Hex-specific configuration
Create Hex Resources: Generates corresponding Hex workspace, semantic project, semantic model, dimension, and measure resources
Create dbt Resources: Generates corresponding dbt semantic model, dimension, and metric resources
Establish Lineage: Creates field-level lineage between Hex and dbt resources
Process Standalone Metrics: Handles standalone metrics that reference measures from semantic models
Setting up Euno's Hex Semantic Project Integration
Step 1: Access the Sources Page
Navigate to the Sources page in the Euno application.
Click on the Add New Source button.
Step 2: General Configuration
Name: Enter a name for your Hex Semantic Project source (e.g., "Hex Semantic - Customer Analytics").
Configuration Details:
Workspace ID: Your Hex workspace identifier where the semantic project will be created
Semantic Project Name: The name for your semantic project in Hex
Semantic Project Type: Currently supports "dbt Metricflow" (this is the default and only supported type)
Step 3: Resource Cleanup Options
To keep your data relevant and free of outdated resources, Euno provides automatic resource cleanup options. These settings determine when a resource should be removed if it is no longer detected by a source integration. For a detailed explanation see: Resource Sponsorship in Euno.
Time-Based Cleanup (default): Remove resources that were last detected X days before the most recent successful source integration run (default is 7 days).
Immediate Cleanup: Remove resources not detected in the most recent successful source integration run.
No Cleanup: Keep all resources indefinitely, even if they are no longer detected.
Step 4: Advanced Settings (Optional)
Click on the 'Advanced' section to display additional configurations:
Files Pattern
Use regular expressions to include or exclude specific YAML files. Defaults to including .*\.yml$
and .*\.yaml$
files. Use this to filter which files from your upload are processed.
Step 5: Save Configuration
Click the Save button, and Euno will generate a trigger key. Please copy the key and save it somewhere, as the key will disappear after copying.
Uploading dbt MetricFlow Files
Preparing Your dbt MetricFlow Files
Before uploading, ensure your dbt MetricFlow YAML files include the required Hex configuration. Only semantic models with Hex-specific metadata will be processed.
Required file structure:
semantic_models:
- name: customer_metrics
model: ref('customer_metrics')
config:
meta:
hex:
table: analytics.prod_core.customers # Required for Hex integration
dimensions:
- name: customer_name
type: categorical
measures:
- name: total_revenue
agg: sum
expr: revenue
create_metric: true
Key requirements:
dbt_project.yml: Must be included in your upload
Hex Configuration: Semantic models must include
config.meta.hex.table
specificationTable Reference: The
hex.table
value should be in formatdatabase.schema.table
orschema.table
Upload Methods
Manual Upload via UI
The easiest way to upload dbt MetricFlow files is through Euno's UI:
Navigate to your Hex Semantic Project integration
Click "Upload Artifacts"
Upload a .zip file containing:
dbt_project.yml
(required)YAML files with semantic models and metrics
Any other dbt MetricFlow YAML files
Programmatic Upload (Recommended for Production)
For production workflows, use the trigger URL to programmatically upload files after dbt builds:
curl -X POST \
-H "Authorization: Bearer YOUR_TRIGGER_SECRET" \
-F "files=@your_semantic_files.zip" \
https://api.app.euno.ai/accounts/YOUR_ACCOUNT/integrations/INTEGRATION_ID/run
Features
Semantic Model Discovery
The integration automatically discovers and processes:
Semantic Models: With Hex configuration (
config.meta.hex
)Dimensions: Categorical, time, entity, boolean, and numeric dimensions
Measures: Sum, count, count distinct, average, min, max, median, and sum boolean measures
Standalone Metrics: Simple metrics that reference measures from semantic models
Resource Creation
For each valid semantic model, the integration creates:
Hex Resources:
Hex Workspace (container for all semantic projects)
Hex Semantic Project (container for semantic models)
Hex Semantic Model (the main semantic model resource)
Hex Dimensions (individual dimension resources)
Hex Measures (individual measure resources, including those from standalone metrics)
dbt Resources:
dbt Semantic Model (corresponding dbt resource)
dbt Dimensions (individual dimension resources)
dbt Metrics (for measures with
create_metric: true
and standalone metrics)
Lineage and Dependencies
The integration establishes comprehensive lineage:
Table-level: Hex semantic models reference corresponding dbt semantic models
Field-level: Hex dimensions and measures reference their corresponding dbt dimensions and metrics
Cross-platform Integration: Integrates with Euno's existing lineage for end-to-end dependency tracking
For detailed information about all discovered resources, see: Hex Semantic Project Discovered Resources
Related Integrations
Hex Technologies: For general Hex project and workspace discovery
dbt Core: For comprehensive dbt resource discovery and lineage
Last updated