Working with Tables and Views
- CloudLinks — Connect to external data warehouses (Snowflake, BigQuery, etc.)
Apps — Data from your custom applications
Elements — Shared data across teams and departments
Tasks — Workflow steps and progress tracking
Create a table
- In the left navigation, click
Table. - Next to the Tables heading, click the
More icon.
- Click Create New Table.
- Fill in the required fields:
- Table name
- Table handle
- Category
- Source
- Click Create.
Why use Tables?
One current picture of the data. Tables read from connected sources, so when data changes in Elementum or your warehouse, what people see in the grid can reflect that without re-exporting files or merging attachments. That cuts down on copy-paste errors and on everyone working from slightly different versions of the same numbers. Different questions, same foundation. You can define more than one table on the same sources: each table can use its own columns, filters, and joins to match how a team works. Sales might emphasize pipeline and revenue, support might emphasize open cases and response times, and finance might emphasize payment status—while still drawing from the same underlying data instead of maintaining parallel spreadsheets or extracts.Configuring Data Sources
Snowflake View Configuration
When connecting to Snowflake or other data warehouses, you’ll configure: Database Selection- Choose your target database from available options
- Example:
ACME_ANALYTICS_PROD
- Select the appropriate schema within your database
- Example:
DATA
- Define a meaningful name for your view
- Example:
DET(Deal Execution Table)
FAQ: Internal Snowflake Tables
Can users clean up Snowflake tables after deleting a table in Elementum?
Can users clean up Snowflake tables after deleting a table in Elementum?
ELEMENTUM_PLATFORM schema is part of Elementum’s internal storage layer. It stores application state, intermediate processing data, and metadata required for platform operations.Why are table names hashed (for example, K586D5CFC999253FA...)?
Why are table names hashed (for example, K586D5CFC999253FA...)?
- Guarantee uniqueness across apps, workflows, and object types
- Prevent naming collisions in shared environments
- Support internal state management at scale
Is growth in table count expected over time?
Is growth in table count expected over time?
Can we restrict or consolidate the number of internal tables?
Can we restrict or consolidate the number of internal tables?
Are older internal tables safe to remove?
Are older internal tables safe to remove?
- Auditability and traceability
- Version rollback and recovery
- Dependency resolution across platform services
What if I delete a field or change a field type on a table linked to an Element?
What if I delete a field or change a field type on a table linked to an Element?
- Identify the mapped field causing the error.
- Remove any dependencies on that field (for example, automations, formulas, filters, or views that reference it).
- Delete the problematic mapped field.
- Re-add the field from the unmapped table fields list so Elementum can create a fresh mapping.
Table Features
Join types
Elementum provides four join types with visual representations so you can see how rows are combined. Each join type fits different reporting and analysis needs. For how relationships between records and objects are modeled more broadly, see Showing relationships. Join configuration- Source Field: Select the field from your primary table
- Joined Object Field: Select the matching field from the secondary table
- The system guides you through field selection with dropdown menus
Inner Join - Only Matching Records
Inner Join - Only Matching Records
- Active customers with orders: Show only customers who have made purchases
- Employees with assigned projects: Display staff members who are actively working on projects
- Products with sales data: View only products that have been sold
- Vendors with active contracts: List suppliers who currently have agreements
Left Outer Join - Keep All Left Records
Left Outer Join - Keep All Left Records
- All customers and their orders: Show every customer, including those who have not ordered
- Complete employee roster: Display all staff, whether they are on projects or not
- Full product catalog: Show all products, including those never sold
- Marketing campaign analysis: View all contacts, showing who responded to campaigns
Right Outer Join - Keep All Right Records
Right Outer Join - Keep All Right Records
- All orders with customer details: Show every order, even if customer data is missing
- Complete transaction log: Display all payments, including those without customer profiles
- Full support ticket history: Show all tickets, even if user accounts were deleted
- Inventory movements: Track all stock changes, including anonymous transactions
Full Outer Join - Keep Everything
Full Outer Join - Keep Everything
- Complete data audit: See all customers AND all orders, identifying gaps
- System migration: Compare old and new systems to ensure no data loss
- Reconciliation reports: Match financial records from different systems
- Master data management: Combine multiple data sources into one comprehensive view
Table Details and Configuration
General Settings:- Table Name: Define a clear, descriptive name
- Category: Organize tables by type (Data, Analytics, etc.)
- Source: Links to your original data source
- Cloud Provider: Shows connected service (Porter, Snowflake, etc.)
- Connection Status: Verify active data connections (see Setup CloudLink for connection configuration)
- Snowflake View: Configure and manage your BI connections
- Performance Monitoring: Track query performance and usage
- Create your Elementum table from any data source (
Apps,
Tasks,
Elements, or CloudLinks) - Configure the Snowflake View in the Business Intelligence section
- Connect external BI tools directly to your Snowflake view
- Build dashboards and reports using your Elementum data in familiar BI platforms
- Combine Elementum data with other enterprise data sources
- Create executive dashboards in existing BI infrastructure
- Enable self-service analytics for business users
- Maintain data governance while providing external access
Snowflake BI View Permissions
When using the Snowflake View feature, you need to configure permissions for two distinct purposes: allowing Elementum to create and manage the views, and allowing your users or BI tools to query the views. For Snowflake account and connection setup before BI views, see Connect Snowflake to Elementum.Elementum Platform Permissions
The Snowflake user account configured in your CloudLink connection needs permissions to create and manage BI views in your desired database and schema. Grant these permissions to enable Elementum to manage BI views:BI_VIEWS or ELEMENTUM_BI) to keep them organized and separate from other data structures.End User Query Permissions
After Elementum creates a BI view, you need to grant permissions to the Snowflake roles used by your BI tools, analysts, or other users who need to query the views. Grant these permissions to enable users to query BI views:Granting Access to All Future Views
If you prefer to grant permissions on all future views in a schema (so you don’t need to grant permissions for each new view individually), use this approach:FUTURE VIEWS grants streamlines access management. When Elementum creates new BI views, users with this grant automatically have access without requiring additional permission changes.Permission Setup Workflow
When setting up BI views:- Grant the Elementum role permissions to create and manage views in your target database and schema.
- Configure your Elementum table and enable the Snowflake View feature through the Business Intelligence section.
- Grant SELECT permissions to the roles used by your BI tools, analysts, or other users who need to query the view.
- Configure your BI tools (PowerBI, Tableau, Looker) to connect to the Snowflake view using the appropriate role.
Column Management
Visible columns
Visible columns
- Show or hide columns based on what each view needs
- Drag and drop to reorder columns
- Search through available columns
- Lock important columns in place
Hidden columns
Hidden columns
Column behavior
Column behavior
- Calculated columns: Create formulas such as
Total Revenue = Quantity × Price - Data types: Automatic detection and formatting
- Sorting: Click column headers to sort
- Filtering: Use advanced filters for precise selection
Calculated columns
Understanding calculated columns
Understanding calculated columns
What you can do
What you can do
- Mathematical operations:
Revenue = Quantity × Price - Date calculations:
Days_Open = TODAY() - Created_Date - Conditional logic:
Risk_Level = IF(Amount > 10000, "High", "Low") - Text manipulation:
Full_Name = CONCAT(First_Name, " ", Last_Name) - Aggregations:
Total_Orders = COUNT(Orders.ID)
Column configuration
Column configuration
- Column name: Give your calculated column a descriptive name
- Function: Enter your formula using Excel-like syntax
- Format options:
- Format as percentage
- Format as percentage and multiply by 100
- Format as currency
- No formatting (default)
Available functions
Available functions
- Mathematical: SUM, AVERAGE, MIN, MAX, ROUND, POWER, SQRT
- Logical: IF, AND, OR, NOT
- Date/Time: DATE, NOW, DATEDIF, WEEKDAY, YEAR, MONTH, DAY
- Text: CONCAT, LEFT, RIGHT, MID, UPPER, LOWER, TRIM
- Lookup: VLOOKUP, COUNTIF, SUMIF, SEARCH, FIND
Example formulas
Example formulas
AI Search
Table admins can enable AI Search on a Table. Setup follows the same process as for AI Search onFiltering, search, and data operations
- Filtering and search
- Data operations
- Field selection: Choose any column for filtering
- Operators: Contains, equals, greater than, less than, etc.
- Values: Direct input or dropdown selection for known values
- Condition groups: Combine multiple filters with AND/OR logic
- Add condition: Build complex filter logic
- Condition groups: Organize related filters
- Clear all: Reset filters quickly
- Save views: Store frequently used filter combinations
Real Business Examples
Sales Pipeline View
Customer 360 View
Operations Dashboard
Best Practices
Performance optimization
Performance optimization
- Start with your primary data source
- Join only necessary tables
- Use indexed fields for joins when possible
- Limit joins to 3-4 tables for optimal performance
- Increase warehouse size for better performance with complex multi-table joins
- Apply filters before joins when possible
- Only display columns you need
- Use calculated columns sparingly
- Archive old data regularly
- Increase warehouse size for better performance with large datasets and complex operations
Data governance
Data governance
- Use clear, descriptive table names
- Include data source and purpose
- Example:
Sales_Pipeline_Q4_2024
- Configure appropriate permissions (Data Access, Roles and permissions)
- Document table purposes and owners
- Regular access reviews
- Validate join results
- Monitor for data inconsistencies
- Set up alerts for missing data
Layout, clarity, and performance monitoring
Layout, clarity, and performance monitoring
- Keep views focused and simple
- Group related columns together
- Use meaningful column headers
- Provide context through descriptions
- Track query execution times
- Monitor user engagement
- Optimize frequently used views
Related documentation
- Core concepts — How Apps, Elements, Tables, and Tasks work together
- Data best practices — Choosing structures and organizing shared data
- Setup CloudLink — Connecting warehouses and CloudLink-backed sources
- Connect Snowflake to Elementum — Snowflake roles, networking, and BI view prerequisites
- Showing relationships — Relationships between records and join-style modeling
- Calculations — Formula syntax and functions for calculated columns
- Data mining — Triggers and patterns that use table data
- Analytics — Charts and dashboards in the product
- Reports — Excel and PDF report templates
- AI Search — Enabling search on Tables and Elements