1. A method comprising: receiving a natural language query; parsing the natural language query into a plurality of base concepts; processing, using a computer processor, one or more base concepts chosen from the plurality of base concepts to define a selected report template, wherein the selected report template is selected from a plurality of default report templates; mapping, via a mapping dictionary, at least one of the base concepts chosen from the plurality of base concepts to a data field within data, wherein the data includes a plurality of records; and executing a query on at least a portion of the data to identify a result record set, wherein the result record set defines at least a portion of the plurality of records, wherein the natural language query is a logic question having a plurality of logical elements, and each of the plurality of base concepts corresponds to one of the plurality of logical elements.