
- 5 min read
Tables
Tables allow you to present structured data in a clear and comparable format. They are ideal when users need to scan, compare, or look up specific values rather than interpret trends.

Example use case in real estate:
Overview of properties with key attributes (price, size, location)
Comparison of different regions or districts
Summary of market indicators (average price, number of listings, growth rate)
How tables work
A table is made up of columns and rows:
Columns define the type of information (e.g. price, location)
Rows represent individual entries (e.g. one property or one region)
You can configure which columns are shown and how they are displayed.
Configuration options
Column selection (up to 5)
You can select up to 5 columns to display
Each column represents one attribute of your dataset
Example:
Location
Property type
Average price
Living area
Number of listings
Best practice:
Focus on the most relevant information
Avoid overcrowding the table with too many columns
| Location | Property type | Average price (EUR) | Living area (m²) | Number of listings |
|---|---|---|---|---|
| Berlin | Apartment | 520,000 | 75 | 120 |
| Berlin | House | 980,000 | 140 | 45 |
| Munich | Apartment | 750,000 | 80 | 95 |
| Munich | House | 1,450,000 | 160 | 38 |
| Hamburg | Apartment | 610,000 | 78 | 85 |
| Hamburg | House | 1,120,000 | 150 | 42 |
| Madrid | Apartment | 430,000 | 70 | 110 |
| Madrid | House | 820,000 | 135 | 50 |
| Paris | Apartment | 680,000 | 65 | 130 |
| Paris | House | 1,250,000 | 145 | 30 |
Reordering columns (drag and drop)
Columns can be rearranged via drag and drop
Use this to:
Place the most important information first
Create a logical reading flow (e.g. location → price → size)
Example order:
Location
Property type
Average price
Living area
Layout options
Show numeration
Adds a numbering column at the beginning of the table.
Example:
Berlin
Hamburg
Munich
Use it when:
Ranking items (e.g. top markets, most expensive regions)
You want to emphasize order or position
Avoid it when:
The order is not meaningful
| # | Location | Average price (EUR) | Number of listings |
|---|---|---|---|
| 1 | Munich | 750000 | 95 |
| 2 | Hamburg | 610000 | 85 |
| 3 | Berlin | 520000 | 120 |
Auto-size columns based on content
Adjusts column widths based on the content length.
Enabled: Columns adapt to text length
Disabled (default): All columns have equal width
Use it when:
Content length varies significantly (e.g. long location names vs. short values)
Avoid it when:
You want a more uniform, grid-like appearance
| Location | Property type | Description | Average price (EUR) | Number of listings |
|---|---|---|---|---|
| Berlin | Apartment | Modern city apartment | 520000 | 120 |
| Munich | House | Spacious detached family home with large garden | 1450000 | 38 |
| Hamburg | Apartment | Newly renovated waterfront apartment with balcony and harbor view | 610000 | 85 |
| Bad Homburg vor der Höhe | Villa | Exclusive luxury villa in quiet residential area with pool and garage | 2850000 | 12 |
| Frankfurt | Studio | Compact studio | 310000 | 60 |
| Garmisch-Partenkirchen | Chalet | Traditional alpine chalet with mountain view and fireplace | 1980000 | 18 |
Handling large tables
When a table contains more than 10 rows, a button is automatically shown
This allows users to expand and view all rows
Best practice:
Keep the initial view concise
Ensure the most important rows appear first
| # | Country | Transaction volume 2023 (EUR m) | Volume change vs. previous year | Number of transactions 2023 | Transaction change vs. previous year |
|---|---|---|---|---|---|
| 1 | Germany | 6,904 | 20.90% | 9,850 | 18.30% |
| 2 | Spain | 4,971 | 21.60% | 3,777 | 27.40% |
| 3 | Italy | 4,231 | 42.60% | 677 | 11.90% |
| 4 | Switzerland | 3,315 | 25.10% | 4,238 | 29.60% |
| 5 | France | 2,979 | 39.90% | 2,873 | 20.50% |
| 6 | Portugal | 1,742 | 32.50% | 2,659 | 16.90% |
| 7 | USA | 1,566 | 66.90% | 2,350 | 16.90% |
| 8 | Netherlands | 1,257 | 25.90% | 2,574 | 19.90% |
| 9 | Belgium | 1,097 | 16.80% | 400 | 41.80% |
| 10 | Luxembourg | 922 | 41.30% | 1,035 | 43.40% |
Tables in dashboards
Tables behave differently from charts when placed on a dashboard.
Special case:
Tables always span the full width of the content area
They are not displayed side by side with other components
This means:
A table will always appear as a separate block
Other charts (e.g. line or bar charts) will be placed above or below, not next to it
Best practice:
Place tables after charts when you want to provide detailed data behind a visual
Use tables as a deep-dive element, not as the primary visual highlight
Example layout:
Floating bar chart (price range)
Bar chart (average price by property type)
Table (detailed breakdown by region)
This structure helps users first understand trends visually and then explore the exact values in the table.
| City | Population | Average income (EUR/year) | Purchasing power index | Share of owned properties (%) |
|---|---|---|---|---|
| Berlin | 3,750,000 | 42,000 | 102 | 17 |
| Hamburg | 1,900,000 | 48,500 | 108 | 23 |
| Munich | 1,500,000 | 58,000 | 125 | 28 |
| Frankfurt | 770,000 | 54,000 | 115 | 22 |
| Cologne | 1,100,000 | 44,500 | 103 | 19 |
| Stuttgart | 630,000 | 52,000 | 118 | 26 |
| Düsseldorf | 620,000 | 50,000 | 110 | 24 |
| Leipzig | 600,000 | 36,500 | 95 | 15 |
Footnote field
You can add additional context below the table.
Formatting options:
Bold
Links
Use the footnote for:
Data sources
Definitions of columns
Methodology or calculation notes
Example:
“Data based on Engel & Völkers market reports 2025.”
“Average price refers to median listing price per square meter.”
Best practices
Do’s
Select only the most relevant columns (max 5)
Order columns from most to least important
Use clear and consistent column labels
Use numeration when ranking or ordering matters
Use footnotes to clarify data sources or definitions
Don’ts
Do not overload the table with too many columns
Do not use unclear or abbreviated column names
Do not mix unrelated data in one table
Do not rely on column order without clear labeling
Do not ignore readability when using long text values
Example setup
Scenario: Comparison of key real estate markets
Columns:
Location
Property type
Average price (€)
Living area (m²)
Number of listings
Column order: Location → Property type → Price → Size → Listings
Show numeration: Enabled
Auto-size columns: Enabled
This setup allows users to quickly compare markets while keeping the table structured and easy to scan.
| # | Location | Property type | Average price (€) | Living area (m²) | Number of listings |
|---|---|---|---|---|---|
| 1 | Berlin | Apartment | 520,000 | 75 | 120 |
| 2 | Berlin | House | 980,000 | 140 | 45 |
| 3 | Hamburg | Apartment | 610,000 | 78 | 85 |
| 4 | Munich | Apartment | 750,000 | 80 | 95 |
| 5 | Munich | House | 1,450,000 | 160 | 38 |
| 6 | Madrid | Apartment | 430,000 | 70 | 110 |
| 7 | Paris | Apartment | 680,000 | 65 | 130 |
You may also be interested in
Composed charts (line and bar combination)
Line Charts- 5 min.
Pie charts- 5 min.
Floating Bar Charts- 5 min.
Bar Charts- 5 min.
You may also be interested in
Common data issues and how to avoid them
How to structure data for different chart types
Preparing data in Google Sheets for data visualizations
File storage, access and setup
You may also be interested in
Sorting and color assignment in charts
Aggregation methods for chart metrics
Working with filters- 5 min.
Creating a dashboard- 5 min.
Creating charts- 5 min.
You may also be interested in
Charts and SEO: how to make data visible and valuable