Karthik BI
Senior BI Engineer · LinkedIn

18 years turning data into decisions across manufacturing, finance, and tech. Here I share what I learn.
Writing
18 Fields in One Flat List, Half of Them Nobody Should Touch
Power BI, Data Modeling
Raw lat/long, an internal system flag, a vendor ID — all sitting in the field list next to the measures people actually need. Hiding and foldering it costs five minutes once.
Read →
Copilot Ignored a Real Field Twice. A Description Didn't Help. Synonyms Did.
Power BI, Copilot
'Extra' is an ambiguous field name. Copilot grabbed the wrong field, then grabbed another wrong one after I added a description. Synonyms were the only lever that worked.
Read →
The Total Row Said $111,270.85. The Real Answer Was $146,626.18.
Power BI, DAX
A measure's total row doesn't sum what's on screen — it re-evaluates in its own filter context. For a table of daily maximums, that's a different number, and it's wrong for what it claims to be.
Read →
I Tested "Avoid SUMX" Against 10.9 Million Rows. It Went Both Ways.
Power BI, DAX, Performance
Combining three columns, SUMX beat three separate SUMs by nearly 7x — 303ms vs 2015ms. With nothing to fold, plain SUM won. The difference is predictable.
Read →
One Calculated Column Cost 1.4MB on a 10.9M-Row Table. The Measure Cost Nothing.
Power BI, DAX, Performance
On sample data the difference is invisible. At 10.9 million rows, a single calculated column added over a megabyte to the file — and the identical logic as a measure added zero.
Read →
I Built the Same View-Switcher Two Ways: Bookmarks vs Field Parameters
Power BI, Data Modeling
Bookmarks won on setup speed. Field parameters won on object count, on what actually gets swapped, and on every view I added afterward.
Read →
One Checkbox, 55KB, and Only Two Date-Heavy Tables
Power BI, Performance
Auto Date/Time builds a hidden Year/Quarter/Month/Day hierarchy for every date column whether you ask for it or not. On a two-table model that was 55KB — about 15%.
Read →
Sum of UnitPriceDiscount Showed $8.4 — A Number That Means Nothing
Power BI, DAX, Data Modeling
Drag a discount rate into a table and Power BI sums it by default. The total row read $8.4, formatted as currency, looking exactly like something you would trust.
Read →
A Text-Typed Date Column Doesn't Announce Itself as Broken
Power BI, Power Query
OrderDate came in as text. Nothing errored — the line chart just sorted Aug → Jul → Jun, and Relative date was missing from the filter pane entirely.
Read →
Auto-Detect Guessed My Cardinality, and Guessed It Wrong
Power BI, Data Modeling
Power BI's auto-detected relationship looked right for weeks — 1-to-1, bidirectional — until a customer placed a second order and refresh failed outright.
Read →