karthikbi.dev
← Writing

18 Fields in One Flat List, Half of Them Nobody Should Touch

·3 min read

Power BI, Data Modeling

Every field you leave visible is a tax on whoever builds the next report — including future-you. This model had 18 fields in one flat list and no signal about which ones mattered.

One long list, no structure

Real reportable measures — fareAmount, tipAmount, totalAmount — sat directly next to fields nobody building a report should touch: raw coordinates (startLat, startLon, endLat, endLon), an internal system flag (storeAndFwdFlag), a code with no readable meaning on its own (rateCodeId), and an internal identifier (vendorID). Eighteen fields, alphabetical-ish, no grouping.

18 fields, flat list — real reportable measures mixed with raw coordinates and internal IDs
18 fields, flat list — real reportable measures mixed with raw coordinates and internal IDs.

Hide the internal fields, folder the rest

  • Hid — startLat, startLon, endLat, endLon, storeAndFwdFlag, rateCodeId, vendorID
  • Grouped the rest into two display folders — Fare Breakdown (Extra, Fare Amount, MTA Tax, Tip Amount, Tolls Amount, Total Amount) and Trip Details (Dropoff / Pickup DateTime, Passenger Count, Trip Distance)
Same fields, organised into Fare Breakdown and Trip Details folders — internal fields hidden
Same fields, organised into Fare Breakdown and Trip Details folders — internal fields hidden, not deleted.

Nothing was deleted. The hidden fields are still there for anyone who genuinely needs raw coordinates — a mapping visual, say — they're just out of the default view.

What changed

A report author now opens two clearly-labelled folders instead of scanning 18 mixed fields for the two or three they need. That's the whole payoff, and it cost about five minutes.

Hiding internal fields and grouping the rest into display folders costs a few minutes once and pays off every time someone opens the field list.

What I take from this

  • Hiding a field changes nothing about what a measure or DAX formula can reference
  • This is pure cleanup — no trade-off, no risk
  • Do it once per model and every future report-builder inherits the benefit