1. A method implemented at least in part by a computer, the method comprising: from a requestor, receiving search criteria that indicates a base query, one or more column queries, and one or more row queries; obtaining base identifiers that identify data items that satisfy the base query; obtaining column identifiers that identify data items that satisfy the one or more column queries; obtaining row identifiers that identify data items that satisfy the one or more row queries; for each data cell of a data grid that has a column for each of the one or more column queries and a row for each of the one or more row queries, performing an intersection operation on the base identifiers, a set of column identifiers that correspond to the data cell, and a set of row identifiers that correspond to the data cell to obtain a value for the data cell and placing the value for the data cell in the data grid; and sending the data grid to the requestor.