Learn the work behind Data, AI & Forward Deployed Engineering
Practical explanations, career decisions and reproducible workflows. Read the reasoning, inspect the evidence and follow the next skill into a real programme.
Data warehouses versus lakes for analytical workloads
A warehouse commonly provides managed tables, SQL performance and governance. A data lake commonly stores files in object storage with flexible formats and engines. Modern platforms blur the labels, so choose from access
DAX calculated columns versus measures with a sales example
A calculated column produces a value for each row; a measure produces a result under the filter context of a query or visual. In an Import model, a calculated column's stored values are established during model processin
DAX cohort measures: preserve the acquisition group
A retention cohort holds a defined starting group fixed and asks how many of its members are active in a later period. If the denominator shrinks to only customers active in the selected month, the result can misleadingl
DAX currency conversion at the correct transaction grain
Convert amounts at the grain required by the reporting policy, then aggregate values in the target currency. Multiplying a combined multi-currency total by one average rate generally does not preserve the original transa
DAX inactive relationships and order versus delivery dates
An order can be placed on one date and delivered on another. A report must identify which date role determines its period. An inactive relationship can support an alternate date measure without changing the default order
DAX moving averages with incomplete trading days
A moving average needs an explicit window and a completeness rule. Three observed rows are not necessarily three expected trading days, and an unknown day's value should not automatically become zero or disappear from th
DAX SUMX: why row-level multiplication needs an iterator
Total line value is the sum of each line's quantity multiplied by that line's unit price. Multiplying total quantity by the sum of unit prices creates cross-products that do not represent the original transactions.
DAX total rows: why summing percentages gives the wrong answer
A matrix total evaluates the measure under the total's filter context. It is not necessarily the arithmetic sum of the displayed row results. For ratios, recalculating from the total numerator and denominator is often ex
DAX year-to-date versus rolling twelve months
Year-to-date accumulates from the start of the relevant year to the selected endpoint. A rolling twelve-month measure looks backward over a moving twelve-month interval. They answer different questions and usually includ
DBSCAN: distinguish noise from a bad density setting
DBSCAN labels rows in low-density regions as -1. That label means “not density-connected under this eps and minsamples setting.” It does not mean fraud, bad data or a business exception.
Debug a DAX measure with a small validation table
When a measure looks wrong, reduce the problem to a small table with known records and explicit filters. Expose the numerator, denominator and relevant counts instead of editing a long expression repeatedly while watchin
Debug a Python KeyError in messy business data
A KeyError means a requested dictionary key was not present. In reporting code, investigate the actual schema and transformation history before replacing the access with get(). A default can hide the error while changing
Not sure which programme fits?
Tell us your background and we will map it to the right entry point — including saying so when a cheaper programme is the better fit. A counsellor replies within one working day.