> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.hellodata.ai/llms.txt.

## New Feature

**Query Builder: Rent Roll Columns**

Added a new `Rent Roll` column category for Query Builder. New columns:
- `rent_roll_floorplan_name`
- `rent_roll_bed`
- `rent_roll_bath`
- `rent_roll_partial_bath`
- `rent_roll_asking_rent`
- `rent_roll_in_place_rent`
- `rent_roll_estimated_units`

`rent_roll_in_place_rent` maps to `rent_roll.effective_price`.

## Improvement

**Query Validation: Rent Roll Compatibility Guardrails**

Query Builder now rejects incompatible mixed selections with HTTP `422` across dataset validation endpoints.

Incompatible mix:
- Any `Rent Roll` column
- With any `Unit`, `Price`, or `Leasing Activity` (occupancy) column

This rule applies to both selected scope columns and filter columns.

## Improvement

**Query Builder: Rent Roll Aggregation Selectors**

Added 3 mutually exclusive Rent Roll aggregation selector columns:
- `rent_roll_aggregation_bed_bath`
- `rent_roll_aggregation_bed_bath_sqft`
- `rent_roll_aggregation_floorplan`

Only one selector can be used in a query.

Rent Roll metrics now require one selector:
- `rent_roll_asking_rent`
- `rent_roll_in_place_rent`
- `rent_roll_estimated_units`

If Rent Roll metrics are used without one of the selectors, dataset endpoints return HTTP `422` with a validation message.