On-demand database service system, method and computer program product for generating a custom report
Assigneesalesforce.com, inc.
InventorsJesse Collins, Mark A. Fischer, Thomas Kim, Thomas Joseph Tobin, Simon Wong
Life of this patent
Estimating the term…
Abstract
In accordance with embodiments, there are provided mechanisms and methods for generating a custom report using an on-demand database service. These mechanisms and methods for generating an on-demand database service custom report can enable embodiments to generate reports that reflect a relationship between at least two different objects. The ability of embodiments to provide such additional insight into database contents may lead to more efficient and effective reporting.
Claims17
A method, comprising:
- receiving a request for a report on database contents of an on-demand database service, utilizing a hardware processor, the request including an identifier of a predefined report template;
- identifying the predefined report template utilizing the identifier, in response to the request;
- identifying at least two different objects of the database contents from the predefined report template;
- identifying information defining a relationship between the at least two different objects from the predefined report template;
- identifying a type of join operation to be performed on the at least two different objects from the predefined report template, the type of join operation including one of an inner join operation and an outer join operation;
- performing a join operation of the identified type of join operation on the at least two different objects, according to the identified relationship between the at least two different objects;
- generating the report including at least a portion of a result of the performance of the join operation;
- and
- outputting the report;
- wherein the predefined report template is configured by a user utilizing a user interface, by:
- displaying to a user a list of a plurality of primary objects;
- receiving from the user a selection of a primary object as a first one of the at least two different objects;
- displaying to the user a list of one or more child objects to the primary object;
- receiving from the user a selection of one of the child objects as a second one of the at least two different objects;
- displaying the information defining the relationship between the primary object and the selected child object;
- displaying at least one of:
- a first option for an inner join operation to be performed between the primary object and the selected child object according to the relationship;
- and
- a second option for an outer join operation to be performed between the primary object and the selected child object according to the relationship;
- receiving from the user a selection from the displayed at least one of the first option for the inner join and the second option for the outer join;
- and
- storing as the predefined report template an identification of the selected primary object, the selected child object, the information describing the relationship between the primary object and the secondary object, and the selected one of the inner join operation and the outer join operation.
A non-transitory computer readable storage medium carrying one or more sequences of instructions which, when executed by one or more processors, cause the one or more processors to carry out the steps of:
- receiving a request for a report on database contents of an on-demand database service, the request including an identifier of a predefined report template;
- identifying the predefined report template utilizing the identifier, in response to the request;
- identifying at least two different objects of the database contents from the predefined report template;
- identifying information defining a relationship between the at least two different objects from the predefined report template;
- identifying a type of join operation to be performed on the at least two different objects from the predefined report template, the type of join operation including one of an inner join operation and an outer join operation;
- performing a join operation of the identified type of join operation on the at least two different objects, according to the identified relationship between the at least two different objects;
- generating the report including at least a portion of a result of the performance of the join operation;
- and
- outputting the report;
- wherein the predefined report template is configured by a user utilizing a user interface, by:
- displaying to a user a list of a plurality of primary objects;
- receiving from the user a selection of a primary object as a first one of the at least two different objects;
- displaying to the user a list of one or more child objects to the primary object;
- receiving from the user a selection of one of the child objects as a second one of the at least two different objects;
- displaying the information defining the relationship between the primary object and the selected child object;
- displaying at least one of:
- a first option for an inner join operation to be performed between the primary object and the selected child object according to the relationship;
- and
- a second option for an outer join operation to be performed between the primary object and the selected child object according to the relationship;
- receiving from the user a selection from the displayed at least one of the first option for the inner join and the second option for the outer join;
- and
- storing as the predefined report template an identification of the selected primary object, the selected child object, the information describing the relationship between the primary object and the secondary object, and the selected one of the inner join operation and the outer join operation.
An apparatus, comprising:
- a hardware processor;
- and
- one or more stored sequences of instructions which, when executed by the hardware processor, cause the hardware processor to carry out the steps of:
- receiving a request for a report on database contents of an on-demand database service, the request including an identifier of a predefined report template;
- identifying the predefined report template utilizing the identifier, in response to the request;
- identifying at least two different objects of the database contents from the predefined report template;
- identifying information defining a relationship between the at least two different objects from the predefined report template;
- identifying a type of join operation to be performed on the at least two different objects from the predefined report template, the type of join operation including one of an inner join operation and an outer join operation;
- performing a join operation of the identified type of join operation on the at least two different objects, according to the identified relationship between the at least two different objects;
- generating the report including at least a portion of a result of the performance of the join operation;
- and
- outputting the report;
- wherein the apparatus is operable such that the predefined report template is configured by a user utilizing a user interface, by:
- displaying to a user a list of a plurality of primary objects;
- receiving from the user a selection of a primary object as a first one of the at least two different objects;
- displaying to the user a list of one or more child objects to the primary object;
- receiving from the user a selection of one of the child objects as a second one of the at least two different objects;
- displaying the information defining the relationship between the primary object and the selected child object;
- displaying at least one of:
- a first option for an inner join operation to be performed between the primary object and the selected child object according to the relationship;
- and
- a second option for an outer join operation to be performed between the primary object and the selected child object according to the relationship;
- receiving from the user a selection from the displayed at least one of the first option for the inner join and the second option for the outer join;
- and
- storing as the predefined report template an identification of the selected primary object, the selected child object, the information describing the relationship between the primary object and the secondary object, and the selected one of the inner join operation and the outer join operation.
A method for transmitting code for use in a multi-tenant database system on a transmission medium, the method comprising:
- transmitting code for receiving a request for a report on database contents of an on-demand database service, utilizing a hardware processor, the request including an identifier of a predefined report template;
- transmitting code for identifying the predefined report template utilizing the identifier, in response to the request;
- transmitting code for identifying at least two different objects of the database contents from the predefined report template;
- transmitting code for identifying information defining a relationship between the at least two different objects from the predefined report template;
- transmitting code for identifying a type of join operation to be performed on the at least two different objects from the predefined report template, the type of join operation including one of an inner join operation and an outer join operation;
- transmitting code for performing a join operation of the identified type of join operation on the at least two different objects, according to the identified relationship between the at least two different objects;
- transmitting code for generating the report including at least a portion of a result of the performance of the join operation;
- and
- transmitting code for outputting the report;
- wherein the predefined report template is configured by a user utilizing a user interface, by:
- displaying to a user a list of a plurality of primary objects;
- receiving from the user a selection of a primary object as a first one of the at least two different objects;
- displaying to the user a list of one or more child objects to the primary object;
- receiving from the user a selection of one of the child objects as a second one of the at least two different objects;
- displaying the information defining the relationship between the primary object and the selected child object;
- displaying at least one of:
- a first option for an inner join operation to be performed between the primary object and the selected child object according to the relationship;
- and
- a second option for an outer join operation to be performed between the primary object and the selected child object according to the relationship;
- receiving from the user a selection from the displayed at least one of the first option for the inner join and the second option for the outer join;
- and
- storing as the predefined report template an identification of the selected primary object, the selected child object, the information describing the relationship between the primary object and the secondary object, and the selected one of the inner join operation and the outer join operation.
Dependencies are inferred from the claim text.