karthikbi.dev

Karthik BI

Senior BI Engineer · LinkedIn

Karthik BI

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 →