12. The system of claim 11 , wherein the metadata includes one or more measures, each measure of the one or more measures depending on at least one field of the plurality of fields.
11. A system, comprising: storage media; one or more processors; and one or more programs stored in the storage media and configured for execution by the one or more processors, the one or more programs comprising instructions for: annotating a plurality of datasets with metadata, the plurality of datasets including a plurality of fields, the metadata including a plurality of categories, each category of the plurality of categories corresponding to one or more fields of the plurality of fields; generating a hierarchy mapping that indicates a hierarchical relationship between different categories of the plurality of categories; receiving a natural language query that specifies a first granularity level that indicates a particular category of the plurality of categories and one or more field values that correspond to the particular category; determining against which of the plurality of datasets to execute the natural language query based on: identifying, based on the hierarchy mapping, one or more categories of the plurality of categories that are hierarchically related to the particular category; selecting, based on the metadata, two or more datasets of the plurality of datasets that include at least one category of the one or more categories; generating one or more dataset filters based on the first granularity level; translating the one or more dataset filters to a second granularity level corresponding to the at least one category; after translating the one or more dataset filters, applying the one or more dataset filters to at least one dataset of the two or more datasets; joining the two or more datasets to generate a composite dataset that includes the particular category; and executing the natural language query against the composite dataset to return a result for the natural language query.