1. A non-transitory computer readable storage medium, comprising executable instructions to: provide a workspace for a user to define an expression with expression components from a graphical palette associated with the workspace; form an initial placeholder in the workspace; receive an initial expression component from the graphical palette at the initial placeholder and in response form an additional placeholder, wherein the initial placeholder and the additional placeholder lay out the visual structure of expression components in the workspace to illustrate semantic relationships between the expression components; enforce the data type for each placeholder; and provide a structured visual representation of each additional expression inserted in the workspace; wherein: at least one of the expression components comprises an aggregation, the aggregation having a corresponding graphical user interface element, which when activated, provides a panel to allow a user to specify filters and dimensions for the aggregation; all of the expression components in the workspace have an associated graphical user interface element, which when activated, results in a drop-down menu comprising alternative expression components to be displayed such that selection of one of the alternative components causes the selected alternative expression element to replace the corresponding expression component; brackets are inserted in the workspace to enforce an order of operations and to illustrate the order of operations to the user; and Boolean operators are represented in the workspace as a list within a bracket.