Star Schema — Customer Dimension (CSV)
The customer dimension of a star schema — surrogate key, name, city, country, and segment. Joins to the sales fact table on customer_key. Names are synthetic.
customer_key,name,city,country,segment
1,Ada Rossi,Lisbon,PT,Enterprise
2,Chen Menon,Dubai,AE,Consumer
3,Priya Patel,Dubai,AE,Consumer
4,Omar Nguyen,Denver,US,Consumer
5,Sofia Garcia,Denver,US,Enterprise
6,Diego Patel,London,GB,Consumer
7,Lena Patel,Dubai,AE,SMB
8,Kenji Haddad,Austin,US,Consumer
9,Amara Nguyen,Lisbon,PT,SMB
10,Ravi Kowalski,Toronto,CA,Enterprise
11,Maria Kowalski,Mumbai,IN,Enterprise
12,Noah Nguyen,Berlin,DE,SMB
13,Yuki Okafor,Toronto,CA,Enterprise
14,Ivan Kim,Lisbon,PT,SMB
15,Zara Kowalski,Mumbai,IN,SMB
16,Leo Nguyen,London,GB,Enterprise
17,Nina Nguyen,Berlin,DE,SMB
18,Sam Rossi,Denver,US,Consumer
19,Tara Haddad,London,GB,Enterprise
20,Hugo Rossi,Dubai,AE,Consumer
21,Ada Okafor,Berlin,DE,Enterprise
22,Chen Menon,Austin,US,Enterprise
23,Priya Kowalski,Austin,US,Enterprise
24,Omar Kowalski,Berlin,DE,SMB
25,Sofia Okafor,Mumbai,IN,SMB
26,Diego Patel,Nairobi,KE,Enterprise
27,Lena Garcia,Lisbon,PT,Enterprise
28,Kenji Haddad,Berlin,DE,Enterprise
29,Amara Haddad,Nairobi,KE,Consumer
30,Ravi Kowalski,Austin,US,SMB
31,Maria Menon,Sydney,AU,Enterprise
32,Noah Kowalski,Berlin,DE,Enterprise
33,Yuki Silva,Sydney,AU,SMB
34,Ivan Nguyen,Austin,US,Enterprise
35,Zara Kowalski,Dubai,AE,SMB
36,Leo Menon,Sydney,AU,Consumer
37,Nina Patel,Mumbai,IN,Consumer
38,Sam Nguyen,Sydney,AU,Consumer
39,Tara Silva,Nairobi,KE,SMB
40,Hugo Patel,Toronto,CA,SMB
Specifications
- Rows
- 40
- Key
- customer_key
- Role
- dimension
What is a .csv file?
CSV (Comma-Separated Values) is a plain-text tabular format where rows are lines and fields are separated by commas, with quoting rules for values that contain delimiters, quotes, or newlines. It has no formal type system and depends on encoding and dialect conventions. It is the most portable format for tabular data exchange.
How to use this file
Use an example CSV to test parsers against quoting and embedded-delimiter edge cases, header handling, encoding detection, and import pipelines into databases or spreadsheets.
Code examples
import pandas as pd
df = pd.read_csv("dim_customer.csv")
print(df.head())
print(df.dtypes)Related files
- csvE-commerce Customers (CSV, 500 rows)A realistic e-commerce customer directory (500 rows) — part of a relational dataset (products, customers, orders) with CSV, JSON, SQL, and Parquet twins for testing joins, imports, and conversion.

- csvE-commerce Orders (CSV, 2000 rows)A realistic e-commerce order lines (customer_id → customers, product_id → products) (2000 rows) — part of a relational dataset (products, customers, orders) with CSV, JSON, SQL, and Parquet twins for testing joins, imports, and conversion.

- csvE-commerce Products (CSV, 200 rows)A realistic e-commerce product catalogue (200 rows) — part of a relational dataset (products, customers, orders) with CSV, JSON, SQL, and Parquet twins for testing joins, imports, and conversion.

- avroAvro — Row Binary + SchemaThe same records as Apache Avro — a compact row-based binary format that embeds its own schema, widely used in Kafka pipelines. For testing Avro decoders and schema evolution.

- csvBank Transactions (CSV, 60 rows)A bank-transaction statement — 60 debits and credits across three accounts (masked numbers) with running balances, categories, and merchants. Synthetic data for testing statement parsers, categorisation, and reconciliation.

- jsonBank Transactions (JSON, 60 records)The bank transactions as a JSON array — the format twin of the CSV, for import and reconciliation testing.

Generated by generation/data_edgecases.py. Free for any use, no attribution required — license.