The ways in which data is stored and accessed have changed drastically between DMS (up to Sitecore 7.2) and xDB (Sitecore 7.5 and onward).
In 7.2, all collected and reporting data was stored in the
Analytics database in SQL.
In xDB, collected data is stored in the Collection database (MongoDB), while reporting data is processed and stored in the Reporting database (SQL Server). Data in the Reporting DB is actually stored in two different ways:
- Fact and Dimension tables (used by older reports):
- Dimensions, segments and metrics (used by Experience Analytics):
The Experience Analytics tables store (among other types of data) page event data as segments.
If you want to create a custom Experience Analytics report, you'll want to use the data in the Experience Analytics tables. You may need to create custom aggregation logic for your data, but keep in mind that these tables, most likely, already store all the data you need. So you'll just need to create custom filters and segments.
To create a custom Experience Analytics report, follow the guidelines from the official Sitecore documentation: