Adding Aggregations
Aggregations allow you to summarize your data by calculating values across groups of rows. Visitran's No-Code UI provides an intuitive interface for adding aggregations without writing code.
Overview
Aggregation operations combine multiple rows of data into summary statistics. This is essential for analysis, reporting, and understanding patterns in your data.
Available Aggregation Functions
COUNT
Count the number of rows in each group.
Use Case: Find the number of orders per customer, products per category, etc.
SUM
Calculate the total of numeric values in each group.
Use Case: Total sales by region, total quantity ordered per product, etc.
AVERAGE (AVG)
Calculate the arithmetic mean of numeric values in each group.
Use Case: Average order value, average rating per product, etc.
MIN
Find the minimum value in each group.
Use Case: Earliest date, lowest price, minimum quantity, etc.
MAX
Find the maximum value in each group.
Use Case: Latest date, highest price, maximum quantity, etc.
DISTINCT COUNT
Count the number of unique values in each group.
Use Case: Number of unique customers per region, unique products sold, etc.
How to Add Aggregations in Visitran
Step-by-Step Instructions
- Select Your Model - Navigate to the model where you want to add aggregations
- Add Group By - Click "Add Group By" to define grouping columns
- Select Grouping Columns - Choose which columns to group by
- Add Aggregations - Select the aggregation functions and target columns
- Name Aggregated Columns - Provide meaningful names for your aggregated results
- Preview Results - View the aggregated data in the data grid
- Save - Apply the changes to your model
Grouping Columns
Grouping columns define how your data is partitioned before aggregation:
- Single Column - Group by one dimension (e.g., by customer)
- Multiple Columns - Group by multiple dimensions (e.g., by customer and region)
- Date Grouping - Group by time periods (day, month, quarter, year)
Common Use Cases
Sales Summary by Region
Group By: region
Aggregations:
- COUNT(*) as order_count
- SUM(amount) as total_sales
- AVG(amount) as average_order_value
Customer Purchase Analysis
Group By: customer_id
Aggregations:
- COUNT(*) as total_orders
- SUM(order_total) as lifetime_value
- MAX(order_date) as last_order_date
Product Performance
Group By: product_category, product_name
Aggregations:
- COUNT(*) as units_sold
- SUM(revenue) as total_revenue
- AVG(rating) as average_rating
Time-Based Analysis
Group By: order_year, order_month
Aggregations:
- COUNT(DISTINCT customer_id) as unique_customers
- SUM(order_amount) as monthly_revenue
Best Practices
- Choose Meaningful Groups - Select grouping columns that align with your analysis goals
- Name Aggregations Clearly - Use descriptive names for aggregated columns
- Consider NULL Values - Understand how NULL values affect aggregations
- Validate Results - Check that aggregated totals match expected values
- Document Business Logic - Add comments explaining aggregation choices
Performance Considerations
- Index Grouping Columns - Ensure columns used in GROUP BY are indexed
- Limit Groups - Too many distinct groups can impact performance
- Pre-Filter Data - Apply filters before aggregation when possible
- Aggregate Early - Perform aggregations as early as possible in your pipeline
Advanced Techniques
Multiple Aggregations on Same Column
Calculate several statistics for the same field:
SUM(amount) as total
AVG(amount) as average
MIN(amount) as minimum
MAX(amount) as maximum
Conditional Aggregations
Use CASE statements within aggregations for conditional logic:
SUM(CASE WHEN status = 'completed' THEN amount ELSE 0 END) as completed_sales
COUNT(CASE WHEN status = 'cancelled' THEN 1 END) as cancelled_orders
Rolling Aggregations
Combine with window functions for running totals and moving averages.
Troubleshooting
Unexpected NULL Results
- Check if source data contains NULL values
- Use COALESCE to provide default values
- Verify aggregation functions handle NULLs correctly
Performance Issues
- Reduce the number of distinct groups
- Add indexes on grouping columns
- Consider pre-aggregating in earlier stages
Incorrect Counts
- Verify you're using COUNT vs COUNT(DISTINCT) appropriately
- Check for duplicate rows in source data
- Review join operations that may create duplicates
Related Operations
- Joining Tables - Combine data before aggregating
- Sorting - Order aggregated results
- Showing / Hiding Columns - Control which aggregated columns display
Related Formulas
For row-level calculations, see:
- Common Math Operations - SUM, AVERAGE, MIN, MAX in formulas
- Handle NULL Values - COALESCE for handling NULLs
Detailed screenshots showing the aggregation interface will be added soon.