This application is related to U.S. patent application Ser. No. 12/074,035, entitled “Pyramid Reporting Tool,” filed on Feb. 29, 2008 (which issued as U.S. Pat. No. 7,801,929 on Sep. 21, 2010), U.S. patent application Ser. No. 12/156,309, entitled “ETL Tool Utilizing Dimension Trees,” filed on May 31, 2008, U.S. patent application Ser. No. 12/202,077, entitled “Building Custom Dimension Trees,” filed on Aug. 29, 2008, and U.S. patent application Ser. No. 12/202,087, entitled “Creating Reports Using Dimension Trees,” filed on Aug. 29, 2008, and assigned to the assignee of the present application and hereby by reference in their entireties.
Embodiments of the present invention relate to data reporting, and more specifically, to real time datamining.
Data stored in a database is usually transactional in nature. A database may be a transactional database or a relational database. Transactional databases simply are a collection of transaction tables. Relational databases add the capacity to match tables together and perform other functions. Since relational databases provide ways to match and organize data, more insight can be achieved through them. Hence, most databases systems by default are relational (encompassing the transactional as well as relational capacity). These databases are intended to contain data in a format that will allow it to be completely matchable with other data in the database or other outside databases. However, this data is not organized in a manner where the natural relationships become apparent or easily utilized. Rather, the relationships in the data are defined and maintained by the application running on top of the database. An individual can only see the relationships in the data if he or she already has an understanding of the database structure and the application functionality.
Database administrators (DBAs) utilizing data for reporting and analysis have attempted to overcome this limitation of data storage using a technique known as On-Line Analytical Processing (OLAP). OLAP provides a capability for copying data from a production (application driven) database into separate OLAP tables. While a production database tends to store the data in many small tables with few columns, OLAP tends to shift the production data into fewer, larger tables with many columns.
OLAP uses dimensions that represent relationship descriptors, categories or drivers. Examples of dimensions may include Time, Location, Product, Industry, Account, etc. Dimensions can be organized into “cubes”. A cube contains dimensions and a snippet of data (typically a number) which are reflected by the intersection of dimension selections. There are currently three main OLAP cube systems: ROLAP, in which the cube is virtual, calculated on the fly from the OLAP tables themselves; MOLAP, a literal cube of just dimensions and the intersection data stored separately from, or inside an OLAP table or in the computers RAM memory; and HOLAP, which is a hybrid of ROLAP and MOLAP.
The cube system has helped to fill some of the gaps between relational databases and the natural relationships of data. However, cubes also have weaknesses. The cube system is still a relational system with perfectly matchable data. In fact, the cube system is even more so because the cube treats each dimension equally. The natural relationships of data can still be expressed, but typically through many small cubes with different dimensions to capture the relationship. The second weakness of a cube system is that since cubes utilize intersections, dimensions need to be few and small or the process can create unwieldy cubes with many empty spaces (a cube can contain all possible dimension intersections, even if the data does not exist). Therefore cubes tend to eliminate details that may be important, but inexpressible in that format. Further, OLAP dimensions are not easily organized, nor are they easily matched across databases. Dimensions may contain the same theme (like “time”) but because the elements are different, joining dimensions together are difficult because they are not naturally defined in the database. Moreover, OLAP reporting systems cannot effectively respond to ad-hoc drill-down requests because they do not differentiate between high level and low level data. DBAs have to setup various processes and procedures to anticipate possible drill-down requests of end users.
The present invention is illustrated by way of example, and not by way of limitation, in the figures of the accompanying drawings and in which:
Described herein is a method and apparatus for real time statistical analysis of data included in a report. In one embodiment, a datamining tool allows a user to select a value in a report associated with a specific pyramid level and to request statistical analysis of lower level data pertaining to the value from the report. The lower level data may be transaction data (from the transactional database) associated with the lowest level of the reporting pyramid. In response to the user request, the datamining tool identifies a datamining function to be performed on the lower level data pertaining to the value from the report. The datamining tool also identifies statistical variables to be used for the statistical analysis, and determines the statistical criteria needed for running the statistical analysis in the datamining function. The statistical variables may be represented by dimensions included in the original report, and the statistical criteria may be the criteria used for the creation of the original report. Based on the variables and the criteria, the datamining tool submits a query or a database API call to the transactional database.
Upon receiving the result set from the transactional database, the datamining tool performs the datamining function on this lower level data. The result of the datamining function is then used by a report builder to create a report illustrating statistical analysis of the above lower level data.
Embodiments of the present invention use the reporting pyramid model to make relationships of transactional data visible, and to easily identify datasets that should be utilized for statistical analysis. By utilizing dimensions inside the reporting pyramid as statistical variables, a much smaller dataset can be used for datamining, resulting in better statistics. The pyramid model allows for guided datamining that provides a better visual perspective of how the datasets being tested fit in with the rest of the data.
In the following description, numerous details are set forth. It will be apparent, however, to one skilled in the art, that the present invention may be practiced without these specific details. In some instances, well-known structures and devices are shown in block diagram form, rather than in detail, in order to avoid obscuring the present invention.
Some portions of the detailed descriptions which follow are presented in terms of algorithms and symbolic representations of operations on data bits within a computer memory. These algorithmic descriptions and representations are the means used by those skilled in the data processing arts to most effectively convey the substance of their work to others skilled in the art. An algorithm is here, and generally, conceived to be a self-consistent sequence of steps leading to a desired result. The steps are those requiring physical manipulations of physical quantities. Usually, though not necessarily, these quantities take the form of electrical or magnetic signals capable of being stored, transferred, combined, compared, and otherwise manipulated. It has proven convenient at times, principally for reasons of common usage, to refer to these signals as bits, values, elements, symbols, characters, terms, numbers, or the like.
It should be borne in mind, however, that all of these and similar terms are to be associated with the appropriate physical quantities and are merely convenient labels applied to these quantities. Unless specifically stated otherwise, as apparent from the following discussion it is appreciated that throughout the description, discussions utilizing terms such as “sending”, “receiving”, “comparing”, “hashing”, “maintaining”, or the like, refer to the action and processes of a computer system, or similar electronic computing device, that manipulates and transforms data represented as physical (electronic) quantities within the computer system's registers and memories into other data similarly represented as physical quantities within the computer system memories or registers or other such information storage, transmission or display devices.
The present invention also relates to an apparatus for performing the operations herein. This apparatus may be specially constructed for the required purposes, or it may comprise a general purpose computer selectively activated or reconfigured by a computer program stored in the computer. Such a computer program may be stored in a computer readable storage medium, such as, but not limited to, any type of disk including floppy disks, optical disks, CD-ROMs, and magnetic-optical disks, read-only memories (ROMs), random access memories (RAMs), EPROMs, EEPROMs, magnetic or optical cards, or any type of media suitable for storing electronic instructions, each coupled to a computer system bus.
The algorithms and displays presented herein are not inherently related to any particular computer or other apparatus. Various general purpose systems may be used with programs in accordance with the teachings herein, or it may prove convenient to construct more a specialized apparatus to perform the required method steps. The required structure for a variety of these systems will appear as set forth in the description below. In addition, the present invention is not described with reference to any particular programming language. It will be appreciated that a variety of programming languages may be used to implement the teachings of the invention as described herein.
The present invention may be provided as a computer program product, or software, that may include a machine-readable medium having stored thereon instructions, which may be used to program a computer system (or other electronic devices) to perform a process according to the present invention. A machine-readable medium includes any mechanism for storing or transmitting information in a form readable by a machine (e.g., a computer). For example, a machine-readable (e.g., computer-readable) medium includes a machine (e.g., a computer) readable storage medium (e.g., read only memory (“ROM”), random access memory (“RAM”), magnetic disk storage media, optical storage media, flash memory devices, etc.), a machine (e.g., computer) readable transmission medium (electrical, optical, acoustical or other form of propagated signals (e.g., carrier waves, infrared signals, digital signals, etc.)), etc.
The server 104 may be, for example, a server computer, a PC, or any other machine. The server 104 may be coupled to the clients 114 via the network 110, which may be a public network (e.g., Internet) or a private network (e.g., Ethernet, a Local Area Network (LAN), or a corporate intranet). In addition, the server 104 may be coupled to a console 112 via the network 110. The console 112 may be operated by a DBA and may be, for example, a PC, a PDA, a mobile phone, etc. The console 112 may contain hardware components and software components including a browser application to render data provided by the server 104.
The server 104 may be coupled to master database(S) 102 which may reside on one or more storage devices. The server 104 may access the master database 102 directly or via a network (e.g., a private or public network). The master database 102 may represent one or more production databases of an organization or multiple organizations. A production database may be a large relational or transactional database.
The server 104 may host a reporting system 106 that transforms data from the master database 102 to be more suitable for reporting, stores the transformed data in a reporting database 108, and provides reporting and datamining capabilities for end users with respect to the production data. The reporting database 108 may reside on one or more storage devices and may be accessible to the reporting system 106 via a network (private or public network) or directly. The reporting system 106 provides graphical user interfaces (GUIs) to assist a DBA operating the console 112 in populating the reporting database 108. The reporting system 106 uses a pyramid model to simplify storage of production data in the reporting database 108 and to facilitate efficient reporting and datamining capabilities. A reporting pyramid as referred to herein provides a visual representation of production data transformed for reporting, with the top of the pyramid having the least amount of detail, and the bottom of the pyramid including the most details. In addition, the reporting system 106 assists end users operating the client devices 114 in the creation of reports based on production data, and provides real time statistical analysis of ad-hoc data elements included in the report.
The pyramid creator 202 allows a user such as a DBA to view data fields (e.g., data element names or column names) included in a production database and to create dimensions from the data fields. The pyramid creator 202 may then store the mappings between the production data fields and the dimensions in a dimension table 214 of the reporting database 208. In addition, the pyramid creator 202 may allow a DBA to specify a desired number of levels for a reporting pyramid, and to link dimensions to specific levels of the reporting pyramid. The pyramid creator 202 creates a table 212 for each level of the reporting pyramid in the reporting database 208, and stores relationships between the tables 212 in a linkage table 210 of the reporting database.
The report builder 204 allows end users to request specific reports, and then processes these reporting requests of end users by accessing a table associated with an appropriate reporting level. The report builder 204 presents reports to end users, and allows an end user to submit an ad-hoc drill-down request for any element of the report.
When requesting reports, user are likely to start with a small amount of detail and then drill down to request more details for specific components of the report. This approach is reflected in the reporting pyramid model used by the reporting system 200. Each reporting pyramid level may be associated with specific individuals within the organization. For example, the CEO may be mostly interested in the top level summary data to analyze overall statistics of the organization. A regional manager may be mostly interested in a lower level data that provides summary data for different departments within the region. A salesperson in a specific department may be mostly interested in data describing his or her department, and may not even have access to the top level organization data or region summary data. In one embodiment, a table is created for each reporting level to store dimensions available at a relevant reporting level (plane) and to allow users to easily move between the different planes. Different tables can be setup for different people, different views, different access levels, etc. The tables can be organized in various ways. In one embodiment, the tables can be organized using the MOLAP approach (first approach) and can contain only an index and one master value (the intersection or summary value in the MOLAP cube). In another embodiment, the tables may be organized using an enhanced MOLAP approach (second approach) by containing an index and a master value, and also having an additional value (which can be an index to a different database/schema for additional drilling, description, etc.). In yet another embodiment, the tables can be organized using a further enhanced MOLAP approach (third approach) and can contain an index, a master value, and additional multiple values or details formatted as a flat table. Such a flat table may use row delimiters and be compacted into a row size. For example, below is an exemplary Table 1:
Table 1 can be converted into a single row using row delimiters as follows:
In still alternative embodiments, a combination of the above table organization approaches can be used for different reporting planes. For example, the first approach may be used for the top planes of the pyramid, the second approach can be used for middle level planes where slightly more details are desirable, and the third approach may used for the base of the pyramid where unsummarized data is contained or as a basis for data mining (e.g., storing statistics or drilling metadata in the flat table).
The drill-down tool 206 processes ad-hoc drill-down requests submitted by end users for any data elements selected in the report. In particular, the drill-down tool 206 receives a drill-down request, moves down to a next reporting level and accesses the table associated with this next reporting level to provide requested data.
The datamining tool 207 provides real time statistical analysis for data included in the report. In one embodiment, the datamining tool 207 allows a user to select a value in a report associated with a specific pyramid level and to request datamining of lower level data pertaining to the value from the report. In response to the user request, the datamining tool 207 provides a user interface (UI) that allows a user to specify a datamining function (e.g., linear regression, quantile regression, covariance, Pearson Product-Moment correlation, correlation coefficient, standard deviation, variance, distributions tests, etc.) to be performed on the lower level data, and to select dimensions inside the pyramid as statistical variables for use in datamining. In response, the datamining tool 207 creates a query based on the selected dimensions and the criteria used in the creation of the original report, and executes the query to obtain the lower level data that pertains to the selected dimensions and matches the criteria. Next, the datamining tool 207 applies the user-specified datamining function to the returned data and provides the result of this datamining to the report builder 204, which creates a report showing the datamining results, and displays this report to the user.
Referring to
At block 306, processing logic determines which dimensions can be used as statistical variables for the datamining function, and displays a list these dimensions to the user. The displayed dimensions represent the dimensions that were originally used for the creation of the report, and can independent dimensions that do not depend on any other dimensions (e.g., date, time, etc.) or dependent dimensions that depend on some other dimensions (e.g., a city dimension may depend on a state dimension to remain valid such as Cleveland Utah and Cleveland Ohio).
At block 308, processing logic receives user selection of the dimensions from the list. At block 310, processing logic identifies criteria for retrieving the lower level data from the production database(s). In one embodiment, the criteria includes parameters used for the original report. In addition, the criteria may include a user-specified pyramid level of the lower level data, or use the lowest level of the reporting pyramid as a default (e.g., transactional data from the transactional database and/or detailed data such as data described above in conjunction with Table 1).
At block 312, processing logic creates a query or a database API call based on the selected dimensions and the criteria. At block 314, processing logic submits the query or the API database call to one or more source databases (e.g., transaction database). At block 316, processing logic performs datamining by applying the user-specified function to the returned dataset. At block 318, processing logic creates a datamining report based on the datamining result.
Referring to
At block 412, processing logic prompts the user for a desired datamining function. At block 414, processing logic displays variable dimensions available based on the pyramid level used for the report. At block 416, processing logic receives the user's selection of the variable dimensions. At block 418, processing logic restates the criteria from the original report to the user.
Upon receiving a confirmation of the datamining request from the user (block 420), processing logic executes a query created based on the selected dimensions and the criteria (block 422). At block 424, processing logic performs the user-specified statistical function on the returned dataset. At block 426, processing logic creates a datamining report based on the datamining results.
If the user confirms the datamining request (e.g., via a designated button (not shown)), UI 530 of
Referring to
The exemplary computer system 700 includes a processor 702, a main memory 704 (e.g., read-only memory (ROM), flash memory, dynamic random access memory (DRAM) such as synchronous DRAM (SDRAM) or Rambus DRAM (RDRAM), etc.), a static memory 706 (e.g., flash memory, static random access memory (SRAM), etc.), and a secondary memory 718 (e.g., a data storage device), which communicate with each other via a bus 730.
Processor 702 represents one or more general-purpose processing devices such as a microprocessor, central processing unit, or the like. More particularly, the processor 702 may be a complex instruction set computing (CISC) microprocessor, reduced instruction set computing (RISC) microprocessor, very long instruction word (VLIW) microprocessor, processor implementing other instruction sets, or processors implementing a combination of instruction sets. Processor 702 may also be one or more special-purpose processing devices such as an application specific integrated circuit (ASIC), a field programmable gate array (FPGA), a digital signal processor (DSP), network processor, or the like. Processor 702 is configured to execute the processing logic 726 for performing the operations and steps discussed herein.
The computer system 700 may further include a network interface device 708. The computer system 700 also may include a video display unit 710 (e.g., a liquid crystal display (LCD) or a cathode ray tube (CRT)), an alphanumeric input device 712 (e.g., a keyboard), a cursor control device 714 (e.g., a mouse), and a signal generation device 716 (e.g., a speaker).
The secondary memory 718 may include a machine-readable storage medium (or more specifically a computer-readable storage medium) 731 on which is stored one or more sets of instructions (e.g., software 722) embodying any one or more of the methodologies or functions described herein. The software 722 may also reside, completely or at least partially, within the main memory 704 and/or within the processing device 702 during execution thereof by the computer system 700, the main memory 704 and the processing device 702 also constituting machine-readable storage media. The software 722 may further be transmitted or received over a network 720 via the network interface device 708.
While the machine-readable storage medium 831 is shown in an exemplary embodiment to be a single medium, the term “machine-readable storage medium” should be taken to include a single medium or multiple media (e.g., a centralized or distributed database, and/or associated caches and servers) that store the one or more sets of instructions. The term “machine-readable storage medium” shall also be taken to include any medium that is capable of storing or encoding a set of instructions for execution by the machine and that cause the machine to perform any one or more of the methodologies of the present invention. The term “machine-readable storage medium” shall accordingly be taken to include, but not be limited to, solid-state memories, and optical and magnetic media.
Many other embodiments will be apparent to those of skill in the art upon reading and understanding the above description. The scope of the invention should, therefore, be determined with reference to the appended claims, along with the full scope of equivalents to which such claims are entitled.
Although the present invention has been described with reference to specific exemplary embodiments, it will be recognized that the invention is not limited to the embodiments described, but can be practiced with modification and alteration within the spirit and scope of the appended claims. Accordingly, the specification and drawings are to be regarded in an illustrative sense rather than a restrictive sense.
Number | Name | Date | Kind |
---|---|---|---|
5278951 | Camacho et al. | Jan 1994 | A |
5657437 | Bishop et al. | Aug 1997 | A |
5819273 | Vora et al. | Oct 1998 | A |
5850388 | Anderson et al. | Dec 1998 | A |
5918232 | Pouschine et al. | Jun 1999 | A |
6092050 | Lungren et al. | Jul 2000 | A |
6377287 | Hao et al. | Apr 2002 | B1 |
6581068 | Bensoussan et al. | Jun 2003 | B1 |
6611846 | Stoodley | Aug 2003 | B1 |
6671680 | Iwamoto et al. | Dec 2003 | B1 |
6704721 | Hellerstein | Mar 2004 | B1 |
6775675 | Nwabueze et al. | Aug 2004 | B1 |
6885734 | Eberle et al. | Apr 2005 | B1 |
6985872 | Benbassat et al. | Jan 2006 | B2 |
6993533 | Barnes | Jan 2006 | B1 |
6996568 | Bedell et al. | Feb 2006 | B1 |
7069263 | Yee et al. | Jun 2006 | B1 |
7181422 | Philip et al. | Feb 2007 | B1 |
7181438 | Szabo | Feb 2007 | B1 |
7185279 | Machalek | Feb 2007 | B2 |
7197508 | Brown, III | Mar 2007 | B1 |
7216086 | Grosvenor et al. | May 2007 | B1 |
7225113 | Rothschild | May 2007 | B2 |
7304662 | Sullivan et al. | Dec 2007 | B1 |
7318006 | You et al. | Jan 2008 | B2 |
7356779 | Cras et al. | Apr 2008 | B2 |
7433885 | Jones | Oct 2008 | B2 |
7441197 | Tschiegg et al. | Oct 2008 | B2 |
7505888 | Legault et al. | Mar 2009 | B2 |
7529727 | Arning et al. | May 2009 | B2 |
7571182 | Eddy | Aug 2009 | B1 |
7631020 | Wei et al. | Dec 2009 | B1 |
7639609 | Bolt et al. | Dec 2009 | B2 |
7698349 | Hulen et al. | Apr 2010 | B2 |
7716257 | Thomson et al. | May 2010 | B2 |
7800613 | Hanrahan et al. | Sep 2010 | B2 |
7801929 | Williamson | Sep 2010 | B2 |
7945850 | Machalek | May 2011 | B2 |
7966322 | Clover | Jun 2011 | B2 |
8019679 | Bennett et al. | Sep 2011 | B2 |
8099383 | Naibo et al. | Jan 2012 | B2 |
8150879 | Williamson et al. | Apr 2012 | B2 |
8204809 | Wise | Jun 2012 | B1 |
8468085 | Cao et al. | Jun 2013 | B1 |
20010018694 | Iwamoto et al. | Aug 2001 | A1 |
20010054034 | Arning et al. | Dec 2001 | A1 |
20020013786 | Machalek | Jan 2002 | A1 |
20020016771 | Carothers et al. | Feb 2002 | A1 |
20020183965 | Gogolak | Dec 2002 | A1 |
20030101067 | Duran et al. | May 2003 | A1 |
20030139827 | Phelps | Jul 2003 | A1 |
20030187716 | Lee | Oct 2003 | A1 |
20030217074 | Wallace | Nov 2003 | A1 |
20040122844 | Malloy et al. | Jun 2004 | A1 |
20040153435 | Gudbjartsson et al. | Aug 2004 | A1 |
20050010565 | Cushing et al. | Jan 2005 | A1 |
20050044079 | Abineri et al. | Feb 2005 | A1 |
20050080802 | Cras et al. | Apr 2005 | A1 |
20050091206 | Koukerdjinian et al. | Apr 2005 | A1 |
20050171833 | Jost et al. | Aug 2005 | A1 |
20050192963 | Tschiegg et al. | Sep 2005 | A1 |
20050262047 | Wu et al. | Nov 2005 | A1 |
20060004830 | Lora et al. | Jan 2006 | A1 |
20060031110 | Benbassat et al. | Feb 2006 | A1 |
20060031209 | Ahlberg et al. | Feb 2006 | A1 |
20060111874 | Curtis et al. | May 2006 | A1 |
20060112070 | Ramos | May 2006 | A1 |
20060117057 | Legault et al. | Jun 2006 | A1 |
20060149778 | Clover | Jul 2006 | A1 |
20060156967 | You et al. | Jul 2006 | A1 |
20060245470 | Balachandran et al. | Nov 2006 | A1 |
20060271884 | Hurst | Nov 2006 | A1 |
20060282474 | MacKinnon, Jr. | Dec 2006 | A1 |
20070055596 | Yankovich et al. | Mar 2007 | A1 |
20070129997 | Davies | Jun 2007 | A1 |
20070130517 | Wu | Jun 2007 | A1 |
20070143661 | Machalek | Jun 2007 | A1 |
20070150862 | Naibo et al. | Jun 2007 | A1 |
20070156677 | Szabo | Jul 2007 | A1 |
20070156718 | Hossfeld et al. | Jul 2007 | A1 |
20070192143 | Krishnan et al. | Aug 2007 | A1 |
20070192724 | Devore et al. | Aug 2007 | A1 |
20070203770 | Grosvenor et al. | Aug 2007 | A1 |
20070219972 | Cragun et al. | Sep 2007 | A1 |
20070250466 | Imrapur et al. | Oct 2007 | A1 |
20070255574 | Polo-Malouvier et al. | Nov 2007 | A1 |
20070255681 | Tien et al. | Nov 2007 | A1 |
20070282673 | Nagpal et al. | Dec 2007 | A1 |
20070291757 | Dobson et al. | Dec 2007 | A1 |
20080005674 | Wattenberg et al. | Jan 2008 | A1 |
20080033587 | Kurita et al. | Feb 2008 | A1 |
20080040309 | Aldridge | Feb 2008 | A1 |
20080086716 | Devore et al. | Apr 2008 | A1 |
20080133568 | Grosset et al. | Jun 2008 | A1 |
20080133582 | Andersch et al. | Jun 2008 | A1 |
20080175150 | Bolt et al. | Jul 2008 | A1 |
20080175478 | Wentland et al. | Jul 2008 | A1 |
20080248875 | Beatty | Oct 2008 | A1 |
20080294996 | Hunt et al. | Nov 2008 | A1 |
20080306784 | Rajkumar et al. | Dec 2008 | A1 |
20080307430 | Friedlander et al. | Dec 2008 | A1 |
20090006455 | Carroll | Jan 2009 | A1 |
20090012983 | Senneville et al. | Jan 2009 | A1 |
20090018996 | Hunt et al. | Jan 2009 | A1 |
20090055467 | Petersen | Feb 2009 | A1 |
20090106290 | Rivard | Apr 2009 | A1 |
20090164508 | Legault et al. | Jun 2009 | A1 |
20090171606 | Murata et al. | Jul 2009 | A1 |
20090193050 | Olson | Jul 2009 | A1 |
20090222470 | Kemp et al. | Sep 2009 | A1 |
20090234710 | Belgaied Hassine et al. | Sep 2009 | A1 |
20090259501 | Poissant | Oct 2009 | A1 |
20090300533 | Williamson | Dec 2009 | A1 |
20090313268 | Folting et al. | Dec 2009 | A1 |
20100057756 | Williamson | Mar 2010 | A1 |
20100057764 | Williamson | Mar 2010 | A1 |
20100125813 | Choudhury | May 2010 | A1 |
20100138449 | Williamson | Jun 2010 | A1 |
20100332583 | Szabo | Dec 2010 | A1 |
Entry |
---|
Microsoft SQL Server 2005, “Microsoft SQL Server 2005 Data Mining Add-Ins for Office 2007”, 2007, 11 pages, accessed online at <http://www.sqlserverdatamining.com/ssdm/Home/DataMiningAddinsLaunch/tabid/69/Default.aspx> on Sep. 22, 2011. |
IBM, Statistical Functions, 2 pages, copyright 1989-2011, accessed online at <http://publib.boulder.ibm.com/infocenter/spssstat/v20r0m0/index.jsp?topic=%2Fcom.ibm.spss.statistics.help%2Fsyn—transformation—expressions—statistical—Junctions.htm> on Jul. 10, 2013. |
Robinson, M., “Developing Report Navigation and Drilldown”, SQL Server 2005, Aug. 2006, 13 pages, accessed online at <http://msdn.microsoft.com/en-us/library/aa964132(d=printer,v=sql.90).aspx> on Jul. 10, 2013. |
Report Studio User Guide 10.1.0, “Using Drill-Through Access”, IBM, last updated Oct. 20, 2010, 3 pages, accessed online at <http://pic.dhe.ibm.com/infocenter/cbi/v10r1m0/index.jsp?topic=%2Fcom.ibm.swg.im.cognos.ug—cr—rptstd.10.1.0.doc%2Fug—cr—rptstd—id28247cr—rptstd—modrep—drill—through—acce.html> on Jul. 10, 2013. |
Shapiro, A., “Analysis Services: Choosing Dimension Types in SQL Server 2000 Analysis Services”, SQL Server 2000, Jul. 2000, 23 pages, accessed online at <http://msdn.microsoft.com/en-us/library/aa902636(d=printer,v=sql.80).aspx> on Jul. 10, 2013. |
Notice of Allowance for U.S. Appl. No. 12/074,035, mailed on May 24, 2010. |
Office Action for U.S. Appl. No. 12/156,309, mailed on Jun. 23, 2011. |
Office Action for U.S. Appl. No. 12/156,309, mailed on Nov. 30, 2011. |
Office Action for U.S. Appl. No. 12/202,087, mailed on Mar. 15, 2011. |
Office Action for U.S. Appl. No. 12/202,087, mailed on Aug. 31, 2011. |
Office Action for U.S. Appl. No. 12/325,235, mailed on Sep. 22, 2011. |
Office Action for U.S. Appl. No. 12/202,077, mailed on Feb. 17, 2011. |
Office Action for U.S. Appl. No. 12/202,077, mailed on Aug. 3, 2011. |
Notice of Allowance for U.S. Appl. No. 12/202,077, mailed on Nov. 25, 2011. |
Shapiro, Adam, Analysis Services: Choosing Dimension Types in SQL Server 2000 Analysis Services, Jul. 19, 2001, Microsoft, 1-15. |
Red Hat Office Action for U.S. Appl. No. 12/325,235, mailed on Nov. 6, 2012. |
Red Hat Office Action for U.S. Appl. No. 12/325,235, mailed on Jun. 28, 2012. |
Red Hat Office Action for U.S. Appl. No. 12/325,235, mailed on Sep. 22, 2011 |
Number | Date | Country | |
---|---|---|---|
20100057684 A1 | Mar 2010 | US |