Data Blending
Data blending combines data from separate sources by aggregating each to a shared field before matching, in BI tools and in mixed ML training sets.
Data blending combines data from two or more separate sources into one view or dataset, typically by aggregating each source to a shared linking field, such as a date, store, or region, before matching them. The term comes from business intelligence tools, where a blend lets a monthly marketing budget from one system sit beside daily sales from another without first loading both into a single database. In machine learning, blending also describes mixing several datasets into one training set, such as real images with synthetic data or a public benchmark dataset with images from a company's own cameras.
How Data Blending Works#
In Tableau's implementation, the first source used in a view is the primary source and defines the view, and each secondary source is queried separately, aggregated to the level of the linking fields, and attached to the matching rows. The result behaves like a left join with one difference in timing: a join combines rows and then aggregates, while a blend aggregates each source first and then combines. That order matters when sources have different granularity, as this pandas example shows with daily revenue and monthly ad spend:
import numpy as np
import pandas as pd
# Source 1: daily revenue from a store database
rng = np.random.default_rng(0)
orders = pd.DataFrame({"date": pd.date_range("2026-01-01", "2026-03-31")})
orders["revenue"] = rng.integers(200, 400, len(orders))
orders["month"] = orders["date"].dt.strftime("%Y-%m")
# Source 2: monthly ad spend from a marketing tool
ads = pd.DataFrame({"month": ["2026-01", "2026-02", "2026-03"], "ad_spend": [3000, 2000, 4000]})
# A row-level join copies each month's spend onto every daily row
joined = orders.merge(ads, on="month")
print(f"ad spend after a row-level join: {joined['ad_spend'].sum():,}")
# A blend aggregates to the linking field (month) first, then combines the sources
blended = orders.groupby("month", as_index=False)["revenue"].sum().merge(ads, on="month", how="left")
blended["revenue_per_ad_dollar"] = (blended["revenue"] / blended["ad_spend"]).round(2)
print(blended)The row-level join reports 273,000 in ad spend instead of the true 9,000, because each month's budget repeats on all 28 to 31 of its daily rows. The blend keeps one row per month and returns revenue per ad dollar of 3.17 for January, 4.06 for February, and 2.41 for March.
Blending suits exploratory data analytics and dashboards for data visualization, where sources live in different systems and the combination is needed for one question. Values in the linking field must match exactly, so "Lt. Blue" in one source will not link to "Light Blue" in another until the names are cleaned or aliased.
Blending Training Datasets#
Machine learning teams blend datasets to cover more conditions than any one source holds. Large language models train on such mixtures: The Pile, released by EleutherAI in 2020, blends 22 sources, from academic papers to code, into an 825 GiB English text corpus with its own sampling weight for each source. In computer vision, blending one dataset from many cameras, regions, and seasons reduces overfitting to any single environment and counters dataset bias.
A training blend needs the same reconciliation as a BI blend. Class names must map to one taxonomy, so "car", "automobile", and "vehicle" become a single class or stay deliberately separate. Data annotation formats and conventions must agree, since one source may draw a bounding box around the visible part of an occluded person while another boxes the full outline, and data cleaning removes images that appear in more than one source. Teams draw the test data from the deployment domain, so metrics reflect the target instead of the easiest source in the mix.
Ultralytics YOLO blends sources at training time through its dataset YAML, whose train field accepts a list of image directories or a .txt file of image paths, so a single training run can draw from a real dataset and a synthetic one while val lists only real images.
Data Blending vs. Related Terms#
- Data joining: Combines records row by row on matching keys within one query, before any aggregation, which duplicates values when the sources differ in granularity.
- Data integration: Permanently consolidates sources into a warehouse or data lake with a shared schema, usually through extract, transform, and load (ETL) pipelines.
- Blending in ensemble learning: Combines the predictions of several models through a meta-model trained on a holdout set, the approach behind the winning Netflix Prize entries, and is unrelated to combining data sources.










