  SQL has attained widespread adoption, but Business Intelligence tools still
use their own higher level languages based upon a multidimensional paradigm.
Composable calculations are what is missing from SQL, and we propose a new kind
of column, called a measure, that attaches a calculation to a table. Like
regular tables, tables with measures are composable and closed when used in
queries. SQL-with-measures has the power, conciseness and reusability of
multidimensional languages but retains SQL semantics. Measure invocations can
be expanded in place to simple, clear SQL. To define the evaluation semantics
for measures, we introduce context-sensitive expressions (a way to evaluate
multidimensional expressions that is consistent with existing SQL semantics), a
concept called evaluation context, and several operations for setting and
modifying the evaluation context.
